Strategi ini menggunakan persimpangan dari dua indeks moving average (EMA) sebagai sinyal trading utama, dan menggabungkan RSI, MACD, dan ATR sebagai indikator tambahan untuk meningkatkan keandalan sinyal trading. Ketika EMA bergerak lambat pada EMA cepat dan RSI di bawah 70, garis MACD di atas garis sinyal menghasilkan sinyal lebih banyak ketika ATR naik lebih dari 10% dari siklus sebelumnya; sebaliknya, ketika EMA cepat naik lebih dari 10% dari EMA lambat dan RSI di bawah 30, garis MACD menghasilkan sinyal ketika ATR naik lebih dari 10% dari siklus sebelumnya. Strategi ini juga mengatur stop loss dan stop loss untuk mengendalikan risiko.
Strategi ini menghasilkan sinyal perdagangan yang lebih dapat diandalkan dengan menggabungkan beberapa indikator teknis seperti EMA, RSI, MACD, dan ATR, sementara mengendalikan risiko dengan mengatur stop loss stop loss dengan nilai tetap. Meskipun strategi ini masih memiliki beberapa kekurangan, kinerja strategi dapat ditingkatkan dengan pengoptimalan dan perbaikan lebih lanjut, seperti pengenalan lebih banyak indikator, pengoptimalan stop loss stop loss, kombinasi analisis dasar, dll. Secara keseluruhan, strategi ini jelas, mudah dimengerti dan diimplementasikan, cocok untuk belajar dan digunakan oleh pemula.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Enhanced EMA Crossover Strategy", overlay=true) // Indicators ema_fast = ema(close, 8) ema_slow = ema(close, 14) rsi = rsi(close, 14) // Correcting the MACD variable definitions [macd_line, signal_line, _] = macd(close, 12, 26, 9) atr_value = atr(14) // Entry conditions with additional filters long_condition = crossover(ema_fast, ema_slow) and rsi < 70 and (macd_line > signal_line) and atr_value > atr_value[1] * 1.1 short_condition = crossunder(ema_fast, ema_slow) and rsi > 30 and (macd_line < signal_line) and atr_value > atr_value[1] * 1.1 // Adding debug information plotshape(series=long_condition, color=color.green, location=location.belowbar, style=shape.xcross, title="Long Signal") plotshape(series=short_condition, color=color.red, location=location.abovebar, style=shape.xcross, title="Short Signal") // Risk management based on a fixed number of points stop_loss_points = 100 take_profit_points = 200 // Order execution if (long_condition) strategy.entry("Long", strategy.long, comment="Long Entry") strategy.exit("Exit Long", "Long", stop=close - stop_loss_points, limit=close + take_profit_points) if (short_condition) strategy.entry("Short", strategy.short, comment="Short Entry") strategy.exit("Exit Short", "Short", stop=close + stop_loss_points, limit=close - take_profit_points) // Plotting EMAs for reference plot(ema_fast, color=color.blue, title="Fast EMA") plot(ema_slow, color=color.orange, title="Slow EMA")