
Strategi ini menggunakan persilangan EMA rata-rata cepat (siklus 9) dan EMA rata-rata perlahan (siklus 21) sebagai isyarat masuk, dan digabungkan dengan hentian bergerak untuk mengunci keuntungan dan mengelakkan penarikan balik yang berlebihan.
Apabila garis EMA pantas dari arah bawah menembusi garis EMA perlahan, menghasilkan isyarat beli; apabila garis EMA pantas dari arah atas jatuh dari garis EMA perlahan, menghasilkan isyarat jual.
Setelah masuk, strategi akan menjejaki harga tertinggi dalam masa nyata dan mencetuskan stop loss bergerak untuk mengunci keuntungan apabila harga semasa berada di bawah harga tertinggi sebanyak 2%.
Penyelesaian risiko:
Strategi ini menggabungkan kelebihan penilaian trend dan pengurusan kerugian, boleh dilakukan secara beransur-ansur dan dapat mengawal risiko dengan berkesan. Dengan penyesuaian dan pengoptimuman parameter, ia boleh digunakan untuk pelbagai jenis pasaran dan varieti perdagangan, yang layak untuk diuji 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)