
Strategi moving average crossover adalah strategi trading yang didasarkan pada dua moving averages yang bersinggungan (rapid moving average dan slow moving average). Operasi long position (buy) dilakukan ketika moving average cepat naik dan menembus moving average lambat. Sebaliknya, posisi multihead sebelumnya dihapus ketika moving average cepat turun dan menembus moving average lambat.
Strategi ini menggunakan dua rata-rata bergerak. Salah satunya adalah rata-rata bergerak cepat untuk jangka pendek, dan yang lain adalah rata-rata bergerak lambat untuk jangka panjang. Rata-rata bergerak cepat dapat merespons perubahan harga lebih cepat, rata-rata bergerak lambat memfilter fluktuasi jangka pendek, lebih mampu mencerminkan tren jangka panjang.
Stop loss dapat diatur untuk mengendalikan risiko. Memilih parameter yang tepat dapat meningkatkan efektivitas strategi.
Moving average crossover strategi secara umum adalah strategi pelacakan tren yang sederhana dan praktis. Ini menggunakan pergerakan rata-rata sebagai indikator untuk mengidentifikasi perubahan tren harga. Kelebihannya adalah kesederhanaan, mudah dipahami, dan pengunduran diri yang kecil. Kelemahannya adalah kemungkinan menghasilkan sinyal yang salah dan memiliki 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)