Эта стратегия основана на перекрестных сигналах индексных движущихся средних (EMA) двух разных временных рамок для многополярной торговли. Когда более короткие временные рамки EMA пересекаются выше более длинных временных рамок EMA, создается многополярный сигнал; когда более короткие временные рамки EMA пересекаются ниже более длинных временных рамок EMA, создается пустой сигнал.
Эта стратегия использует перекрестные сигналы EMA двух разных временных рамок для захвата рыночных тенденций:
Кружистые сигналы EMA в более длинных временных рамках (например, 2 часа) используются для определения направления основной тенденции. Когда более короткие EMA (например, 5 циклов) находятся на более длинных EMA (например, 20 циклов), то это указывает на повышение; наоборот, это указывает на снижение.
Кроссовый сигнал EMA в более коротких временных рамках (по умолчанию 3 минуты) используется для подтверждения направления основного тренда и запуска торгового сигнала. Когда более короткие EMA пересекают более длинные EMA, и более длинные рамки находятся в восходящем тренде, генерируются многосигналы; когда более короткие EMA пересекают более длинные EMA, и более длинные рамки находятся в нисходящем тренде, генерируются пустые сигналы.
Объединяя информацию о тенденциях в двух временных рамках, стратегия позволяет вовремя войти в рынок в начале формирования тенденции и вовремя выйти из рынка во время обратной тенденции, чтобы уловить основные тенденции рынка.
Подтверждение тенденций в двух временных рамках: стратегия использует информацию о тенденциях в разных временных рамках для подтверждения тенденций в более длинных временных рамках с помощью более коротких временных рамок, что помогает повысить надежность определения тенденций и уменьшить ошибочные сигналы.
Сильная способность к отслеживанию тенденций: индикатор EMA обладает хорошей способностью к отслеживанию тенденций и может своевременно посылать сигналы в начале формирования тенденций, что помогает стратегии вовремя войти в игру.
Гибкость параметров: временные рамки и параметры цикла EMA стратегии могут быть гибко изменены в зависимости от рыночных особенностей и стиля торговли, чтобы адаптироваться к различным рыночным условиям.
Легкость реализации: логика стратегии ясна, реализация кода относительно проста, легко понятна и применяется.
Риск оптимизации параметров: эффективность стратегии зависит от выбора параметров, таких как временные рамки и циклы EMA, неправильная настройка параметров может привести к плохой эффективности стратегии. Поэтому параметры должны быть оптимизированы и протестированы, чтобы гарантировать стабильную эффективность стратегии в различных рыночных условиях.
Риск шокирующего рынка: в условиях шокирующего рынка, пересечение EMA может часто происходить, что приводит к тому, что стратегия производит многочисленные ошибочные сигналы и часто торгует, снижая прибыль стратегии. Можно уменьшить ошибочные сигналы в шокирующем рынке, введя другие фильтрующие условия, такие как объем торгов, волатильность и другие показатели.
Риск обратного тренда: когда рыночная тенденция внезапно меняется, стратегия может задерживать вывод, что приводит к увеличению убытков. Вы можете контролировать максимальные потери в одной сделке, установив соответствующие условия остановки, такие как фиксированная процентная потеря или движущаяся потеря.
Введение дополнительных временных рамок: На базе существующих двойных временных рамок, можно вводить EMA-пересекающие сигналы для дополнительных временных рамок, таких как солнечные и круговые линии, для дальнейшей подтверждения направления тенденции и повышения надежности сигнала.
Комбинирование с другими техническими показателями: можно комбинировать EMA с другими техническими показателями, такими как индекс относительной силы (RSI), средний реальный диапазон (ATR) и т. д., чтобы улучшить качество сигнала и эффективность фильтрации.
Оптимизация правил входа и выхода из игры: можно оптимизировать правила входа и выхода из игры, например, после появления перекрестного сигнала EMA, ожидая определенного периода подтверждения для повторного входа в игру; или при появлении обратного сигнала, установить определенную буферную зону для повторного выхода из игры, чтобы уменьшить влияние ошибочного сигнала.
Динамическая корректировка параметров: можно динамически корректировать параметры стратегии в зависимости от изменения состояния рынка, например, использовать более длинные циклы EMA, когда тенденция очевидна; в шокирующем рынке использовать более короткие циклы EMA, чтобы адаптироваться к различным рыночным условиям.
Многоразовая стратегия, основанная на перекрестных сигналах EMA с двумя временными рамками, использует информацию о тенденциях из разных временных рамок для подтверждения тенденций в более длинных временных рамках для захвата основных тенденций на рынке. Эта стратегия обладает преимуществами, такими как сильная способность к отслеживанию тенденций, гибкость и легкость выполнения параметров, но в то же время подвержена таким рискам, как оптимизация параметров, рыночные колебания и обратный тренд.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('EMA Crossover Multi-Timeframe Strategy', shorttitle='EMA Cross MTF', overlay=true)
// Kullanıcı girdileri
inputTimeframe1 = input.timeframe('120', title='Daha Uzun Zaman Dilimi')
inputTimeframe2 = input.timeframe('3', title='Daha Kısa Zaman Dilimi')
inputShortTermEma = input.int(5, title='Kısa Vadeli EMA Periyodu', minval=1)
inputLongTermEma = input.int(20, title='Uzun Vadeli EMA Periyodu', minval=1)
// EMA hesaplamaları
shortTermEma = ta.ema(close, inputShortTermEma)
longTermEma = ta.ema(close, inputLongTermEma)
// Daha uzun zaman dilimi için EMA crossover'larını kontrol et
longHourEma5 = request.security(syminfo.tickerid, inputTimeframe1, shortTermEma)
longHourEma20 = request.security(syminfo.tickerid, inputTimeframe1, longTermEma)
longHourCrossover = longHourEma5>longHourEma20 //ta.crossover(fourHourEma5, fourHourEma20)
longHourCrossunder = longHourEma5< longHourEma20//ta.crossunder(fourHourEma5, fourHourEma20)
// Daha kısa zaman dilimi için EMA crossover'larını kontrol et
shortMinuteEma5 = request.security(syminfo.tickerid, inputTimeframe2, shortTermEma)
shortMinuteEma20 = request.security(syminfo.tickerid, inputTimeframe2, longTermEma)
shortMinuteCrossover = ta.crossover(shortMinuteEma5, shortMinuteEma20)
shortMinuteCrossunder = ta.crossunder(shortMinuteEma5, shortMinuteEma20)
// Alım ve satım sinyalleri
longSignal = longHourCrossover and shortMinuteCrossover
shortSignal = longHourCrossunder and shortMinuteCrossunder
// Sinyalleri çiz
plotshape(series=longSignal, title='Al', location=location.belowbar, color=color.new(color.green, 0), style=shape.labelup, text='AL')
plotshape(series=shortSignal, title='Sat', location=location.abovebar, color=color.new(color.red, 0), style=shape.labeldown, text='SAT')
// Görselleştirme
plot(shortTermEma, "Kısa Vadeli EMA", color=color.rgb(154, 200, 238), linewidth=2)
plot(longTermEma, "Uzun Vadeli EMA", color=color.rgb(61, 32, 165), linewidth=2)
// Strateji
if (longSignal)
strategy.entry("Long", strategy.long, comment="Long1")
// strategy.exit("Exit Long", "Long", stop=longStopPrice, limit=longTargetPrice, comment="Exit Long1")
if (shortSignal)
strategy.entry("Short", strategy.short, comment="Short1")
//strategy.exit("Exit Short", "Short", stop=shortStopPrice, limit=shortTargetPrice, comment="Exit Short2")