یہ حکمت عملی تجارتی سگنلز کے لئے سپلائی اور ڈیمانڈ زون ، ایکسپونینشل موونگ ایوریج (ای ایم اے) ، اور ایوریج ٹرو رینج (اے ٹی آر) ٹریلنگ اسٹاپ کا استعمال کرتی ہے۔ صارفین ای ایم اے کی ترتیبات اور سگنل کی نمائش کو ایڈجسٹ کرسکتے ہیں۔ یہ حکمت عملی ہائر ہائی (ایچ ایچ) ، لوئر لو (ایل ایل) ، لوئر ہائی (ایل ایچ) ، اور ہائر لو (ایچ ایل) زونوں کو نشان زد کرتی ہے۔ سگنل تیسری موم بتی کے بعد دکھائے جاتے ہیں ، جو بیک ٹیسٹنگ کے لئے موزوں ہیں۔
اشاریاتی چلتی اوسط (EMA):
اوسط حقیقی رینج (ATR):
رجحان کے لئے ای ایم اے اور اتار چڑھاؤ پر مبنی ٹریلنگ اسٹاپ کے لئے اے ٹی آر کا تعین کرنے کے لئے استعمال کیا جاتا ہے۔
یہ
ہائی ہائی (HH): موجودہ چوٹی > پچھلی چوٹی، اوپر کی رفتار.
کم کم (LL): موجودہ نچلے حصے < پچھلے نچلے حصے، نیچے کی رفتار.
اعلی کم (HL): موجودہ نچلے حصے > پچھلے نچلے حصے، اوپر کی طرف جاری.
کم ہائی (LH): موجودہ چوٹی < پچھلی چوٹی، نیچے کی طرف جاری.
رجحانات کے ساتھ استعمال کیا جاتا ہے تاکہ ان کی تبدیلیوں یا تسلسل کی نشاندہی کی جاسکے۔
اندراج کا اشارہ: تیسری موم بتی کے اختتام پر پچھلے اعلی / کم سے اوپر / نیچے خریدیں / فروخت کریں.
باہر نکلنا: اے ٹی آر پر مبنی ٹریلنگ سٹاپ نقصان.
مناسب بیک ٹیسٹ کے لئے متعدد تکنیکوں کا امتزاج کرتا ہے۔ حقیقی دنیا پیچیدہ ہے ، اصلاح کلیدی ہے۔ بنیادی حکمت عملی توسیع اور امتزاج کی اجازت دیتی ہے۔
/*backtest start: 2023-12-18 00:00:00 end: 2024-01-17 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supply and Demand Zones with EMA and Trailing Stop", shorttitle="SD Zones", overlay=true) showBuySignals = input(true, title="Show Buy Signals", group="Signals") showSellSignals = input(true, title="Show Sell Signals", group="Signals") showHLZone = input(true, title="Show HL Zone", group="Zones") showLHZone = input(true, title="Show LH Zone", group="Zones") showHHZone = input(true, title="Show HH Zone", group="Zones") showLLZone = input(true, title="Show LL Zone", group="Zones") emaLength = input(200, title="EMA Length", group="EMA Settings") atrLength = input(14, title="ATR Length", group="Trailing Stop") atrMultiplier = input(2, title="ATR Multiplier", group="Trailing Stop") // Function to identify supply and demand zones getZones(src, len, mult) => base = request.security(syminfo.tickerid, "D", close) upper = request.security(syminfo.tickerid, "D", high) lower = request.security(syminfo.tickerid, "D", low) multiplier = request.security(syminfo.tickerid, "D", mult) zonetype = base + multiplier * len zone = src >= zonetype [zone, upper, lower] // Identify supply and demand zones [supplyZone, _, _] = getZones(close, high[1] - low[1], 1) [demandZone, _, _] = getZones(close, high[1] - low[1], -1) // Plot supply and demand zones bgcolor(supplyZone ? color.new(color.red, 80) : na) bgcolor(demandZone ? color.new(color.green, 80) : na) // EMA with Linear Weighted method ema = ta.ema(close, emaLength) // Color code EMA based on its relation to candles emaColor = close > ema ? color.new(color.green, 0) : close < ema ? color.new(color.red, 0) : color.new(color.yellow, 0) // Plot EMA plot(ema, color=emaColor, title="EMA") // Entry Signal Conditions after the third candle longCondition = ta.crossover(close, high[1]) and bar_index >= 2 shortCondition = ta.crossunder(close, low[1]) and bar_index >= 2 // Trailing Stop using ATR atrValue = ta.atr(atrLength) trailStop = close - atrMultiplier * atrValue // Strategy Entry and Exit if (longCondition) strategy.entry("Buy", strategy.long) strategy.exit("TrailStop", from_entry="Buy", loss=trailStop) if (shortCondition) strategy.entry("Sell", strategy.short) strategy.exit("TrailStop", from_entry="Sell", loss=trailStop) // Plot Entry Signals plotshape(series=showBuySignals ? longCondition : na, title="Buy Signal", color=color.new(color.green, 0), style=shape.triangleup, location=location.belowbar) plotshape(series=showSellSignals ? shortCondition : na, title="Sell Signal", color=color.new(color.red, 0), style=shape.triangledown, location=location.abovebar) // Plot Trailing Stop plot(trailStop, color=color.new(color.red, 0), title="Trailing Stop") // Plot HH, LL, LH, and HL zones plotshape(series=showHHZone and ta.highest(high, 2)[1] and ta.highest(high, 2)[2] ? 1 : na, title="HH Zone", color=color.new(color.blue, 80), style=shape.triangleup, location=location.abovebar) plotshape(series=showLLZone and ta.lowest(low, 2)[1] and ta.lowest(low, 2)[2] ? 1 : na, title="LL Zone", color=color.new(color.blue, 80), style=shape.triangledown, location=location.belowbar) plotshape(series=showLHZone and ta.highest(high, 2)[1] and ta.lowest(low, 2)[2] ? 1 : na, title="LH Zone", color=color.new(color.orange, 80), style=shape.triangleup, location=location.abovebar) plotshape(series=showHLZone and ta.lowest(low, 2)[1] and ta.highest(high, 2)[2] ? 1 : na, title="HL Zone", color=color.new(color.orange, 80), style=shape.triangledown, location=location.belowbar)