
یہ حکمت عملی قیمتوں کے ٹوٹنے کی سمت اور طاقت کا تعین کرنے کے لئے لیمپ اشارے کا استعمال کرتی ہے ، جس سے خرید و فروخت کے اشارے پیدا ہوتے ہیں۔ یہ صرف خرید و فروخت کا کام کرتا ہے۔
یہ حکمت عملی چراغ اشارے پر مبنی ہے ، چراغ اشارے قیمت کی اعلی ترین ، کم ترین قیمت اور اوسط حقیقی اتار چڑھاؤ کی پیمائش پر مبنی اسٹاپ نقصان کی لائن قائم کرتا ہے۔ خاص طور پر ، حکمت عملی 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")