
Стратегия является торговой системой, основанной на 5-дневном индексе скользящих средних ((EMA), основанной на выявлении отклонений между ценой и средней линией и объединении с прорывными сигналами для торговли. Стратегия использует механизм мгновенного исполнения, без необходимости ждать подтверждения закрытия K-линии, что повышает своевременность торгов. Система также включает в себя динамический механизм стоп-лосс-менеджмента, который в 3 раза превышает риск-прибыль.
Основная логика стратегии основана на следующих ключевых элементах:
Это комплексная торговая стратегия, которая сочетает в себе краткосрочную среднюю линию, отклонение от формы и сигналы прорыва. Благодаря механизму мгновенного исполнения повышается своевременность стратегии, а также используется динамичный метод управления рисками для управления рисками. Хотя есть некоторые потенциальные риски, эта стратегия имеет хорошую практическую ценность с соответствующими мерами оптимизации и управления рисками.
/*backtest
start: 2024-02-20 00:00:00
end: 2025-01-05 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("5 EMA (Instant Execution)", overlay=true, margin_long=100, margin_short=100)
// Input parameters
ema_length = input.int(5)
target_multiplier = input.float(3.0)
// Calculate 5 EMA
ema_5 = ta.ema(close, ema_length)
// Detect divergence candles
divergence_buy = (high < ema_5) and (low < ema_5) // Below 5 EMA for buy
divergence_sell = (high > ema_5) and (low > ema_5) // Above 5 EMA for sell
// Store trigger levels dynamically
var float trigger_high = na
var float trigger_low = na
// Set trigger levels when divergence occurs
if divergence_buy
trigger_high := high
if divergence_sell
trigger_low := low
// Check real-time price break (no candle close waiting)
buy_signal = not na(trigger_high) and high >= trigger_high
sell_signal = not na(trigger_low) and low <= trigger_low
// Execute trades instantly
if buy_signal
strategy.entry("Long", strategy.long)
candle_size = trigger_high - low
strategy.exit("Long Exit", "Long", limit=trigger_high + (candle_size * target_multiplier), stop=low)
trigger_high := na // Reset trigger
if sell_signal
strategy.entry("Short", strategy.short)
candle_size = high - trigger_low
strategy.exit("Short Exit", "Short", limit=trigger_low - (candle_size * target_multiplier), stop=high)
trigger_low := na // Reset trigger
// Plot signals
plotshape(buy_signal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_signal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Plot 5 EMA
plot(ema_5, color=color.blue, linewidth=2)
// Alert conditions
alertcondition(buy_signal, message="BUY triggered - High of divergence candle broken instantly")
alertcondition(sell_signal, message="SELL triggered - Low of divergence candle broken instantly")