
Обзор
Стратегия представляет собой систему перекрестного трейдинга, основанную на перемещающихся средних показателях (EMA) и относительно сильных показателях (RSI). Стратегия определяет время входа и выхода на рынок путем перекрестного ценообразования с EMA и сверхпокупки сверхпродажи на уровне RSI. Система разработана с полным механизмом остановки и получения прибыли, позволяющим эффективно контролировать риск.
Стратегический принцип
Стратегия основана на следующей основной логике:
- Входный сигнал основан на перекрестке цены с отклонением EMA. При переходе цены вверх (EMA + отклонение) появляется многосигнал; при переходе цены вниз (EMA - отклонение) появляется пустой сигнал.
- Механизм выхода включает в себя два измерения: фиксированный стоп-потеря и прибыль на основе RSI. Продолжительность позиции прибыльна, когда RSI достигает 70, а длительная позиция прибыльна, когда RSI достигает 28.
- Система использует 68-циклическую EMA в качестве индикатора среднесрочного тренда, 13-циклический RSI в качестве индикатора краткосрочного перепродажи.
Стратегические преимущества
- Сочетание трендового отслеживания и шок-индикатора: с помощью EMA, чтобы понять направление среднесрочной тенденции, с помощью RSI, чтобы поймать возможности перекупа и перепродажи в краткосрочном рынке.
- Улучшенный контроль риска: установлена фиксированная точка остановки, эффективно контролирующая риск отдельной сделки.
- Система параметров может быть настроена: ключевые параметры, такие как циклы EMA, RSI и перекрестное смещение, могут быть оптимизированы в соответствии с различными рыночными характеристиками.
- Гибкость механизмов прибыли: использование RSI в качестве критерия прибыли, способность самостоятельно адаптироваться в зависимости от интенсивности колебаний рынка.
Стратегический риск
- Риск поворота тренда: при изменении тренда на рынке индикатор EMA имеет задержку, что может привести к ошибочному сигналу.
- Неблагоприятный эффект от колебаний: частое перекрестное движение может привести к последовательным остановкам при отсутствии явных тенденций.
- Чувствительность к параметрам: эффективность стратегии чувствительна к параметрам, которые могут нуждаться в частых корректировках в различных рыночных условиях.
Направление оптимизации стратегии
- Добавление трендового фильтра: можно рассмотреть возможность добавления более длинных циклов в качестве трендового фильтра, торгуя только в том случае, если направление тренда явно.
- Динамический стоп-механизм: можно заменить стоп-механизм с фиксированным числом точек на динамический стоп-механизм, основанный на ATR, который лучше адаптируется к колебаниям рынка.
- Оптимизация времени входа: может быть объединен с показателями пропускной способности, подтвержденными через пропускную способность при появлении перекрестного сигнала.
- Идентификация рыночных условий: увеличение показателей волатильности, корректировка параметров торговли или приостановка торговли в условиях высокой волатильности.
Подвести итог
Стратегия, объединяя два классических технических показателя, EMA и RSI, создает торговую систему, которая сочетает в себе трендовые и обратные характеристики. Совершенный механизм контроля риска и регулируемые параметры дизайна делают ее практически полезной. Тем не менее, параметрическая оптимизация стратегии и рыночная адаптация имеют место для улучшения.
Исходный код стратегии
/*backtest
start: 2024-02-21 00:00:00
end: 2024-10-05 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("EMA & RSI Custom Strategy", overlay=true)
// Input Parameters
emaLength = input.int(68, title="EMA Length")
rsiLength = input.int(13, title="RSI Period")
buyOffset = input.float(2, title="Buy Offset (above EMA)")
sellOffset = input.float(2, title="Sell Offset (below EMA)")
stopLossPoints = input.float(20, title="Stop Loss (points)")
buyRSIProfitLevel = input.int(70, title="Buy RSI Profit Level")
sellRSIProfitLevel = input.int(28, title="Sell RSI Profit Level")
// EMA and RSI Calculations
ema = ta.ema(close, emaLength)
rsi = ta.rsi(close, rsiLength)
// Buy Condition
buyPrice = ema + buyOffset
buyCondition = ta.crossover(close, buyPrice)
if buyCondition
strategy.entry("Buy", strategy.long)
// Stop Loss and Profit for Buy
if strategy.position_size > 0
if close <= strategy.position_avg_price - stopLossPoints
strategy.close("Buy", comment="Stop Loss")
if rsi >= buyRSIProfitLevel
strategy.close("Buy", comment="Profit Target")
// Sell Condition
sellPrice = ema - sellOffset
sellCondition = ta.crossunder(close, sellPrice)
if sellCondition
strategy.entry("Sell", strategy.short)
// Stop Loss and Profit for Sell
if strategy.position_size < 0
if close >= strategy.position_avg_price + stopLossPoints
strategy.close("Sell", comment="Stop Loss")
if rsi <= sellRSIProfitLevel
strategy.close("Sell", comment="Profit Target")
// Plot EMA
plot(ema, color=color.blue, title="EMA 68")