
Обзор
Стратегия называется “Стратегия многофакторного сближения EMA-RSI-Supertrend” и сочетает в себе индикаторные движущиеся средние ((EMA), относительно сильные индексы ((RSI), индикаторы супертенденции ((Supertrend) и сигналы подтверждения транзакций для построения многофакторной торговой системы. Стратегия использует золотой/мертвый крест EMA с 8 циклами и 21 циклом в качестве базового сигнала, дополненный среднеаэксплуатационным фильтром RSI и подтверждением тренда Supertrend, чтобы в конечном итоге проверить надежность сигнала путем массивирования транзакций.
Стратегический принцип
- EMA перекрестная система: использование 8 циклов (краткосрочные) и 21 циклов (долгосрочные) EMA в качестве базового торгового сигнала. Золотой форк (длинносрочные) создает многоголовый сигнал, мертвый форк (длинносрочные) создает пустой сигнал.
- Фильтр RSI: добавление 14-циклического RSI в качестве фильтра силы тренда, требующего RSI> 50 (в сильной зоне) при многоголосном сигнале, RSI< 50 (в слабой зоне) при пустом сигнале.
- Подтверждение Supertrend: Используется 10-циклический индикатор Supertrend в 3,0 раза ATR для подтверждения направления тренда, требующий, чтобы многоголовый сигнал Supertrend направлялся вверх ((1)), а пустой сигнал - вниз ((-1) ‒.
- Проверка поставки: рассчитывает средний объем сделок за 10 циклов, считается эффективным сигналом, когда реальный объем сделок превышает средний в 1,8 раза, чтобы избежать ложного прорыва.
- Механизм выходаДвижущая стоп-стоп потеря, когда цена пересекает 21-циклическую ЭМА.
Анализ преимуществ
- Многофакторная проверкаПовышение качества сигнала с помощью четырехкратной проверки EMA, RSI, Supertrend и объема сделок.
- Тенденции и особенностиПо словам экспертов, это может быть связано с тем, что EMA и Supertrend эффективно используются для удержания трендов и избежания обратной торговли.
- Ценовое соотношениеПовышение трафика требует фильтрации низкокачественных прорывных сигналов, что повышает вероятность победы.
- Динамика выходаНа основе EMA механизм выхода автоматически адаптируется к рыночным колебаниям и защищает прибыль.
- Полная автоматизацияВсе условия выполняются в количественном порядке, чтобы избежать эмоционального вмешательства.
Анализ рисков
- Риск потрясенияЧастые скрещивания EMA при поперечном движении могут приводить к многократным ложным сигналам, которые приводят к последовательным убыткам.
- Параметры чувствительныПараметры, такие как циклы EMA, RSI и т. д., могут нуждаться в корректировке в различных рыночных условиях.
- Задержка с доставкойВ экстремальных ситуациях подтверждение транзакций может задерживаться, что может привести к неблагоприятным результатам.
- Риск проскальзыванияВ случае больших колебаний в режиме полного ввода и вывода может возникнуть большая скользкость исполнения.
Решение проблемы:
- Повышение волатильности фильтров (например, ATR) для предотвращения волатильности рынка
- Применение механизмов адаптации параметров или регулярной оптимизации
- Настройка максимального количества последовательных остановок
- Снижение затрат на ударное строительство
Направление оптимизации
- Изменение динамических параметров: автоматическая корректировка цикла EMA в зависимости от рыночных колебаний (например, ATR), удлинение цикла при высоких колебаниях уменьшает шум.
- Комбинированная стратегия выхода: в сочетании с фиксированным соотношением стоп-стоп-лосс и EMA-выхода, например, установка соотношения риска и прибыли 1:2.
- Оптимизация машинного обучения: с использованием модели обучения с историческими данными, динамически корректируя весомость факторов.
- Проверка многовременных рамок: подтверждение тенденции в более высоких временных рамках, например, направление тенденции на уровне солнечного света.
- Улучшение управления финансами: Динамическая коррекция размеров позиций с использованием формулы Келли или метода фиксированного коэффициента.
Подвести итог
Эта стратегия обеспечивает высокое качество трендовых торговых сигналов с помощью многофакторной синхронизации, особенно подходит для фазы, когда тенденция очевидна. Механизм четырехкратной проверки эффективно повышает надежность сигнала, но следует обратить внимание на адаптивную коррекцию в волатильных рынках. В будущем можно еще больше повысить стабильность результатов с помощью динамизации параметров и стратегии продвинутого выхода.
Исходный код стратегии
/*backtest
start: 2024-04-24 00:00:00
end: 2025-04-23 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USD"}]
*/
//@version=5
//@WunderTrading
strategy("Nirvana Mode v1.0", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick=true)
// === INPUTS ===
emaShort = ta.ema(close, 8)
emaLong = ta.ema(close, 21)
rsi = ta.rsi(close, 14)
supertrendFactor = 3.0
supertrendPeriod = 10
[supertrend, direction] = ta.supertrend(supertrendFactor, supertrendPeriod)
volumeAvg = ta.sma(volume, 10)
volumeSpike = volume > volumeAvg * 1.8
// === ENTRY CONDITIONS ===
longCond = ta.crossover(emaShort, emaLong) and rsi > 50 and direction == 1 and volumeSpike
shortCond = ta.crossunder(emaShort, emaLong) and rsi < 50 and direction == -1 and volumeSpike
exitCond = ta.cross(close, emaLong)
// === PLOT & SIGNALS ===
plot(emaShort, color=color.orange)
plot(emaLong, color=color.blue)
plotshape(longCond, title="BUY", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(shortCond, title="SELL", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
plotshape(exitCond, title="EXIT", location=location.bottom, color=color.gray, style=shape.xcross, size=size.tiny)
// === STRATEGY ORDERS ===
if (longCond)
strategy.entry("ENTER LONG", strategy.long, comment="ENTER-LONG_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
if (shortCond)
strategy.entry("ENTER SHORT", strategy.short, comment="ENTER-SHORT_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
if (exitCond)
strategy.close_all(comment="EXIT-ALL_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
// === ALERT ===
alertcondition(longCond, title="Long Signal", message="ENTER-LONG_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
alertcondition(shortCond, title="Short Signal", message="ENTER-SHORT_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")
alertcondition(exitCond, title="Exit Signal", message="EXIT-ALL_BITGET_BTCUSDT_NirvanaMode-v1.0_15M_hmq9xx")