Strategi ini menggunakan persilangan EMA yang cepat (9-period) dan EMA yang perlahan (21-period) sebagai isyarat kemasukan, dan menggabungkan stop loss yang menghalang untuk mengunci keuntungan dan mengelakkan penarikan berlebihan.
Apabila EMA pantas melintasi EMA perlahan dari bawah, isyarat beli dihasilkan. Apabila EMA pantas melintasi EMA perlahan dari atas, isyarat jual dicetuskan.
Sebaik sahaja dimasukkan, strategi ini menjejaki tertinggi tertinggi dalam masa nyata dan mencetuskan stop loss apabila harga semasa jatuh 2% di bawah tertinggi tertinggi, mengunci keuntungan.
Penyelesaian Risiko:
Strategi ini mengintegrasikan kelebihan pengenalan trend dan kawalan risiko. Melalui penyesuaian parameter dan pengoptimuman, ia boleh disesuaikan dengan pelbagai jenis pasaran dan instrumen perdagangan, dan bernilai ujian dan amalan 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)