Стратегия использует как входный сигнал перекрестку средней скорости 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)