Strategi ini adalah sistem perdagangan yang mengikuti tren berdasarkan beberapa Exponential Moving Averages (EMA) dan Smoothed Moving Average (SMMA). Ini menghasilkan sinyal perdagangan melalui persilangan EMA jangka pendek dan jangka panjang, menggunakan SMMA sebagai indikator konfirmasi tren, dan menggabungkan garis EMA tambahan sebagai referensi dukungan dan resistensi. Pendekatan ini memungkinkan menangkap tren dan mengendalikan risiko pecah palsu secara efektif.
Strategi ini menggunakan EMA 10 hari dan 22 hari sebagai garis sinyal utama, SMMA 200 hari sebagai filter tren, bersama dengan EMA 50 hari, 100 hari, dan 200 hari sebagai indikator tambahan. Sinyal beli dihasilkan ketika EMA jangka pendek melintasi di atas EMA jangka panjang dan harga berada di atas SMMA; sinyal jual dihasilkan ketika EMA jangka pendek melintasi di bawah EMA jangka panjang dan harga berada di bawah SMMA. Tiga garis EMA tambahan menyediakan titik referensi dukungan teknis dan resistensi lebih lanjut.
Ini adalah strategi trend-mengikuti yang mengintegrasikan beberapa sistem rata-rata bergerak, menangkap tren sambil mengendalikan risiko melalui penggunaan terkoordinasi dari rata-rata bergerak periode yang berbeda. kekuatan inti dari strategi ini terletak pada mekanisme konfirmasi ganda, meskipun perhatian harus dibayar untuk kinerjanya di pasar berkisar.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 2d basePeriod: 2d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with SMMA and Additional EMAs", overlay=true) // Input parameters for EMAs and SMMA emaShortLength = input.int(10, title="Short EMA Length") emaLongLength = input.int(22, title="Long EMA Length") smmaLength = input.int(200, title="SMMA Length") // Additional EMA lengths ema1Length = input.int(50, title="EMA 1 Length") ema2Length = input.int(100, title="EMA 2 Length") ema3Length = input.int(200, title="EMA 3 Length") // Calculate EMAs and SMMA emaShort = ta.ema(close, emaShortLength) emaLong = ta.ema(close, emaLongLength) smma = ta.sma(ta.sma(close, smmaLength), 2) // SMMA approximation ema1 = ta.ema(close, ema1Length) ema2 = ta.ema(close, ema2Length) ema3 = ta.ema(close, ema3Length) // Plot EMAs and SMMA on the chart plot(emaShort, color=color.blue, linewidth=2, title="Short EMA") plot(emaLong, color=color.red, linewidth=2, title="Long EMA") plot(smma, color=color.white, linewidth=2, title="SMMA") plot(ema1, color=color.green, linewidth=1, title="EMA 1") plot(ema2, color=color.purple, linewidth=1, title="EMA 2") plot(ema3, color=color.yellow, linewidth=1, title="EMA 3") // Buy condition: Short EMA crosses above Long EMA and price is above SMMA buyCondition = ta.crossover(emaShort, emaLong) and close > smma // Sell condition: Short EMA crosses below Long EMA and price is below SMMA sellCondition = ta.crossunder(emaShort, emaLong) and close < smma // Execute Buy order if (buyCondition) strategy.entry("Buy", strategy.long) alert("Buy Signal: Short EMA crossed above Long EMA and price is above SMMA.", alert.freq_once_per_bar_close) // Execute Sell order if (sellCondition) strategy.entry("Sell", strategy.short) alert("Sell Signal: Short EMA crossed below Long EMA and price is below SMMA.", alert.freq_once_per_bar_close)