
یہ حکمت عملی سپر ٹرینڈ اشارے پر مبنی ہے ، جو اے ٹی آر کے ساتھ مل کر اسٹاپ نقصان کی لائن کو متحرک طور پر طے کرتی ہے ، تاکہ ایتھروئن کے مضبوط رجحان میں فائدہ اٹھایا جاسکے۔ یہ کوئین بیس ایکسچینج پر ETH/USD ٹریڈنگ جوڑی پر چل سکتا ہے۔
یہ حکمت عملی ایک کلاسیکی رجحان ٹریکنگ اشارے اور سپر ٹرینڈ اشارے کا استعمال کرتی ہے تاکہ رجحان کی سمت کا فیصلہ کیا جاسکے۔ سپر ٹرینڈ اشارے دو منحنی خطوط پر مشتمل ہیں:
جب قیمت بڑھتی ہوئی رجحان سے بڑھتی ہوئی رجحان میں بدل جاتی ہے تو ، خالی پوزیشن کھولیں۔ جب قیمت بڑھتی ہوئی رجحان سے بڑھتی ہوئی رجحان میں بدل جاتی ہے تو ، کثیر پوزیشن کھولیں۔
اس کے علاوہ ، حکمت عملی اسٹاپ لائن کی پوزیشن کو متحرک طور پر ایڈجسٹ کرنے کے لئے اے ٹی آر اشارے کا استعمال کرتی ہے۔ خاص طور پر ، اسٹاپ لائن کی پوزیشن کو اوپر جانے والی قیمت کو کم سے کم قیمت کے مقابلے میں اے ٹی آر کے ایک فیکٹر سے کم کیا جاتا ہے۔ اسٹاپ لائن کی پوزیشن کو نیچے جانے والی قیمت کو کم سے کم قیمت کے مقابلے میں اے ٹی آر کے ایک فیکٹر سے زیادہ کیا جاتا ہے۔ اس طرح اسٹاپ لائن کو مارکیٹ میں اتار چڑھاؤ کی حد کے مطابق ایڈجسٹ کیا جاسکتا ہے۔
داخل ہونے کے بعد ، اگر قیمت دوبارہ اسٹاپ نقصان کی لائن کو توڑ دیتی ہے تو ، اسٹاپ نقصان سے باہر نکلیں۔
یہ ایک پختہ رجحانات کی نگرانی کی حکمت عملی ہے جس میں مندرجہ ذیل فوائد ہیں:
اس حکمت عملی کے کچھ خطرات بھی ہیں:
مذکورہ بالا خطرات کو کم کرنے کے لئے ، اے ٹی آر فیکٹر کو مناسب طریقے سے ایڈجسٹ کیا جاسکتا ہے ، یا دوسرے اشارے کے ساتھ مل کر ٹریڈنگ سگنل کو فلٹر کیا جاسکتا ہے۔ اسٹاپ نقصان کی پوزیشن کو کچھ حد تک تحفظ دینے پر بھی غور کیا جاسکتا ہے۔
اس حکمت عملی میں مزید اصلاحات کی گنجائش موجود ہے:
یہ حکمت عملی مجموعی طور پر ایک پختہ اور قابل اعتماد ٹرینڈ ٹریکنگ حکمت عملی ہے۔ یہ سپر ٹرینڈ اشارے کا استعمال کرتے ہوئے رجحان کی سمت کا تعین کرتی ہے اور خطرے کو کنٹرول کرنے کے لئے اے ٹی آر کا استعمال کرتے ہوئے نقصان کی پوزیشن کو ایڈجسٹ کرتی ہے۔ یہ حکمت عملی اعلی اتار چڑھاؤ والی ڈیجیٹل کرنسیوں کی تجارت کے لئے موزوں ہے اور ایتھریم جیسے بڑے پیمانے پر کرنسیوں پر بہتر کام کرتی ہے۔ مزید اصلاح کے ذریعہ ، حکمت عملی کو وسیع تر مارکیٹ میں لاگو کیا جاسکتا ہے ، جس سے زیادہ مستحکم اضافی منافع حاصل کیا جاسکتا ہے۔
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("SuperTrend Strategy",
overlay=true,
initial_capital=2e3,
process_orders_on_close=true,
commission_type=strategy.commission.percent,
commission_value=0.1
)
length = input(title="ATR Period", type=input.integer, defval=21)
mult = input(title="ATR Multiplier", type=input.float, step=.25, defval=6.2)
wicks = input(title="Take Wicks into Account ?", type=input.bool, defval=false)
useDate = input(title="Start from Specific Date ?", defval=false)
yearStart = input(title="Start Year", defval=2019)
monthStart = input(title="Start Month", minval=1, maxval=12, defval=1)
dayStart = input(title="Start Day", minval=1, maxval=31, defval=1)
startTime = timestamp(yearStart, monthStart, dayStart, 0, 0)
startFrom = useDate ? time(timeframe.period) >= startTime : true
atr = mult * ta.atr(length)
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := (wicks ? low[1] : close[1]) > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := (wicks ? high[1] : close[1]) < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and (wicks ? high : close) > shortStopPrev ? 1 : dir == 1 and (wicks ? low : close) < longStopPrev ? -1 : dir
longColor = color.green
shortColor = color.red
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=2, color=longColor)
plotshape(dir == 1 and dir[1] == -1 ? longStop : na, title="Long Start", location=location.absolute, style=shape.circle, size=size.tiny, color=longColor, transp=0)
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=2, color=shortColor)
plotshape(dir == -1 and dir[1] == 1 ? shortStop : na, title="Short Start", location=location.absolute, style=shape.circle, size=size.tiny, color=shortColor, transp=0)
longCondition = dir[1] == -1 and dir == 1
if longCondition and startFrom
strategy.entry("Long", strategy.long, stop=longStop)
else
strategy.cancel("Long")
shortCondition = dir[1] == 1 and dir == -1
if shortCondition and startFrom
strategy.entry("Short", strategy.short, stop=shortStop)
else
strategy.cancel("Short")