Strategi ini adalah strategi trend berikut yang mudah berdasarkan persilangan EMA. Ia menggunakan dua garis EMA dengan parameter yang berbeza, garis EMA jangka pendek dan garis EMA jangka panjang. Apabila garis EMA jangka pendek melintasi di atas garis EMA jangka panjang, pergi panjang. Apabila garis EMA jangka pendek melintasi di bawah garis EMA jangka panjang, tutup kedudukan. Dengan stop loss dan mengambil keuntungan untuk menguruskan risiko.
Indikator EMA adalah trend berikut penunjuk yang secara eksponensial meluruskan harga. Garis EMA jangka pendek bertindak balas lebih cepat terhadap perubahan harga, mencerminkan trend baru-baru ini. Garis EMA jangka panjang bertindak balas lebih perlahan, mencerminkan trend jangka panjang. Apabila EMA pendek melintasi di atas EMA panjang, ia menunjukkan momentum menaik baru-baru ini lebih kuat daripada trend jangka panjang, boleh pergi panjang. Sebaliknya, apabila EMA pendek melintasi di bawah EMA panjang, ia menunjukkan momentum menurun baru-baru ini lebih kuat, harus menutup kedudukan panjang.
Strategi ini menetapkan 9 garis EMA tempoh dan 21 garis EMA tempoh.
Penyelesaian Risiko:
Strategi ini memanfaatkan persilangan EMA dua EMA untuk mengikuti trend. Kelebihannya adalah logik yang mudah, kekerapan perdagangan sederhana, menangkap trend jangka menengah hingga panjang. Walau bagaimanapun EMA mempunyai kesan kelewatan. Menambah lebih banyak penunjuk untuk penapisan dan mengoptimumkan stop loss dinamik dapat mengurangkan risiko lebih lanjut. Secara keseluruhan, EMA Crossover berkesan daripada merebut trend jangka menengah hingga panjang.
/*backtest start: 2023-01-25 00:00:00 end: 2024-01-31 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("EMA Crossover Strategy", overlay=true) // Input parameters shortPeriod = input(9, title="Short EMA Period") longPeriod = input(21, title="Long EMA Period") stopLossPercent = input(1, title="Stop Loss (%)") / 100 takeProfitMultiplier = input(2, title="Take Profit Multiplier") // Calculate EMAs emaShort = ema(close, shortPeriod) emaLong = ema(close, longPeriod) // Plot EMAs plot(emaShort, color=color.blue, title="Short EMA") plot(emaLong, color=color.red, title="Long EMA") // Strategy logic strategy.entry("Buy", strategy.long, when=crossover(emaShort, emaLong)) strategy.close("Buy", when=crossunder(emaShort, emaLong)) // Risk management atrValue = atr(14) stopLossLevel = close * (1 - stopLossPercent) takeProfitLevel = close * takeProfitMultiplier strategy.exit("Take Profit/Stop Loss", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel)