Chiến lược này sử dụng sự chéo chéo giữa EMA nhanh (9 giai đoạn) và EMA chậm (21 giai đoạn) làm tín hiệu đầu vào, và kết hợp stop loss để khóa lợi nhuận và tránh rút tiền quá mức.
Khi EMA nhanh vượt qua trên EMA chậm từ dưới, một tín hiệu mua được tạo ra. Khi EMA nhanh vượt qua dưới EMA chậm từ trên, một tín hiệu bán được kích hoạt.
Một khi được nhập, chiến lược theo dõi mức cao nhất trong thời gian thực và kích hoạt dừng lỗ sau khi giá hiện tại giảm 2% dưới mức cao nhất, khóa lợi nhuận.
Giải pháp rủi ro:
Chiến lược này tích hợp các lợi thế của việc xác định xu hướng và kiểm soát rủi ro. Thông qua điều chỉnh và tối ưu hóa tham số, nó có thể được điều chỉnh cho các loại thị trường và công cụ giao dịch khác nhau, và đáng để thử nghiệm và thực hành thêm.
/*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)