Эта стратегия использует перекрестный переход между быстрой EMA (9-периодической) и медленной EMA (21-периодической) в качестве сигналов входа, и включает в себя последующий стоп-лосс для блокировки прибыли и избежания чрезмерных снижений.
Когда быстрая EMA пересекает медленную EMA снизу, генерируется сигнал покупки. Когда быстрая EMA пересекает медленную EMA снизу, запускается сигнал продажи.
После ввода, стратегия отслеживает самый высокий максимум в режиме реального времени и запускает остановку потери, когда текущая цена падает на 2% ниже самого высокого максимума, блокируя прибыль.
Решения рисков:
Эта стратегия объединяет в себе преимущества выявления тенденций и контроля рисков. Благодаря настройке и оптимизации параметров, она может быть адаптирована к различным типам рынков и торговым инструментам, и стоит дальнейшего тестирования и практики.
/*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)