Strategi Crossover Purata Bergerak Sederhana adalah berdasarkan persilangan dua purata bergerak, purata bergerak yang lebih cepat (MA pantas) dan purata bergerak yang lebih perlahan (MA perlahan). Ia pergi lama (beli) apabila MA pantas melintasi di atas MA perlahan, dan menutup kedudukan panjang apabila MA pantas melintasi di bawah MA perlahan.
Strategi ini menggunakan dua purata bergerak. Satu adalah MA pantas jangka pendek yang bertindak balas dengan cepat terhadap perubahan harga. Yang lain adalah MA perlahan jangka panjang yang menapis turun naik jangka pendek dan mencerminkan trend jangka panjang dengan lebih baik. Apabila MA pantas melintasi di atas MA perlahan, ia menandakan trend menaik dalam jangka pendek dan dianggap sebagai isyarat beli silang emas. Apabila MA pantas melintasi di bawah MA perlahan, ia menandakan trend penurunan jangka pendek dan dianggap sebagai isyarat jual silang kematian.
Risiko boleh dikawal dengan menetapkan stop loss. Memilih parameter yang betul boleh meningkatkan prestasi strategi.
Ringkasnya, Simple Moving Average Crossover adalah strategi trend berikut yang mudah dan praktikal. Ia mengenal pasti perubahan trend menggunakan sifat penunjuk purata bergerak. Kelebihan utamanya adalah pelaksanaan yang mudah, mudah difahami, dan penurunan yang agak kecil. Kelemahan utama adalah isyarat palsu yang berpotensi, sifat tertinggal. Strategi boleh dipertingkatkan lagi melalui pengoptimuman parameter, penetapan stop loss, dan menggabungkan dengan penunjuk lain.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Moving Average Crossover", overlay=true) // Input parameters fastLength = input(10, title="Fast MA Length") slowLength = input(30, title="Slow MA Length") stopLossPercent = input(1, title="Stop Loss Percentage") // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Buy condition: Fast MA crosses above Slow MA buyCondition = ta.crossover(fastMA, slowMA) // Sell condition: Fast MA crosses below Slow MA sellCondition = ta.crossunder(fastMA, slowMA) // Plot moving averages as lines plot(fastMA, color=color.blue, title="Fast MA", linewidth=2) plot(slowMA, color=color.red, title="Slow MA", linewidth=2) // Execute trades based on conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Set stop loss level stopLossLevel = close * (1 - stopLossPercent / 100) strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel)