
Strategi silang rata-rata bergerak adalah strategi perdagangan berdasarkan dua rata-rata bergerak ((rata-rata bergerak cepat dan rata-rata bergerak perlahan) bersilang. Apabila rata-rata bergerak cepat naik melampaui rata-rata bergerak perlahan, mengambil kedudukan panjang ((beli). Sebaliknya, apabila rata-rata bergerak cepat turun melampaui rata-rata bergerak perlahan, meratakan kedudukan berbilang kepala sebelumnya.
Strategi ini menggunakan dua rata-rata bergerak. Satu adalah rata-rata bergerak cepat untuk jangka pendek, satu adalah rata-rata bergerak perlahan untuk jangka panjang. Rata-rata bergerak cepat dapat bertindak balas lebih cepat terhadap perubahan harga, rata-rata bergerak perlahan menapis turun naik jangka pendek dan lebih mencerminkan trend jangka panjang.
Anda boleh menetapkan stop loss untuk mengawal risiko. Memilih parameter yang sesuai dapat meningkatkan keberkesanan strategi.
Strategi persilangan purata bergerak secara keseluruhan adalah strategi pengesanan trend yang mudah dan praktikal. Ia menggunakan purata bergerak sebagai penunjuk untuk mengenal pasti perubahan trend harga. Kelebihannya adalah untuk mencapai yang mudah dan mudah difahami, pengunduran yang lebih kecil. Kelebihannya adalah ia mungkin menghasilkan isyarat yang salah dan mempunyai keterlambatan.
/*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)