یہ حکمت عملی دو متحرک اوسط (ای ایم اے) کے کراس اوور کی بنیاد پر تجارتی سگنل تیار کرتی ہے۔ جب قلیل مدتی ای ایم اے (20 دن) طویل مدتی ای ایم اے (50 دن) سے اوپر عبور کرتا ہے تو ، خرید کا سگنل متحرک ہوجاتا ہے۔ جب قلیل مدتی ای ایم اے طویل مدتی ای ایم اے سے نیچے عبور کرتا ہے تو ، فروخت کا سگنل متحرک ہوجاتا ہے۔ اس کے علاوہ ، حکمت عملی طویل مدتی رجحان کے لئے ایک حوالہ کے طور پر 200 دن کے ای ایم اے کو پلاٹ کرتی ہے۔ اس حکمت عملی کے پیچھے بنیادی خیال مختلف ادوار کے ساتھ متحرک اوسط کے کراس اوور کو استعمال کرکے مارکیٹ کے رجحانات میں تبدیلیوں کو پکڑنا ہے۔
ای ایم اے ڈبل موونگ ایوریج کراس اوور حکمت عملی ایک سادہ اور سیدھی ٹریڈنگ حکمت عملی ہے جو رجحان سازی مارکیٹوں کے لئے موزوں ہے۔ یہ طویل مدتی رجحان کے حوالہ کو شامل کرتے ہوئے مارکیٹ کے رجحانات میں تبدیلیوں کو حاصل کرنے کے لئے قلیل مدتی اور طویل مدتی موونگ ایوریجز کے کراس اوور کا استعمال کرتی ہے۔ اگرچہ اس حکمت عملی میں کچھ حدود ہیں ، جیسے متضاد مارکیٹوں میں سب سے بہتر کارکردگی اور موونگ ایوریجز کی تاخیر ، اسے اضافی اشارے شامل کرکے ، پیرامیٹرز کو بہتر بنانے ، رسک مینجمنٹ اقدامات کو نافذ کرنے اور رجحانات کی تصدیق کرکے مزید بہتر بنایا جاسکتا ہے۔ یہ اصلاحات حکمت عملی کی استحکام اور منافع کو بہتر بناسکتی ہیں۔
/*backtest start: 2023-03-23 00:00:00 end: 2024-03-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy by Peter Gangmei", overlay=true) // Define the length for moving averages short_ma_length = input.int(20, "Short MA Length") long_ma_length = input.int(50, "Long MA Length") long_ma_200_length = input.int(200, "Long MA 200 Length") // Define start time for testing start_time = timestamp(2024, 01, 01, 00, 00) // Calculate current date and time current_time = timenow // Calculate moving averages ema20 = ta.ema(close, short_ma_length) ema50 = ta.ema(close, long_ma_length) ema200 = ta.ema(close, long_ma_200_length) // Crossing conditions crossed_above = ta.crossover(ema20, ema50) crossed_below = ta.crossunder(ema20, ema50) // Entry and exit conditions within the specified time frame if true if (crossed_above) strategy.entry("Buy", strategy.long) alert("Buy Condition", alert.freq_once_per_bar_close) if (crossed_below) strategy.entry("Sell", strategy.short) alert("Sell Condition", alert.freq_once_per_bar_close) // Plotting moving averages for visualization plot(ema20, color=color.green, title="EMA20") plot(ema50, color=color.red, title="EMA50") plot(ema200, color=color.blue, title="EMA200") // Placing buy and sell markers plotshape(series=crossed_above, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") plotshape(series=crossed_below, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")