
Эта стратегия является количественной торговой системой, которая сочетает в себе идентификацию полюсов, технические показатели и движущиеся средние, и торгуется, в основном, путем захвата обратного сигнала в состоянии перепродажи на рынке. В основе стратегии используется CCI или динамический показатель для идентификации переломных точек рынка, в сочетании с RSI, чтобы определить зону перепродажи на рынке, и с помощью 100-дневного индекса движущихся средних (EMA) в качестве вспомогательного фильтра, чтобы сформировать полную рамку для принятия решений.
Торговая логика этой стратегии основана на следующих ключевых элементах:
Выбор источника входящего сигнала: Стратегия позволяет трейдерам выбирать между показателями CCI (Commodity Channel Index) и Momentum (Momentum) в качестве основных входных сигналов, чтобы определить потенциальные переломные моменты, идентифицируя пересечения этих показателей с нулевой линией.
RSI подтвердил перекуп и перепродажу: использование относительно сильного и слабого индекса RSI, чтобы идентифицировать состояние перекупа и перепродажи рынка в качестве необходимых условий для входа. Стратегия проверяет значения RSI в текущем и предыдущих трех периодах, при условии, что один из них удовлетворен.
Отличается от идентифицируемого ((по выбору): Стратегия предоставляет возможность идентифицировать обычные отклонения от потери / падения. Когда эта функция включена, система ищет отклонения от RSI в зоне перекупа / перепродажи, чтобы дополнительно подтвердить возможный обратный сигнал.
Фильтрационные условия EMAВ качестве фильтра тренда, стратегия рассматривает сигнал покупки только в том случае, если цена находится ниже ЭМА, и сигнал продажи в том случае, если она находится выше ЭМА, чтобы гарантировать, что направление торговли противоположно основной тенденции.
Полный список:
Механизм многократного подтвержденияС помощью комбинации нескольких технических индикаторов (CCI / momentum, RSI, EMA) обеспечивается более надежный торговый сигнал, снижающий риск ложных прорывов.
Гибкая параметровая настройкаСтратегия позволяет корректировать параметры, включая выбор использования CCI или динамического индикатора, RSI сверхпокупки сверхпродажи, длины цикла индикатора, чтобы позволить трейдерам оптимизировать в соответствии с различными рыночными условиями и личными предпочтениями в отношении риска.
Противоположная торговая позицияСтратегия ориентирована на поимку возможности для переворота в зонах перепродажи, особенно в условиях высокой волатильности рынка.
Отступление от механизма подтверждения: опциональная функция подтверждения отклонения улучшает качество сигнала и помогает отфильтровать точку поворота с более высокой вероятностью.
Интуитивные визуальные сигналыСтратегия: четко обозначить на графике сигналы о покупке и продаже, что позволяет трейдерам быстро идентифицировать и оценить торговые возможности.
Полная система оповещенияВстроенная функция сигналов о покупке и продаже, позволяющая в режиме реального времени контролировать рынок и совершать сделки.
Риск обратной тенденцииВ качестве противоположной стратегии, в рынок с сильной тенденцией может быть преждевременное вхождение, что приводит к частым убыточным сделкам. Решение заключается в том, чтобы приостановить использование в рынке с сильной тенденцией или добавить условия фильтрации интенсивности тенденции.
Параметр Чувствительность: эффективность стратегии в значительной степени зависит от параметров, особенно от уровня RSI и циклов индикатора. Различные рыночные условия могут требовать разных параметров, поэтому рекомендуется проводить полное отслеживание и оптимизацию.
Задержка сигналаВ связи с тем, что стратегия зависит от перекрестных и отклоняющихся от формы индикаторов, возможны проблемы с задержкой сигнала, что приводит к недостаточно идеальной точке входа. Можно рассмотреть возможность добавления более чувствительных краткосрочных индикаторов для раннего выявления потенциальных переворотов.
Отсутствие механизмов сдерживанияВ настоящее время в стратегии не определены четкие правила остановки убытков, что может привести к более высокому риску падения в реальной торговле. Рекомендуется применение соответствующих стратегий остановки убытков, таких как остановки на основе ATR или остановки на ключевых позициях поддержки / сопротивления.
Чрезмерная зависимость от единой временной рамкиПримечание: Стратегия основана на сигналах только в одном временном периоде, отсутствие подтверждения в нескольких временных периодах может привести к ошибочным выводам в контексте более широких тенденций.
Добавление правил стоп-лоста и стоп-стопДобавление четких правил остановки и остановки к стратегии, таких как остановка на основе ATR, перемещаемая остановка или фиксированная остановка на основе соотношения риска, а также установка целевых показателей прибыли.
Анализ многовременных рамокИнтеграция информации о тенденциях более высоких временных рамок, чтобы убедиться, что направление торговли совпадает с более широкими тенденциями, или, по крайней мере, искать возможности для реверсии вблизи уровней поддержки/сопротивления более высоких временных рамок.
Оптимизация логики входа: рассмотреть возможность добавления подтверждения загрузки, подтверждения обратного сигнала только в случае увеличения загрузки, дальнейшее улучшение качества сигнала. Изменение CCI на показатель загрузки уже упоминалось, может повысить производительность.
Добавление фильтра частоты колебаний: внедрение ATR или других волатильных индикаторов, избегание торговли в условиях низкой волатильности или изменение размеров позиций в зависимости от волатильности.
Изменение динамических параметров: реализует динамическую корректировку RSI на перекуп и перепродажу, автоматически оптимизируя параметры на основе рыночных условий (тенденции или колебания).
Дополнительные правила по управлению деньгами: изменение размеров позиций в зависимости от силы сигналов и динамики рыночных условий, оптимизация эффективности использования капитала.
Упрощение сложности стратегии: оценка вклада компонентов в общую производительность, возможно, удаление или упрощение некоторых условий, повышение устойчивости и удобства использования стратегии.
EMA-помощь в торговле обратными точками является технической системой торговли, основанной на технических показателях, которая используется для получения прибыли от потенциальных переворотов в состоянии перепродажи. Основная логика включает в себя нулевую линию CCI/мотивации, подтверждение зоны перепродажи RSI, проверку отклонения от 100 EMA в качестве фильтра тренда.
Стратегия выделяется в условиях волатильных рынков, особенно подходит для 5-минутных временных рамок Ethereum/Tether. Преимущества стратегии заключаются в наличии многочисленных механизмов подтверждения и гибкой параметровой настройке, но она также сталкивается с присущими рисками отторжения от тренда и отсутствием полного механизма остановки потерь.
Для дальнейшего повышения эффективности стратегии рекомендуется добавить соответствующие правила остановки убытков, интегрировать многократный анализ временных рамок, оптимизировать логику входа, ввести фильтры волатильности и внедрить эффективные правила управления средствами. Благодаря этим оптимизациям стратегия может стать ценным дополнением к инструментарию трейдера, особенно для захвата краткосрочных рыночных поворотов.
/*backtest
start: 2024-12-01 00:00:00
end: 2025-04-02 00:00:00
period: 3d
basePeriod: 3d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Extreme Points + 100 EMA Strategy", overlay=true)
// Input settings
ccimomCross = input.string('CCI', 'Entry Signal Source', options=['CCI', 'Momentum'], tooltip='CCI or Momentum will be the final source of the Entry signal if selected.')
ccimomLength = input.int(10, minval=1, title='CCI/Momentum Length')
useDivergence = input.bool(true, title='Find Regular Bullish/Bearish Divergence', tooltip='If checked, it will only consider an overbought or oversold condition that has a regular bullish or bearish divergence formed inside that level.')
rsiOverbought = input.int(65, minval=1, title='RSI Overbought Level', tooltip='Adjusting the level to extremely high may filter out some signals especially when the option to find divergence is checked.')
rsiOversold = input.int(35, minval=1, title='RSI Oversold Level', tooltip='Adjusting this level extremely low may filter out some signals especially when the option to find divergence is checked.')
rsiLength = input.int(14, minval=1, title='RSI Length')
// EMA filter (100 EMA)
emaLength = 100
emaValue = ta.ema(close, emaLength)
// CCI and Momentum calculation
momLength = ccimomCross == 'Momentum' ? ccimomLength : 10
mom = close - close[momLength]
cci = ta.cci(close, ccimomLength)
ccimomCrossUp = ccimomCross == 'Momentum' ? ta.cross(mom, 0) : ta.cross(cci, 0)
ccimomCrossDown = ccimomCross == 'Momentum' ? ta.cross(0, mom) : ta.cross(0, cci)
// RSI calculation
src = close
up = ta.rma(math.max(ta.change(src), 0), rsiLength)
down = ta.rma(-math.min(ta.change(src), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
oversoldAgo = rsi[0] <= rsiOversold or rsi[1] <= rsiOversold or rsi[2] <= rsiOversold or rsi[3] <= rsiOversold
overboughtAgo = rsi[0] >= rsiOverbought or rsi[1] >= rsiOverbought or rsi[2] >= rsiOverbought or rsi[3] >= rsiOverbought
// Regular Divergence Conditions
bullishDivergenceCondition = rsi[0] > rsi[1] and rsi[1] < rsi[2]
bearishDivergenceCondition = rsi[0] < rsi[1] and rsi[1] > rsi[2]
// Entry Conditions
longEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition) and close < emaValue
shortEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition) and close > emaValue
// Plotting 100 EMA
plot(emaValue, title="100 EMA", color=color.blue, linewidth=1)
// Entry and Exit strategy logic
if (longEntryCondition)
strategy.entry("Buy", strategy.long)
if (shortEntryCondition)
strategy.entry("Sell", strategy.short)
// Plotting buy and sell signals on the chart
plotshape(longEntryCondition, title='BUY', style=shape.triangleup, text='B', location=location.belowbar, color=color.new(color.lime, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(shortEntryCondition, title='SELL', style=shape.triangledown, text='S', location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)
// Alerts for buy/sell signals
alertcondition(longEntryCondition, title='BUY Signal', message='Buy Entry Signal')
alertcondition(shortEntryCondition, title='SELL Signal', message='Sell Entry Signal')