
Обзор
Эта стратегия использует перекрестные сигналы от двух различных циклов EMA для захвата краткосрочных движений рынка, открывая многоглавные позиции, когда быстрая линия пересекает медленную линию снизу вверх, и открывая позиции с пустыми головами, когда быстрая линия пересекает медленную линию сверху вниз. В то же время устанавливается стоп-лосс и стоп-стоп для управления риском и блокирования прибыли.
Стратегический принцип
- Для расчета двух различных циклов EMA, параметры по умолчанию составляют 9 и 21 циклов, которые могут быть скорректированы в зависимости от рыночных особенностей и личных предпочтений.
- Когда быстрая линия EMA пересекает медленную линию EMA снизу вверх, генерируется многозначный сигнал, открывающий многозначные позиции.
- Когда быстрая линия EMA пересекает медленную линию EMA вверх-вниз, генерируется пустой сигнал, открывающий пустую позицию.
- При открытии позиции устанавливаются соответствующие цены стоп-лосса и стоп-прив, в зависимости от цены открытия позиции и предпочтений риска для текущей позиции.
- Когда цена достигнет стоп-припаса или стоп-лосса, ликвидируйте текущую позицию и ждите следующего торгового сигнала.
Стратегические преимущества
- Простая и простая в использовании: стратегия имеет четкую логику, ее можно реализовать, используя только две линии EMA с разными циклами, она очень проста и понятна, и подходит для быстрого освоения новичками.
- Подходит для короткой торговли: EMA более чувствительна к изменениям цен, способна быстро реагировать на краткосрочные тенденции рынка, очень подходит для коротких трейдеров, чтобы поймать краткосрочные возможности колебания рынка.
- Тренд-слежение: EMA является отстающим, но также очень хорошим индикатором тренд-слежения, EMA-пересечение помогает трейдерам торговать в соответствии с трендом.
- Контролируемый риск: в стратегии установлены процентные стоп-лосы и стоп-стоп, хотя прибыль и убыток не слишком высоки, но они могут играть определенную защитную роль в случае неопределенности или большой волатильности рынка, снижая риск разрыва позиции счета.
Стратегический риск
- Частые сделки: эта стратегия будет иметь более высокую частоту торгов по сравнению с долгосрочной стратегией. Во время рыночных потрясений может возникать частое открытие позиций, а комиссионные заметно возрастут, что создаст определенную нагрузку на средства счета.
- Оптимальные параметры: выбор параметров EMA имеет большое влияние на эффективность стратегии. Оптимальные параметры могут потерять силу из-за изменений в состоянии рынка, поэтому их необходимо регулярно проверять и корректировать.
- Риск убыточности: в настоящее время настройки стоп-стопа и стоп-стопа в примерах кода являются фиксированными процентами, фактически убыточность не очень хороша, и в некоторых рыночных условиях стратегия может потерять больше последовательных потерь.
- Изменение тренда: при переходе рынка от колебаний к началу тренда эта стратегия может привести к последовательным потерям, вызванным задержкой распознавания направления.
Направление оптимизации стратегии
- Оптимизация стоп-стоп: в зависимости от особенностей рыночной волатильности, выбирайте более подходящий способ установки стоп-стоп, например, используйте ATR, процент отслеживания стоп-стоп и т. Д., чтобы повысить показатели убытков и возврата риска стратегии.
- Фильтрация шокирующих событий: в сочетании с другими техническими или количественными показателями для повторного подтверждения перекрестных сигналов EMA, например, для определения того, будет ли ADX преодолевать определенную отметку вверх и открывать позиции, снижая риск частых торгов.
- Оптимизация управления позициями: можно рассматривать поэтапное создание позиций, увеличение позиций при ясных тенденциях, уменьшение позиций при колебаниях, снижение колебаний капитала.
- Комбинирование различных циклов: для создания сигналов открытия позиции используются комбинации ЭМА с несколькими различными параметрами, например, среднесрочные ЭМА-кроссы в качестве входных сигналов, а долгосрочные ЭМА - в качестве фильтров трендов, повышающих точность идентификации трендов.
- Сочетание с макроанализом: сочетание стратегии с макроэкономическим анализом, использование этой стратегии при ясной макроэкономической ситуации для улучшения ее эффективности в среднесрочной и долгосрочной перспективе.
Подвести итог
EMA кросс-двигательной короткой линии торговой стратегии является простой и удобный для использования короткой линии торговой стратегии, подходящей для начинающих быстро практику и знакомство с количественной торговли процесса. Эта стратегия может захватить краткосрочные динамические эффекты, в соответствии с направлением рыночных тенденций, в то же время установить фиксированный процент стоп-лосс, чтобы контролировать риск.
Исходный код стратегии
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Scalping Strategy", overlay=true)
// Parameters
length_fast = input.int(9, title="Fast EMA Length", minval=1)
length_slow = input.int(21, title="Slow EMA Length", minval=1)
stop_loss_pct = 0.7 // Risk 0.7% of capital
take_profit_pct = 0.5 // Target 0.5% of capital
// Calculate EMAs
ema_fast = ta.ema(close, length_fast)
ema_slow = ta.ema(close, length_slow)
// Plot EMAs
plot(ema_fast, color=color.blue, title="Fast EMA")
plot(ema_slow, color=color.red, title="Slow EMA")
// Trading logic
long_condition = ta.crossover(ema_fast, ema_slow)
short_condition = ta.crossunder(ema_fast, ema_slow)
// Calculate stop loss and take profit levels
stop_loss_long = strategy.position_avg_price * (1 - stop_loss_pct / 100)
take_profit_long = strategy.position_avg_price * (1 + take_profit_pct / 100)
stop_loss_short = strategy.position_avg_price * (1 + stop_loss_pct / 100)
take_profit_short = strategy.position_avg_price * (1 - take_profit_pct / 100)
// Enter and exit trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Exit long trades
if (strategy.position_size > 0)
strategy.exit("Take Profit Long", "Long", limit=take_profit_long)
strategy.exit("Stop Loss Long", "Long", stop=stop_loss_long)
// Exit short trades
if (strategy.position_size < 0)
strategy.exit("Take Profit Short", "Short", limit=take_profit_short)
strategy.exit("Stop Loss Short", "Short", stop=stop_loss_short)