ملٹی انڈیکیٹر کا مجموعہ اے ٹی آر ٹریلنگ اسٹاپ نقصان ذہین تجارتی حکمت عملی

ATR EMA VWMA SMA JLines Cloud
تخلیق کی تاریخ: 2025-02-21 10:03:26 آخر میں ترمیم کریں: 2025-02-21 10:03:26
کاپی: 1 کلکس کی تعداد: 373
2
پر توجہ دیں
319
پیروکار

ملٹی انڈیکیٹر کا مجموعہ اے ٹی آر ٹریلنگ اسٹاپ نقصان ذہین تجارتی حکمت عملی ملٹی انڈیکیٹر کا مجموعہ اے ٹی آر ٹریلنگ اسٹاپ نقصان ذہین تجارتی حکمت عملی

جائزہ

یہ ایک ذہین تجارتی حکمت عملی ہے جس میں متعدد تکنیکی اشارے شامل ہیں ، بنیادی طور پر اے ٹی آر اشارے پر مبنی ٹریکنگ اسٹاپ نقصانات کو انجام دینے کے لئے۔ حکمت عملی میں ایک ہی وقت میں جی لائنز کلاؤڈ ((JLines Cloud) ، حجم تجزیہ اور کثیر جہتی تجزیاتی اشارے جیسے دن کے کھلنے کی قیمت شامل ہے ، خاص طور پر 3 منٹ اور 5 منٹ کے وقت کے دورانیے پر تجارت کرنے کے لئے موزوں ہے۔ یہ حکمت عملی اے ٹی آر کے ذریعے اسٹاپ نقصان کی پوزیشن کو متحرک طور پر ایڈجسٹ کرتی ہے ، رجحان کی سمت کا فیصلہ کرنے کے لئے ایک یکساں لائن سسٹم کے ساتھ مل کر ، ایک جامع تجارتی فیصلہ سازی کا نظام حاصل کرتی ہے۔

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

اس حکمت عملی کا مرکز اے ٹی آر (اوسط حقیقی طول موج) کے اشارے پر مبنی ٹریکنگ اسٹاپ سسٹم ہے۔ یہ 10 دورانیہ اے ٹی آر اور 2 گنا اے ٹی آر کے ضرب کو متحرک اسٹاپ لائن کا حساب لگانے کے لئے استعمال کرتا ہے۔ اس کے ساتھ ساتھ دو ٹائم پیریڈ کے جے لائنز کلاؤڈ سسٹم (7289 اوسط لائن کا مجموعہ) ، اور اختیاری 515 اوسط لائن سسٹم کو مربوط کیا گیا ہے۔ ٹریڈنگ سگنل کی پیداوار کو مندرجہ ذیل شرائط کو پورا کرنے کی ضرورت ہے۔

  1. اے ٹی آر نے اسٹاپ لائن کو توڑنے کا سراغ لگایا
  2. JLines Cloud کے رجحانات دو ٹائم فریموں میں ایک جیسے ہیں
  3. دن کے افتتاحی قیمت کے مقابلے میں قیمت کی پوزیشن
  4. غیر معمولی ٹرانزیکشن کی تصدیق

اسٹریٹجک فوائد

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

اسٹریٹجک رسک

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

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

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

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2025-02-13 00:00:00
end: 2025-02-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("AI trade Roney nifty value", overlay=true)

// User Inputs
atrPeriod = input.int(10, "ATR Period")
atrMultiplier = input.float(2, "ATR Multiplier")
target = input.float(40, "Target")
stopLoss = input.float(40, "Stop Loss")

// Calculate ATR-based trailing stop
atr = ta.atr(atrPeriod)
nLoss = atrMultiplier * atr
var float xATRTrailingStop = na

if na(xATRTrailingStop)
    xATRTrailingStop := close - nLoss
else
    if close > xATRTrailingStop[1] and close[1] > xATRTrailingStop[1]
        xATRTrailingStop := math.max(xATRTrailingStop[1], close - nLoss)
    else if close < xATRTrailingStop[1] and close[1] < xATRTrailingStop[1]
        xATRTrailingStop := math.min(xATRTrailingStop[1], close + nLoss)
    else
        xATRTrailingStop := close > xATRTrailingStop[1] ? close - nLoss : close + nLoss

// Define position and entry/exit prices
var int pos = na
pos := close[1] < xATRTrailingStop[1] and close > xATRTrailingStop[1] ? 1 : 
       close[1] > xATRTrailingStop[1] and close < xATRTrailingStop[1] ? -1 : pos[1]

var bool isLong = false
var bool isShort = false

var float entryPrice = na
var float exitPrice = na
var float exitStop = na

// JLines Cloud indicator
sl = input.int(72, "Smaller length")
hl = input.int(89, "Higher length")

res = input.timeframe("1", "JLines - Time Frame 1")
res1 = input.timeframe("3", "JLines - Time Frame 2")
enable515 = input.bool(false, "5/15 EMA")
res2 = input.timeframe("5", "5/15 EMA")

ema1_72 = request.security(syminfo.tickerid, res, ta.ema(close, sl))
ema1_89 = request.security(syminfo.tickerid, res, ta.ema(close, hl))
ema2_72 = request.security(syminfo.tickerid, res1, ta.ema(close, sl))
ema2_89 = request.security(syminfo.tickerid, res1, ta.ema(close, hl))
ema3_5 = request.security(syminfo.tickerid, res2, ta.ema(close, 5))
ema3_15 = request.security(syminfo.tickerid, res2, ta.ema(close, 15))

// Plot JLines Cloud
p1_1 = plot(ema1_72, "TimeFrame 1 - SL", color=color.blue, display=display.none)
p1_2 = plot(ema1_89, "TimeFrame 1 - HL", color=color.blue, display=display.none)
p2_1 = plot(ema2_72, "TimeFrame 2 - SL", color=color.yellow, display=display.none)
p2_2 = plot(ema2_89, "TimeFrame 2 - HL", color=color.yellow, display=display.none)
p3_1 = plot(enable515 ? ema3_5 : na, "Late Day Fade - 5 EMA", color=color.yellow, display=display.none)
p3_2 = plot(enable515 ? ema3_15 : na, "Late Day Fade - 15 EMA", color=color.yellow, display=display.none)

fill(p1_1, p1_2, color=ema1_72 > ema1_89 ? color.new(color.green, 30) : color.new(color.red, 30), title="Background 1")
fill(p2_1, p2_2, color=ema2_72 > ema2_89 ? color.new(color.green, 90) : color.new(color.red, 90), title="Background 2")
fill(p3_1, p3_2, color=enable515 ? (ema3_5 > ema3_15 ? color.new(color.blue, 50) : color.new(color.red, 50)) : na, title="Late Day Fade")

// Plot Buy and Sell signals
plotshape(pos == 1, title="Buy", style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(pos == -1, title="Sell", style=shape.triangledown, location=location.abovebar, color=color.red)

// Volume Analysis
vol_length = input.int(20, "Volume SMA length", minval=1)
vol_avg = ta.sma(volume, vol_length)

unusual_vol_down = volume > vol_avg * 1.2 and close < open
unusual_vol_up = volume > vol_avg * 1.2 and close > open

barcolor(unusual_vol_down or unusual_vol_up ? color.yellow : na)

// ATR Indicator
len2 = input.int(20, minval=1, title="Smooth")
src = input.source(close, title="Source")
out = ta.vwma(src, len2)
avg1 = math.avg(out, xATRTrailingStop) // FIXED: Replaced `ta.avg()` with `math.avg()`

plot(avg1, color=color.aqua, title="ATR")

// Daily Open Line
dl = input.bool(true, "Show daily Open")
dopen = request.security(syminfo.tickerid, "D", open)
plot(dl ? dopen : na, title="Day Open", color=color.orange, style=plot.style_circles, linewidth=2)

// Strategy Entry Conditions
if pos == 1 and not isLong and ema1_72 > ema1_89 and ema2_72 > ema2_89 and ema1_72 > ema2_72 and close > dopen
    entryPrice := close
    exitPrice := close + target
    exitStop := entryPrice - stopLoss
    strategy.entry("Buy", strategy.long)
    strategy.exit("buy_target", "Buy", limit=exitPrice)
    isLong := true
    isShort := false

if pos == -1 and not isShort and ema1_72 < ema1_89 and ema2_72 < ema2_89 and ema1_72 < ema2_72 and close < dopen
    entryPrice := close
    exitPrice := close - target
    exitStop := entryPrice + stopLoss
    strategy.entry("Sell", strategy.short)
    strategy.exit("Sell_target", "Sell", limit=exitPrice)
    isLong := false
    isShort := true

// Stop Loss Handling
if strategy.position_size > 0 and close < entryPrice - stopLoss
    strategy.close("Buy", comment="Buy_Stop Loss")

if strategy.position_size < 0 and close > entryPrice + stopLoss
    strategy.close("Sell", comment="Sell_Stop Loss")