
Strategi ini adalah strategi perdagangan berdasarkan dua rata-rata bergerak. Ia akan melakukan operasi garpu emas dan garpu mati mengikut panjang dan panjang dua rata-rata bergerak yang ditetapkan oleh pengguna, iaitu isyarat perdagangan dikeluarkan apabila rata-rata bergerak cepat melintasi atau melintasi rata-rata bergerak perlahan. Apabila MA cepat melintasi MA perlahan, lakukan lebih banyak; apabila MA cepat melintasi MA perlahan, kosong.
Logik teras strategi ini adalah berdasarkan prinsip persilangan dua purata bergerak. Apa yang disebut purata bergerak adalah purata harga yang diperoleh dengan mengambil harga penutupan sebagai purata aritmetik dalam tempoh masa tertentu.
MA jangka pendek dalam strategi ini mewakili trend harga jangka pendek, dan MA jangka panjang mewakili trend harga jangka panjang. MA jangka pendek lebih sensitif terhadap perubahan harga daripada MA jangka panjang, dan dapat menangkap pembalikan harga lebih cepat.
Khususnya, strategi menggunakan ta.sma untuk mengira purata bergerak mudah untuk tempoh yang ditetapkan, untuk memberi isyarat perdagangan. Pengguna boleh menyesuaikan dua parameter MA, iaitu tempoh panjang panjang dan tempoh pendek pendek. Strategi menggunakan ta.crossover dan ta.crossunder untuk menilai MA untuk melangkau emas dan mati. Apabila MA pendek melangkau MA panjang, iaitu apabila bermunculan garpu emas, lakukan lebih banyak; apabila MA pendek melangkau MA panjang, iaitu apabila bermunculan garpu mati, lakukan kosong.
Strategi ini mempunyai beberapa kelebihan:
Strategi ini mempunyai beberapa risiko:
Untuk risiko di atas, ia boleh dioptimumkan dengan menyesuaikan parameter MA, menetapkan stop loss, atau menggabungkan indikator lain.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Strategi ini secara keseluruhan sangat sesuai sebagai strategi permulaan untuk perdagangan kuantitatif. Ia hanya memerlukan parameter MA ganda yang mudah untuk beroperasi, mudah dikendalikan, mudah difahami, dapat mencerminkan secara intuitif masa berbalik pasaran. Pada masa yang sama, strategi ini mempunyai ruang pengoptimuman yang besar, boleh menyesuaikan parameter atau menambah logik lain untuk diperbaiki mengikut keperluan sebenar.
/*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("Cross 2 Moving Average Strategy", shorttitle="2MA Cross", overlay=true)
// User-defined input for moving averages
long_period = input(20, title="Long Period")
short_period = input(5, title="Short Period")
type_ma = input.string("SMA", title = "MA type", options = ["SMA", "EMA"])
// Calculating moving averages
long_ma = ta.sma(close, long_period)
short_ma = ta.sma(close, short_period)
// Plot moving averages
plot(long_ma, title="Long Moving Average", color=color.red)
plot(short_ma, title="Short Moving Average", color=color.green)
// Strategy logic for crossing of moving averages
longCondition = ta.crossover(short_ma, long_ma)
shortCondition = ta.crossunder(short_ma, long_ma)
// Entry orders
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Optional: Add stop loss and take profit
stop_loss_perc = input(1, title="Stop Loss (%)") / 100
take_profit_perc = input(2, title="Take Profit (%)") / 100
strategy.exit("Exit Long", from_entry="Long", stop=close*(1-stop_loss_perc), limit=close*(1+take_profit_perc))
strategy.exit("Exit Short", from_entry="Short", stop=close*(1+stop_loss_perc), limit=close*(1-take_profit_perc))