رجحان کی گرفت کی حکمت عملی ایک ایسی حکمت عملی ہے جس میں رجحانات کا پتہ لگانے اور رجحانات کی سمت میں پوزیشن کھولنے کے لئے ایک منفرد طریقہ استعمال کیا جاتا ہے۔ اس میں ایک خاص حد کے اندر سب سے زیادہ قیمت اور سب سے کم قیمت کے فرق کو اس حد میں تمام K لائنوں کی لمبائی کے مجموعی تناسب سے حساب کیا جاتا ہے ، جس کی وجہ سے “حد” کہا جاتا ہے۔ اس قدر کے قریب جتنا 100 ہوتا ہے ، اس کا مطلب یہ ہے کہ رجحان مضبوط ہوتا ہے۔ جب یہ قیمت مقررہ حد سے تجاوز کرتی ہے اور منتقل اوسط اوپر کی طرف جاتا ہے تو ، حکمت عملی ایک کثیر کھلتی ہے۔ جب یہ قیمت مقررہ حد سے تجاوز کرتی ہے اور منتقل اوسط نیچے کی طرف جاتا ہے تو ، حکمت عملی خالی کھلتی ہے۔ پوزیشن کھلنے کے بعد ، حکمت عملی پوزیشن کا ایک حصہ ختم کردیتی ہے جب قیمت ایک خاص سطح تک پہنچ جاتی ہے اور باقی پوزیشن کو رجحان کے اختتام پر منتقل کردیتی ہے۔
رجحان پکڑنے کی حکمت عملی رجحان کی تشکیل کا پتہ لگانے اور رجحان کی سمت میں پوزیشن کھولنے کے لئے ایک انوکھا طریقہ استعمال کرتی ہے۔ یہ رجحان کی طاقت کا اندازہ لگانے کے لئے حد کی قیمتوں کا حساب لگاتا ہے ، اور رجحان کے اختتام کا اندازہ لگانے کے لئے منتقل اوسط کا استعمال کرتا ہے۔ حکمت عملی کے بعد پوزیشن کھولنے کے بعد کچھ پوزیشنوں کو ختم کرکے اور اسٹاپ نقصان کی جگہ کو منتقل کرکے خطرے کو کنٹرول کرتی ہے۔ تاہم ، حکمت عملی کو رجحان کے آغاز میں پوزیشن لگانے کا خطرہ لاحق ہوسکتا ہے۔
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © faytterro
//@version=5
strategy("Trend Catcher Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
len = input.int(10)
tp = input.float(2.5, step = 0.1)
sl = input.float(2.5, step = 0.1)
malen = input.int(5)
limit = input.int(50)
ma = ta.sma(close,malen)
sum = 0.0
for i = 0 to len-1
sum := sum + high[i]-low[i]
frs = 100*(ta.highest(high,len)-ta.lowest(low,len))/sum
//hline(50)
//plot(frs, color = color.white)
l = ta.crossover(frs,limit) and ma>ma[1]
s = ta.crossover(frs,limit) and ma<ma[1]
cl = ma<ma[1]
cs = ma>ma[1]
qty_balance=input.int(50, maxval = 100)
if (l)
strategy.entry("My Long Entry Id", strategy.long)
strategy.exit("exit long", "My Long Entry Id", qty_percent = qty_balance, limit = close*(100+tp)/100, stop = close*(100-sl)/100)
if (s)
strategy.entry("My Short Entry Id", strategy.short)
strategy.exit("exit short", "My Short Entry Id", qty_percent = qty_balance, limit = close*(100-tp)/100, stop = close*(100+sl)/100)
if (cl)
strategy.close("My Long Entry Id")
if (cs)
strategy.close("My Short Entry Id")
l:= l and strategy.opentrades<1
s:= s and strategy.opentrades<1
transp = strategy.opentrades>0? 0 : 100
pma=plot(ma, color = ma<ma[1]? color.rgb(255, 82, 82, transp) : color.rgb(76, 175, 79, transp))
price = open/2+close/2
pprice = plot(price, display = display.none)
fill(pma,pprice, color = ma<ma[1]? color.rgb(255, 82, 82, transp+90) : color.rgb(76, 175, 79, transp+90))
spm=plot(ta.valuewhen(s,close,0), color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.white : color.rgb(1,1,1,100), offset=1)
lpm=plot(ta.valuewhen(l,close,0), color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.white : color.rgb(1,1,1,100), offset=1)
ltp=plot(ta.valuewhen(l,close,0)*(100+ta.valuewhen(l,tp,0))/100, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
lsl=plot(ta.valuewhen(l,close,0)*(100-ta.valuewhen(l,sl,0))/100, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.red : color.rgb(1,1,1,100), offset=1)
stp=plot(ta.valuewhen(s,close,0)*(100-ta.valuewhen(s,tp,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.green : color.rgb(1,1,1,100), offset=1)
ssl=plot(ta.valuewhen(s,close,0)*(100+ta.valuewhen(s,sl,0))/100, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.red : color.rgb(1,1,1,100), offset=1)
fill(stp,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(ssl,spm, color = (strategy.opentrades>0 and ma<ma[1] and ma[1]<ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))
fill(ltp,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(76, 175, 79, 90) : color.rgb(1,1,1,100))
fill(lsl,lpm, color = (strategy.opentrades>0 and ma>ma[1] and ma[1]>ma[2])? color.rgb(255, 82, 82, 90) : color.rgb(1,1,1,100))