یہ ٹرپل ایکسپونینشل موونگ ایوریج (ای ایم اے) کراس اوور سگنلز پر مبنی ایک رجحان کی پیروی کرنے والا تجارتی نظام ہے۔ یہ نظام EMA8 ، EMA21 ، اور EMA89 کو مل کر کراس اوورز کے ذریعے تجارتی سگنل تیار کرتا ہے ، اور خطرہ سے فائدہ اٹھانے کے تناسب پر مبنی سمارٹ اسٹاپ نقصان کا انتظام مربوط کرتا ہے ، جس سے خودکار رسک مینجمنٹ حاصل ہوتی ہے۔
نظام مندرجہ ذیل بنیادی فنکشنل ماڈیولز پر مشتمل ہے:
یہ حکمت عملی کلاسیکی ای ایم اے کراس اوور سسٹم کو جدید رسک مینجمنٹ کے طریقوں کے ساتھ جوڑ کر ایک مکمل ٹرینڈ فالونگ ٹریڈنگ سسٹم حاصل کرتی ہے۔ اس سسٹم کی طاقت اس کے قابل اعتماد سگنل جنریشن میکانزم اور ذہین رسک کنٹرول کے طریقوں میں ہے ، لیکن پیرامیٹرز کو ابھی بھی عملی ایپلی کیشنز میں مخصوص مارکیٹ کی خصوصیات کی بنیاد پر بہتر بنانے اور افعال کو بڑھانے کی ضرورت ہے۔ مسلسل بہتری اور اصلاح کے ذریعے ، اس حکمت عملی میں مختلف مارکیٹ کے حالات میں مستحکم کارکردگی برقرار رکھنے کی صلاحیت ہے۔
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 4h basePeriod: 4h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with SL to BE", shorttitle="OmegaGalsky", overlay=true) // Входни параметри ema8_period = input.int(8, title="EMA 8 Period") ema21_period = input.int(21, title="EMA 21 Period") ema89_period = input.int(89, title="EMA 89 Period") fixed_risk_reward = input.float(1.0, title="Risk/Reward Ratio (R2R)") sl_percentage = input.float(0.001, title="Stop Loss Percentage", step=0.0001) tp_percentage = input.float(0.0025, title="Take Profit Percentage", step=0.0001) // Изчисляване на EMA ema8 = ta.ema(close, ema8_period) ema21 = ta.ema(close, ema21_period) ema89 = ta.ema(close, ema89_period) // Условия за BUY buy_condition = ta.crossover(ema8, ema21) and close > ema89 and close > open // Условия за SELL sell_condition = ta.crossunder(ema8, ema21) and close < ema89 and close < open // Вход в BUY позиция if (buy_condition) stop_loss = close * (1 - sl_percentage) take_profit = close * (1 + tp_percentage) strategy.entry("BUY", strategy.long) strategy.exit("TP/SL", from_entry="BUY", stop=stop_loss, limit=take_profit) // Вход в SELL позиция if (sell_condition) stop_loss = close * (1 + sl_percentage) take_profit = close * (1 - tp_percentage) strategy.entry("SELL", strategy.short) strategy.exit("TP/SL", from_entry="SELL", stop=stop_loss, limit=take_profit) // Логика за преместване на стоп към BE if (strategy.position_size > 0) entry_price = strategy.position_avg_price // За LONG позиция if (strategy.position_size > 0 and high >= entry_price + (entry_price * sl_percentage * fixed_risk_reward)) strategy.exit("SL to BE", from_entry="BUY", stop=entry_price) label.new(bar_index, high, "SL moved to BE", color=color.green) // За SHORT позиция if (strategy.position_size < 0 and low <= entry_price - (entry_price * sl_percentage * fixed_risk_reward)) strategy.exit("SL to BE", from_entry="SELL", stop=entry_price) label.new(bar_index, low, "SL moved to BE", color=color.red) // Чертеж на EMA plot(ema8, color=color.orange, title="EMA 8") plot(ema21, color=color.blue, title="EMA 21") plot(ema89, color=color.purple, title="EMA 89")