
Обзор
Стратегия является основанной на многочисленных технических показателях, а также трейдинговой системой для отслеживания тенденций, которая объединяет трейдинговые возможности для выявления высоковероятных торговых возможностей. Стратегия стремится к высокой доходности при одновременном управлении рисками, устанавливая разумные цели по остановке и получению прибыли.
Стратегический принцип
Основная логика стратегии основана на следующих ключевых элементах:
- Для определения направления тренда используются 50-дневные и 200-дневные двухуровневые скользящие средние показатели (EMA), которые дают сигнал плюс-минус, когда краткосрочная средняя линия пересекает долгосрочную среднюю линию вверх, и наоборот - сигнал минус-минус.
- Введение относительно сильного и слабого индекса (RSI) для подтверждения динамики, RSI больше 50 рассматривается как динамика роста, меньше 50 рассматривается как динамика падения.
- Проверяется эффективность торговых сигналов, сравнивая текущий объем с 20-дневным средним объемом в 1,5 раза, чтобы гарантировать, что сделки совершаются только в то время, когда объем торгов увеличивается.
- На основе динамического настройки стоп-позиции 14-й реальной amplitude (ATR), стоп-позиция устанавливается в 1,5 раза ниже последнего минимума ATR.
- Целевая прибыль должна быть в 3 раза больше, чем остаточная сумма убытков.
Стратегические преимущества
- Механизм подтверждения множественных сигналов значительно повышает точность сделки, избегая ложных сигналов, которые могут быть вызваны одним индикатором.
- Динамическая стоп-стратегия позволяет адаптироваться к изменению волатильности рынка и обеспечивает лучшую защиту от риска.
- Установка риска/прибыли в соотношении 3:1 позволяет стратегии оставаться прибыльными даже при низких шансах на победу.
- Стратегия работает в течение более длительных временных периодов, отфильтровывая краткосрочный рыночный шум и улавливая основные тенденции.
- Имеет хорошую адаптивность к рынку и может применяться для различных типов сделок.
Стратегический риск
- На рынках с поперечной систематизацией часто могут возникать ложные сигналы прорыва, что приводит к последовательным остановкам.
- Строгие механизмы подтверждения сигналов могут упустить некоторые потенциальные возможности для торговли.
- Установленное соотношение риска и прибыли в 3 раза может быть слишком идеальным в некоторых рыночных условиях.
- В зависимости от показателя объема сделок, на некоторых рынках (например, в криптовалютах) может возникать рыночная манипуляция.
Направление оптимизации стратегии
- Можно ввести адаптивные среднелинейные циклы, чтобы стратегия лучше адаптировалась к различным рыночным циклам.
- Рассмотреть возможность включения индикатора силы тренда и использовать более радикальные методы управления позициями при сильных тенденциях.
- Разработка динамического механизма установки соотношения доходов и риска, адаптируемого к волатильности рынка.
- Добавление модуля распознавания состояния рынка с использованием различных параметров в различных состояниях рынка.
- Оптимизация методов расчета пороговой величины подтверждения объема поставок, чтобы сделать их более адаптивными.
Подвести итог
Стратегия создает прочную систему отслеживания тенденций с помощью трехкратного подтверждения механизма пересечения средней линии, динамики RSI и оборота. Уровень риска в 3 раза выигрышный, установленный для стратегии, обеспечивает хорошую прибыль, а динамический механизм остановки убытков, основанный на ATR, обеспечивает необходимую защиту от риска. Хотя стратегия может плохо работать на горизонтальных рынках, ее адаптивность и стабильность могут быть дополнительно повышены с помощью рекомендуемой оптимизации.
Исходный код стратегии
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-08 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy", overlay=true)
// Inputs
emaShortLength = input(50, title="Short EMA Length")
emaLongLength = input(200, title="Long EMA Length")
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
// Calculate EMAs
emaShort = ta.ema(close, emaShortLength)
emaLong = ta.ema(close, emaLongLength)
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Volume Confirmation
volThreshold = ta.sma(volume, 20) * 1.5
// Calculate ATR
atrValue = ta.atr(14)
// Buy Condition
buyCondition = ta.crossover(emaShort, emaLong) and rsi > 50 and volume > volThreshold
if (buyCondition)
strategy.entry("Long", strategy.long)
// Sell Condition
sellCondition = ta.crossunder(emaShort, emaLong) and rsi < 50 and volume > volThreshold
if (sellCondition)
strategy.close("Long")
// Stop Loss & Take Profit
sl = low - atrValue * 1.5 // Stop loss below recent swing low
tp = close + (close - sl) * 3 // Take profit at 3x risk-reward ratio
strategy.exit("Take Profit", from_entry="Long", limit=tp, stop=sl)
// Plot EMAs
plot(emaShort, title="50 EMA", color=color.blue)
plot(emaLong, title="200 EMA", color=color.red)