Достигает цели прибыли в конце дня
Короткий выход:Закрытие <= 200 EMA достигает целевой прибыли в конце дня
Стоп-лосс составляет 20% от премии опциона.
II. Преимущества
Основными преимуществами этой стратегии являются:
III. Риски
Основными рисками этой стратегии являются:
Следующие аспекты могут быть оптимизированы для снижения вышеуказанных рисков:
IV. Направления оптимизации
Основными направлениями оптимизации этой стратегии являются:
V. Заключение
В этой статье подробно проанализирована логика, сильные, слабые стороны и направления оптимизации следующей стратегии тренда на основе расстояния между ценой и 200-дневной скользящей средней. Эта стратегия оценивает среднесрочную тенденцию путем отслеживания отклонения цены от долгосрочной скользящей средней. Позиции устанавливаются, когда отклонение превышает порог, и закрываются при достижении целей остановки потери или получения прибыли. Эта стратегия может хорошо отслеживать среднесрочную тенденцию, но все еще имеет некоторое пространство для оптимизации параметров.
/*backtest start: 2024-02-22 00:00:00 end: 2024-02-24 06:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Intraday Price Away from 200 EMA Strategy", overlay=true) // Define inputs emaPeriod = input(200, title="EMA Period") thresholdPercent = input(0.75, title="Threshold Percent", minval=0) // Define the threshold percentage // Calculate 200 EMA ema = ema(close, emaPeriod) // Calculate distance from 200 EMA as a percentage distance_percent = ((close - ema) / ema) * 100 // Track average entry price var float avgEntryPrice = na // Buy conditions buy_condition = close < ema and abs(distance_percent) >= thresholdPercent and close[1] < close[2] // Exit conditions for buy exit_buy_condition = close >= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) <= close // Sell conditions sell_condition = close > ema and abs(distance_percent) >= thresholdPercent and close[1] > close[2] // Exit conditions for sell exit_sell_condition = close <= ema or time_close(timeframe.period) or (avgEntryPrice * 1.5) >= close // Execute buy and sell orders only if there are no open trades if strategy.opentrades == 0 strategy.entry("Buy", strategy.long, when=buy_condition) strategy.entry("Sell", strategy.short, when=sell_condition) // Update average entry price for buy condition if buy_condition avgEntryPrice := close // Update average entry price for sell condition if sell_condition avgEntryPrice := close // Close buy position if exit condition is met strategy.close("Buy", when=exit_buy_condition) // Close sell position if exit condition is met strategy.close("Sell", when=exit_sell_condition) // Plot 200 EMA plot(ema, color=color.blue, linewidth=2) // Plot buy and sell signals plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)