
Strategi ini menggunakan persilangan rata-rata EMA cepat (siklus 9) dan rata-rata EMA lambat (siklus 21) sebagai sinyal masuk, dan dikombinasikan dengan stop loss bergerak untuk mengunci keuntungan dan menghindari penarikan yang berlebihan.
Ketika garis EMA cepat dari arah bawah menembus garis EMA lambat, menghasilkan sinyal beli; ketika garis EMA cepat dari arah atas menembus garis EMA lambat, menghasilkan sinyal jual.
Setelah masuk, strategi ini akan melacak harga tertinggi secara real-time dan memicu stop loss bergerak ketika harga saat ini berada di bawah harga tertinggi 2%, untuk mengunci keuntungan.
Solusi untuk Mengatasi Risiko:
Strategi ini mengintegrasikan keuntungan dari penilaian tren dan manajemen stop loss, dapat dilakukan secara acak dan dapat mengontrol risiko secara efektif. Dengan penyesuaian dan pengoptimalan parameter, dapat diterapkan pada berbagai jenis pasar dan varietas perdagangan, layak untuk pengujian lebih lanjut.
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-19 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("EMA Crossover with Trailing Stop-Loss", overlay=true)
fastEMA = ema(close, 9)
slowEMA = ema(close, 21)
// Entry conditions
longCondition = crossover(fastEMA, slowEMA)
shortCondition = crossunder(fastEMA, slowEMA)
// Trailing stop-loss calculation
var float trailingStop = na
var float highestHigh = na
if (longCondition)
highestHigh := na
trailingStop := na
if (longCondition and high > highestHigh)
highestHigh := high
if (strategy.position_size > 0)
trailingStop := highestHigh * (1 - 0.02) // Adjust the trailing percentage as needed
// Execute trades
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Apply trailing stop-loss to long positions
strategy.exit("Long", from_entry="Long", loss=trailingStop)
// Plot EMAs and Trailing Stop-Loss
plot(fastEMA, color=color.green, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
plot(trailingStop, color=color.orange, title="Trailing Stop-Loss", linewidth=2)