کینٹیلیور لائن ایگزٹ ٹریڈنگ حکمت عملی کے ساتھ مل کر زیرو لیگ سپر امپوزڈ موونگ ایوریج


تخلیق کی تاریخ: 2024-01-22 10:03:05 آخر میں ترمیم کریں: 2024-01-22 10:03:05
کاپی: 0 کلکس کی تعداد: 1897
1
پر توجہ دیں
1617
پیروکار

کینٹیلیور لائن ایگزٹ ٹریڈنگ حکمت عملی کے ساتھ مل کر زیرو لیگ سپر امپوزڈ موونگ ایوریج

جائزہ

اس حکمت عملی کا بنیادی خیال یہ ہے کہ صفر تاخیر سے چلنے والی اوسط ((ZLSMA) اشارے کو جوڑ کر رجحان کی سمت کا تعین کیا جائے ، اور ہلکی لائن سے باہر نکلنے والے ((CE) اشارے کو زیادہ درست اندراج اور باہر نکلنے کے وقت کی تلاش کے لئے۔ ZLSMA ایک رجحان کا اشارہ ہے ، جو رجحان میں تبدیلی کا پہلے سے ہی تعین کرسکتا ہے۔ اے ٹی آر کا حساب کتاب کرکے سی ای کو متحرک طور پر باہر نکلنے کی پوزیشن کو ایڈجسٹ کیا جاسکتا ہے ، تاکہ اسٹاپ نقصان کو مؤثر طریقے سے کنٹرول کیا جاسکے۔ یہ حکمت عملی بنیادی طور پر درمیانی مختصر لائن آپریشن کے لئے موزوں ہے۔

حکمت عملی کا اصول

  1. ZLSMA سیکشن:

    • لکیری رجعت کے طریقہ کار کا استعمال کرتے ہوئے 130 دوروں کی لمبائی کی ایل ایم اے لائنوں کا حساب لگائیں۔
    • اس کے بعد دو LMA لائنوں کو ایک دوسرے پر چڑھایا جاتا ہے تاکہ ایک فرق حاصل کیا جاسکے جس کی قدر Eq کو دی گئی ہو۔
    • آخر میں ، پہلے سے موجود ایل ایم اے لائن کے ذریعے مساوات کا فرق شامل کریں ، اور صفر تاخیر سے لیپلیٹڈ حرکت پذیر اوسط ZLSMA تشکیل دیں۔
  2. سی ای سیکشن:

    • اے ٹی آر کے اشارے کا حساب لگائیں اور متحرک فاصلے کو قریب ترین اونچائی یا کم سے طے کرنے کے ل ((ڈیفالٹ 2) کو ایک فیکٹر کے ساتھ ضرب دیں۔
    • جب اختتامی قیمت قریب ترین کثیر سر اسٹاپ لائن یا خالی سر اسٹاپ لائن سے تجاوز کر جائے تو اس اسٹاپ لائن کو اسی کے مطابق ایڈجسٹ کریں۔
    • اسٹاپ نقصان کی لائن کے مقابلے میں اختتامی قیمت کی پوزیشن کی تبدیلی کے مطابق زیادہ کم ڈائریکشن کریں۔
  3. داخلہ کا وقت:

    • ZLSMA رجحان کی سمت کا تعین کرتا ہے اور سی ای سگنل پر داخل ہوتا ہے۔
  4. باہر نکلنے کا نقصان:

    • لمبی لائنوں میں فکسڈ سٹاپ نقصان اور روک تھام ہوتی ہے۔
    • شارٹ لائن سی ای کے متحرک آؤٹ پٹ کی جگہ فکسڈ اسٹاپ نقصان۔

طاقت کا تجزیہ

  1. ZLSMA رجحانات کا اندازہ لگانے اور جعلی توڑ سے بچنے میں مدد کرتا ہے۔
  2. سی ای مارکیٹ میں اتار چڑھاؤ کی سطح کے مطابق برآمد کے مقامات کو لچکدار بنا سکتا ہے۔
  3. حکمت عملی کے خطرے کے منافع کا تناسب اپنی مرضی کے مطابق ہے۔
  4. لمبی اور مختصر لائنوں میں سٹاپ نقصان روکنے کا طریقہ کار مختلف ہے، جس سے خطرے پر قابو پایا جا سکتا ہے۔

خطرے کا تجزیہ

  1. پیرامیٹرز کی غلط ترتیب سے ان پٹ کی شرح میں اضافہ ہوسکتا ہے یا اسٹاپ نقصان کی حد میں توسیع ہوسکتی ہے۔
  2. اگر حالات تیزی سے تبدیل ہوجاتے ہیں تو ، اس خطرے کا خطرہ ہے کہ اسٹاپ نقصان کو توڑ دیا جائے گا۔

اصلاح کی سمت

  1. مختلف مارکیٹوں اور ٹائم فریموں کے لئے پیرامیٹرز کی اصلاح کی جانچ کی جاسکتی ہے۔
  2. اتار چڑھاؤ کی شرح یا مخصوص دورانیے کے مطابق سٹاپ اسٹاپ نقصان پیرامیٹرز کو ایڈجسٹ کرنے پر غور کیا جاسکتا ہے۔
  3. اس کے علاوہ، آپ دوسرے اشارے یا ماڈل کے ساتھ انضمام کی کوشش کر سکتے ہیں تاکہ آپ کو زیادہ منافع مل سکے.

خلاصہ کریں۔

یہ حکمت عملی بنیادی طور پر رجحان کی سمت کا تعین کرنے کے لئے صفر تاخیر کے ساتھ مل کر چلنے والی اوسط کا استعمال کرتی ہے ، جس میں زیادہ درست اندراج اور باہر نکلنے کا وقت تلاش کرنے کے لئے سلائی لائن آؤٹ پٹ اشارے شامل ہیں۔ حکمت عملی کا فائدہ یہ ہے کہ اسٹاپ نقصان کی روک تھام کی تناسب کو اپنی مرضی کے مطابق کیا جاسکتا ہے ، اور سلائی لائن آؤٹ پٹ کو مارکیٹ کی صورتحال کے مطابق متحرک طور پر ایڈجسٹ کیا جاسکتا ہے تاکہ خطرے کو کنٹرول کیا جاسکے۔ اگلے مرحلے میں ، استحکام اور منافع کو مزید بڑھانے کے لئے پیرامیٹرز کی اصلاح اور حکمت عملی کے مجموعے کی کوشش کی جاسکتی ہے۔

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 3m
basePeriod: 1m
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/
// © GGkurg

//@version=5

strategy(title = "ZLSMA + Chandelier Exit", shorttitle="ZLSMA + CE", overlay=true)


var GRP1 = "take profit / stop loss"
TP = input(title='long TP%', defval=2.0,   inline = "1", group = GRP1) 
SL = input(title='long SL%', defval=2.0,    inline = "1", group = GRP1) 
TP2 = input(title='short TP', defval=2.0,    inline = "2", group = GRP1) 
SL2 = input(title='short SL', defval=2.0,    inline = "2", group = GRP1) 
//-------------------------------------------------calculations
takeProfitPrice = strategy.position_avg_price * (1+(TP/100))
stopLossPrice = strategy.position_avg_price * (1-(SL/100))
takeProfitPrice2 = strategy.position_avg_price * (1-(TP2/100))
stopLossPrice2 = strategy.position_avg_price * (1+(SL2/100))


//---------------------------------------ZLSMA - Zero Lag LSMA
var GRP2 = "ZLSMA settings"
length1 = input(title='Length', defval=130, inline = "1", group = GRP2) 
offset1 = input(title='Offset', defval=0, inline = "2", group = GRP2) 
src = input(close, title='Source', inline = "3", group = GRP2) 
lsma = ta.linreg(src, length1, offset1)
lsma2 = ta.linreg(lsma, length1, offset1)
eq = lsma - lsma2
zlsma = lsma + eq

plot(zlsma, color=color.new(color.yellow, 0), linewidth=3)


//---------------------------------------ZLSMA conditisions 
//---------long
longc1 = close > zlsma
longclose1 = close < zlsma
//---------short
shortc1 = close < zlsma
shortclose1 = close > zlsma


//---------------------------------------Chandelier Exit
var string calcGroup = 'Chandelier exit settings'
length = input.int(title='ATR Period', defval=1, group=calcGroup)
mult = input.float(title='ATR Multiplier', step=0.1, defval=2.0, group=calcGroup)
useClose = input.bool(title='Use Close Price for Extremums', defval=true, group=calcGroup)

var string visualGroup = 'Visuals'
showLabels = input.bool(title='Show Buy/Sell Labels', defval=true, group=visualGroup)
highlightState = input.bool(title='Highlight State', defval=true, group=visualGroup)

var string alertGroup = 'Alerts'
awaitBarConfirmation = input.bool(title="Await Bar Confirmation", defval=true, group=alertGroup)

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
var color longFillColor = color.new(color.green, 90)
var color shortFillColor = color.new(color.red, 90)
var color textColor = color.new(color.white, 0)

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=textColor)

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=textColor)

midPricePlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0, display=display.none, editable=false)

