یہ حکمت عملی قیمتوں میں اضافے کی سمت اور رفتار کا تعین کرنے اور خرید و فروخت کے سگنل پیدا کرنے کے لئے چانڈلیئر ایگزٹ اشارے کا استعمال کرتی ہے۔ یہ صرف خرید کارروائیوں کو انجام دیتی ہے۔
یہ حکمت عملی چانڈلیئر ایگزٹ اشارے پر مبنی ہے جو سب سے زیادہ اونچائی ، سب سے کم کم اور اوسط حقیقی رینج کی بنیاد پر اسٹاپ نقصان کی لائنیں طے کرتا ہے۔ خاص طور پر ، یہ 22 دن کے اے ٹی آر کا حساب لگاتا ہے اور طویل اور مختصر اسٹاپ لائنوں کے لئے اقدار حاصل کرنے کے لئے ایک گتانک (ڈیفالٹ 3) سے ضرب کرتا ہے۔ یہ حکمت عملی فروخت کا اشارہ پیدا کرتی ہے جب قیمت لمبی اسٹاپ سے نیچے ہوتی ہے جب لمبی ہوتی ہے ، اور خریدنے کا اشارہ جب قیمت مختصر اسٹاپ سے اوپر ہوتی ہے جب مختصر ہوتی ہے۔
یہ حکمت عملی صرف خریدنے کے عمل کو انجام دیتی ہے۔ جب قیمت پچھلی لمبی اسٹاپ لائن سے اوپر ٹوٹ جاتی ہے تو یہ ایک طویل اندراج کو متحرک کرتی ہے ، اور جب قیمت مختصر اسٹاپ لائن سے نیچے آجاتی ہے تو ایک خارجی سگنل بناتی ہے ، جس سے لمبی پوزیشن بند ہوجاتی ہے۔
خطرے کو کم کرنا:
یہ حکمت عملی چانڈیلیئر ایگزٹ اشارے سے متحرک اسٹاپ لائنوں کا استعمال کرتے ہوئے الٹ جانے کے مواقع کی نشاندہی کرتی ہے۔ یہ لمبی اسٹاپ لائن کے اوپر والے وقفوں پر خریدتا ہے اور جب قیمتیں مختصر اسٹاپ لائن سے نیچے آجاتی ہیں تو فروخت کرتا ہے ، ایک سادہ یکطرفہ حکمت عملی کو نافذ کرتا ہے جو اوپر / نیچے کی الٹ جانے سے بچتا ہے۔ اس میں خطرہ کو مؤثر طریقے سے کنٹرول کیا جاتا ہے لیکن اس میں اسٹاپ نقصان اور منافع کی فراہمی کا فقدان ہوتا ہے۔ اصلاح کے مواقع میں فلٹرز اور اسٹاپ نقصان / منافع لینے کے طریقہ کار کو شامل کرنا شامل ہے تاکہ حکمت عملی کو زیادہ مضبوط بنایا جاسکے۔
/*backtest start: 2023-12-28 00:00:00 end: 2024-01-04 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Chandelier Exit Strategy", overlay=true) length = input(title='ATR Period', defval=22) mult = input.float(title='ATR Multiplier', step=0.1, defval=3.0) showLabels = input(title='Show Buy/Sell Labels ?', defval=true) useClose = input(title='Use Close Price for Extremums ?', defval=true) highlightState = input(title='Highlight State ?', defval=true) atr = mult * ta.atr(length) longStop = (useClose ? ta.highest(close, length) : ta.highest(length)) - atr longStopPrev = nz(longStop[1], longStop) longStop := close[1] > longStopPrev ? math.max(longStop, longStopPrev) : longStop shortStop = (useClose ? ta.lowest(close, length) : ta.lowest(length)) + atr shortStopPrev = nz(shortStop[1], shortStop) shortStop := close[1] < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop var int dir = 1 dir := close > shortStopPrev ? 1 : close < longStopPrev ? -1 : dir var color longColor = color.green var color shortColor = color.red longStopPlot = plot(dir == 1 ? longStop : na, title='Long Stop', style=plot.style_linebr, linewidth=2, color=color.new(longColor, 0)) buySignal = dir == 1 and dir[1] == -1 plotshape(buySignal ? longStop : na, title='Long Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(longColor, 0)) plotshape(buySignal and showLabels ? longStop : na, title='Buy Label', text='Buy', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(longColor, 0), textcolor=color.new(color.white, 0)) shortStopPlot = plot(dir == 1 ? na : shortStop, title='Short Stop', style=plot.style_linebr, linewidth=2, color=color.new(shortColor, 0)) sellSignal = dir == -1 and dir[1] == 1 plotshape(sellSignal ? shortStop : na, title='Short Stop Start', location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(shortColor, 0)) plotshape(sellSignal and showLabels ? shortStop : na, title='Sell Label', text='Sell', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(shortColor, 0), textcolor=color.new(color.white, 0)) changeCond = dir != dir[1] alertcondition(changeCond, title='Alert: CE Direction Change', message='Chandelier Exit has changed direction!') alertcondition(buySignal, title='Alert: CE Buy', message='Chandelier Exit Buy!') alertcondition(sellSignal, title='Alert: CE Sell', message='Chandelier Exit Sell!') // Define initial capital initial_capital =25 // Trigger buy order and close buy order on sell signal if buySignal strategy.entry("Buy", strategy.long, qty = initial_capital / close) if sellSignal strategy.close("Buy")