
Strategi ini adalah strategi crossover rata-rata bergerak sederhana. Ini melakukan lebih banyak ketika melintasi EMA lambat di EMA cepat, dan kosong ketika melintasi EMA lambat di EMA cepat. Strategi ini menggabungkan stop loss, stop loss, dan stop loss bergerak untuk mengontrol risiko secara efektif.
Strategi ini didasarkan pada rata-rata bergerak cepat dan lambat. Garis cepat adalah 9 hari EMA, garis lambat adalah 21 hari EMA.
Stop loss berdasarkan persentase tertentu dari close, stop loss berdasarkan persentase tertentu dari close. Stop loss bergerak berdasarkan persentase tertentu dari close, ketika harga mencapai tingkat itu, stop loss bergerak ke harga bukaan.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Solusi:
Strategi ini dapat dioptimalkan dengan:
Strategi moving average crossover ini secara keseluruhan logis jelas, mudah untuk diterapkan, dan digabungkan dengan stop loss, stop-loss, dan stop-loss bergerak untuk mengendalikan risiko. Dengan pengaturan parameter yang masuk akal dan penyesuaian optimasi untuk pasar yang berbeda, strategi ini dapat memperoleh efek yang lebih baik. Namun, tetap perlu diperhatikan risiko misreporting dan kesulitan dalam mengoptimalkan parameter.
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("XAUUSD Strategy with SL, TP, and BE", shorttitle="EA", overlay=true)
// Define strategy parameters
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
stopLossPercent = input(1, title="Stop Loss (%)", minval=0, maxval=5) / 100
takeProfitPercent = input(2, title="Take Profit (%)", minval=0, maxval=5) / 100
breakEvenPercent = input(1, title="Break Even (%)", minval=0, maxval=5) / 100
// Calculate EMAs
fastEMA = ema(close, fastLength)
slowEMA = ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Strategy logic
enterLong = crossover(fastEMA, slowEMA)
exitLong = crossunder(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)
exitShort = crossover(fastEMA, slowEMA)
// Calculate stop loss, take profit, and break-even levels
longStopLoss = close * (1 - stopLossPercent)
longTakeProfit = close * (1 + takeProfitPercent)
shortStopLoss = close * (1 + stopLossPercent)
shortTakeProfit = close * (1 - takeProfitPercent)
longBreakEven = close * (1 + breakEvenPercent)
shortBreakEven = close * (1 - breakEvenPercent)
// Execute strategy with stop loss, take profit, and break-even
strategy.entry("Long", strategy.long, when = enterLong)
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", profit = longTakeProfit, loss = longStopLoss)
strategy.entry("Short", strategy.short, when = enterShort)
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", profit = shortTakeProfit, loss = shortStopLoss)
// Move stop loss to break even when price reaches break-even level
strategy.exit("Break Even Long", from_entry="Long", loss = longBreakEven)
strategy.exit("Break Even Short", from_entry="Short", loss = shortBreakEven)