longStateFillColor = highlightState ? dir == 1 ? longFillColor : na : na
shortStateFillColor = highlightState ? dir == -1 ? shortFillColor : na : na
fill(midPricePlot, longStopPlot, title='Long State Filling', color=longStateFillColor)
fill(midPricePlot, shortStopPlot, title='Short State Filling', color=shortStateFillColor)

await = awaitBarConfirmation ? barstate.isconfirmed : true
alertcondition(dir != dir[1] and await, title='Alert: CE Direction Change', message='Chandelier Exit has changed direction!')
alertcondition(buySignal and await, title='Alert: CE Buy', message='Chandelier Exit Buy!')
alertcondition(sellSignal and await, title='Alert: CE Sell', message='Chandelier Exit Sell!')




//---------------------------------------Chandelier Exit conditisions 
//---------long
longc2 = buySignal
longclose2 = sellSignal
//---------short
shortc2 = sellSignal
shortclose2 = buySignal



//---------------------------------------Long entry and exit
if longc1 and longc2 
    strategy.entry("long", strategy.long)

if strategy.position_avg_price > 0
    strategy.exit("close long", "long", limit = takeProfitPrice, stop = stopLossPrice, alert_message = "close all orders")

if longclose1 and longclose2 and strategy.opentrades == 1
    strategy.close("long","ema long cross", alert_message = "close all orders")


//---------------------------------------Short entry and exit
if shortc1 and shortc2 
    strategy.entry("short", strategy.short)

if strategy.position_avg_price > 0
    strategy.exit("close short", "short", limit = takeProfitPrice2, stop = stopLossPrice2, alert_message = "close all orders")

if shortclose1 and shortclose2 and strategy.opentrades == 1
    strategy.close("close short","short", alert_message = "close all orders")