یہ ایک رجحان کی پیروی کرنے والی حکمت عملی ہے جس کی بنیاد متعدد توسیعی حرکت پذیر اوسط (ای ایم اے) کراس اوورز پر ہے۔ یہ حکمت عملی مارکیٹ کے رجحانات کو پکڑنے اور شرائط پوری ہونے پر طویل / مختصر تجارت کو انجام دینے کے لئے 10 مدت کے قلیل مدتی ای ایم اے ، 50 مدت کے درمیانی مدتی ای ایم اے ، اور 200 مدت کے طویل مدتی ای ایم اے کے مابین کراس اوور تعلقات کا استعمال کرتی ہے۔ بنیادی خیال یہ ہے کہ متعدد ٹائم فریم حرکت پذیر اوسط کے ذریعہ مارکیٹ کے شور کو فلٹر کرنا ، اہم رجحان کی سمت کی نشاندہی کرنا ، اور رجحان کے تسلسل کے دوران منافع حاصل کرنا۔
اس حکمت عملی میں اس کے سگنل جنریشن میکانزم کے طور پر ایک ٹرپل ای ایم اے کراس اوور سسٹم استعمال کیا گیا ہے۔ خاص طور پر: 1۔ 200 پیریڈ ای ایم اے کو مرکزی رجحان اشارے کے طور پر استعمال کرتا ہے ، اس سے اوپر صرف لمبی پوزیشنیں اور اس سے نیچے مختصر پوزیشنیں لیتا ہے 2 ۔ طویل پوزیشنیں کھولتا ہے جب قلیل مدتی EMA (10 مدت) درمیانی مدت کے EMA (50 مدت) سے اوپر کی حد کو عبور کرتا ہے اور قیمت طویل مدتی EMA سے اوپر ہوتی ہے مختصر مدت کے EMA کو درمیانی مدت کے EMA سے نیچے عبور کرنے اور قیمت طویل مدتی EMA سے نیچے ہونے پر مختصر پوزیشنیں کھولتا ہے۔ 4۔ مختصر مدت کے EMA کے دوران درمیانی مدت کے EMA سے نیچے کی پوزیشنیں بند کرتا ہے 5۔ مختصر مدت کے EMA کے دوران مختصر مدت کے EMA سے زیادہ ہونے پر مختصر مدت کی پوزیشنیں بند کرتا ہے۔ حکمت عملی میں غیر معمولی EMA کراس اوورز اور تعلقات کی نگرانی کے لئے ڈیبگنگ کی خصوصیات شامل ہیں۔
یہ حکمت عملی ایک کلاسک رجحان کے بعد کا نظام ہے جو متعدد ای ایم اے کے استعمال کے ذریعے بروقت منافع اور اسٹاپ نقصان کو برقرار رکھتے ہوئے بڑے رجحان کی گرفت کو یقینی بناتا ہے۔ اگرچہ اس میں کچھ موروثی تاخیر ہے ، لیکن معقول پیرامیٹر کی ترتیبات اور رسک مینجمنٹ اب بھی رجحان سازی کی منڈیوں میں مستحکم منافع پیدا کرسکتی ہے۔ اضافی تکنیکی اشارے اور بہتر تجارتی قوانین کے تعارف کے ذریعے حکمت عملی میں اصلاح کی اہم صلاحیت ہے۔
/*backtest start: 2024-12-10 00:00:00 end: 2025-01-09 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("EMA Crossover Strategy (Enhanced Debug)", overlay=true) // Inputs for EMA periods shortEMA = input.int(10, title="Short EMA Period") mediumEMA = input.int(50, title="Medium EMA Period") longEMA = input.int(200, title="Long EMA Period") // Calculating EMAs emaShort = ta.ema(close, shortEMA) emaMedium = ta.ema(close, mediumEMA) emaLong = ta.ema(close, longEMA) // Plot EMAs plot(emaShort, color=color.green, title="Short EMA") plot(emaMedium, color=color.blue, title="Medium EMA") plot(emaLong, color=color.red, title="Long EMA") // Conditions for entry and exit longCondition = close > emaLong and ta.crossover(emaShort, emaMedium) and emaMedium > emaLong shortCondition = close < emaLong and ta.crossunder(emaShort, emaMedium) and emaMedium < emaLong closeLongCondition = ta.crossunder(emaShort, emaMedium) closeShortCondition = ta.crossover(emaShort, emaMedium) // Debugging labels for unexpected behavior if (ta.crossover(emaShort, emaLong) and not ta.crossover(emaShort, emaMedium)) label.new(bar_index, high, "Short > Long", style=label.style_circle, color=color.red, textcolor=color.white) // Debugging EMA relationships if (emaMedium <= emaLong) label.new(bar_index, high, "Medium < Long", style=label.style_cross, color=color.orange, textcolor=color.white) // Entry logic if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Exit logic if (closeLongCondition) strategy.close("Long") if (closeShortCondition) strategy.close("Short") // Display labels for signals plotshape(series=longCondition, style=shape.labelup, color=color.green, location=location.belowbar, title="Buy Signal") plotshape(series=shortCondition, style=shape.labeldown, color=color.red, location=location.abovebar, title="Sell Signal")