Strategi ini menghasilkan isyarat beli dan jual berdasarkan persilangan purata bergerak. Ia menggunakan purata bergerak eksponen 8 hari, 18 hari dan 50 hari (EMA). Isyarat beli dihasilkan apabila harga memecahkan di atas EMA 8 hari dan lebih tinggi daripada EMA 50 hari. Isyarat jual dihasilkan apabila EMA 8 hari menyeberangi di bawah EMA 18 hari.
purata bergerak boleh menapis turun naik harga dan mencerminkan trend harga. purata bergerak yang lebih cepat bertindak balas lebih cepat terhadap perubahan harga. Apabila purata bergerak yang lebih cepat melintasi di atas yang lebih perlahan, ia menandakan trend kenaikan harga. dan apabila melintasi di bawah, ia menandakan trend penurunan.
Strategi ini menggunakan persilangan EMA dari tempoh yang berbeza untuk menentukan perubahan dalam trend harga dan menjana isyarat perdagangan.
Isyarat beli dihasilkan apabila trend menaik jangka pendek (8 hari EMA meningkat) sejajar dengan trend jangka sederhana dan panjang (harga lebih tinggi daripada EMA 50 hari). Isyarat jual dihasilkan apabila trend menaik jangka pendek (8 hari EMA) dipecahkan oleh trend penurunan jangka sederhana (18 hari EMA jatuh).
Kelebihan strategi ini ialah:
Terdapat juga beberapa risiko:
Beberapa kaedah untuk mengoptimumkan dan mengurangkan risiko:
Beberapa arah untuk mengoptimumkan lagi strategi:
Secara keseluruhan ini adalah strategi yang mudah dan praktikal, menggunakan persilangan EMA untuk menentukan perubahan trend. Ia mempunyai prestasi masa nyata yang baik tetapi juga berisiko memerlukan ujian dan pengoptimuman lanjut. Dengan peningkatan yang kukuh, ia boleh menjadi strategi perdagangan algoritma yang stabil.
/*backtest start: 2023-02-16 00:00:00 end: 2024-02-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Trading EMAs', overlay=true) // Definir las medias móviles con colores personalizados ema8 = ta.ema(close, 8) ema18 = ta.ema(close, 18) ema50 = ta.ema(close, 50) plot(ema8, color=color.new(color.green, 0), title='EMA8') plot(ema18, color=color.new(color.blue, 0), title='EMA18') plot(ema50, color=color.new(color.red, 0), title='EMA50') // Condiciones de entrada longCondition = ta.crossover(close, ema8) and close > ema50 // Señal de compra cuando el precio de cierre cruza al alza la EMA de 8 y el precio está por encima de la EMA de 50 // Condiciones de salida exitLongCondition = ta.crossunder(ema8, ema18) // Señal de venta cuando EMA8 cruza por debajo de EMA18 // Ejecutar las operaciones basadas en las condiciones de entrada if longCondition strategy.entry('Long', strategy.long) // Salida de las operaciones basadas en las condiciones de salida if exitLongCondition strategy.close('Long')