Strategi ini adalah strategi crossover purata bergerak yang mudah. Ia pergi lama apabila EMA pantas melintasi di atas EMA perlahan dan pergi pendek apabila EMA pantas melintasi di bawah EMA perlahan. Strategi ini menggabungkan stop loss, mengambil keuntungan dan break-even untuk mengawal risiko dengan berkesan.
Strategi ini berdasarkan purata bergerak pantas dan perlahan. Garis pantas adalah EMA 9 hari dan garis perlahan adalah EMA 21 hari. Ia menjadi panjang apabila garis pantas melintasi di atas garis perlahan dari bawah. Ia menjadi pendek apabila garis pantas melintasi di bawah garis perlahan dari atas. Keluar dipicu oleh salib terbalik.
Stop loss ditetapkan berdasarkan peratusan penutupan. Ambil keuntungan ditetapkan berdasarkan peratusan penutupan. Stop loss break-even bergerak ke harga masuk apabila harga mencapai tahap break-even.
Kelebihan strategi ini ialah:
Terdapat beberapa risiko:
Penyelesaian:
Strategi ini boleh dioptimumkan dengan:
Secara keseluruhan, strategi emas crossover purata bergerak ini mempunyai logika yang jelas dan mudah dilaksanakan. Dengan stop loss, mengambil keuntungan dan break-even, ia mengawal risiko. Dengan penyesuaian parameter yang betul dan pengoptimuman untuk pasaran yang berbeza, ia dapat mencapai prestasi yang baik. Tetapi risiko whipsaws dan kesukaran pengoptimuman parameter perlu diperhatikan.
/*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)