Эта стратегия сочетает в себе правила торговли реверсией с индикаторами импульса. Она интегрирует двунаправленное изменение и Осиллятор импульса Чанде для выявления возможностей реверсии при проверке сигналов импульса для генерации более надежных торговых сигналов.
Стратегия состоит из двух частей:
Первая часть - двунаправленные правила торговли с обратным движением. Она определяет возможности обратного движения, обнаруживая изменения цены закрытия в предыдущие два дня. В частности, если цены закрытия снизились в предыдущие два дня, а текущая цена закрытия выше, чем предыдущий закрытие, и Стохастический осциллятор находится ниже порога, он запускает сигнал покупки. Напротив, если цены закрытия увеличились в предыдущие два дня, и текущая цена закрытия ниже, чем предыдущее закрытие, и Стохастический осциллятор выше порога, он запускает сигнал продажи.
Вторая часть - это Осиллятор импульса Чанде. Он сравнивает величину изменения цены со средней величиной в определенный период, чтобы определить импульс. Если индикатор импульса выше верхнего предела, он генерирует сигнал покупки. Если ниже нижнего предела, он генерирует сигнал продажи.
Стратегия сочетает в себе двунаправленные правила торговли, чтобы найти потенциальные точки переворота, и индикатор импульса, чтобы проверить действительность сигналов переворота.
Механизм двойной проверки улучшает надежность сигнала, избегая ложных сигналов.
Сочетание стратегии реверсии и стратегии тренда обеспечивает гибкость для использования возможностей как на рынках реверсии, так и на рынках тренда.
Введение импульса предотвращает попадание в ловушки реверсии, торгуя только тогда, когда импульс подтверждается.
Многочисленные регулируемые параметры могут быть оптимизированы для различных рыночных условий.
Сигналы обратного движения могут подвергаться большим отклонениям, требующим разумного стоп-лосса.
Точное время отмены сложно, может привести к ошибочным оценкам.
Отставание показателей импульса может привести к отсутствию лучших пунктов входа в обратную динамику.
Настройка параметров требует тщательной оптимизации на основе конкретных рынков, неправильные настройки могут увеличить риски.
Риски могут быть уменьшены с помощью правильного стоп-лосса, надежной оптимизации параметров, сохранения некоторого пространства в условиях запуска обратного сигнала и т. Д.
Испытывать различные комбинации параметров обратного движения, чтобы найти параметры, чувствительные к обратному движению рынка.
Попробуйте различные индикаторы импульса, такие как RSI, скорость изменения объема и т.д.
Добавьте такие фильтры, как "прорыв", чтобы избежать обмена не ключевыми точками переворота.
Оценить стратегии стоп-лосса, чтобы найти максимальные методы с контролируемым снижением.
Оценить стратегии размещения позиций для корректировки размеров позиций на основе рыночных условий.
Стратегия сочетает в себе преимущества стратегий реверсии и импульса, с надежными сигналами и гибкостью для захвата возможностей. Параметры могут быть оптимизированы, риски могут управляться с помощью стоп-лосса и размещения позиций для улучшения стабильности и прибыльности. В целом, она исследует эффективную интеграцию стратегий реверсии и тренда и стоит дальнейших исследований и применения.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/08/2019 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This indicator plots Chande Momentum Oscillator. This indicator was // developed by Tushar Chande. A scientist, an inventor, and a respected // trading system developer, Mr. Chande developed the CMO to capture what // he calls "pure momentum". For more definitive information on the CMO and // other indicators we recommend the book The New Technical Trader by Tushar // Chande and Stanley Kroll. // The CMO is closely related to, yet unique from, other momentum oriented // indicators such as Relative Strength Index, Stochastic, Rate-of-Change, // etc. It is most closely related to Welles Wilder`s RSI, yet it differs // in several ways: // - It uses data for both up days and down days in the numerator, thereby // directly measuring momentum; // - The calculations are applied on unsmoothed data. Therefore, short-term // extreme movements in price are not hidden. Once calculated, smoothing // can be applied to the CMO, if desired; // - The scale is bounded between +100 and -100, thereby allowing you to // clearly see changes in net momentum using the 0 level. The bounded scale // also allows you to conveniently compare values across different securities. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos CMO(Length, TopBand, LowBand) => pos = 0 xMom = abs(close - close[1]) xSMA_mom = sma(xMom, Length) xMomLength = close - close[Length] nRes = 100 * (xMomLength / (xSMA_mom * Length)) pos := iff(nRes > TopBand, 1, iff(nRes <= LowBand, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Chande Momentum Oscillator", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthCMO = input(9, minval=1) TopBand = input(70, minval=1) LowBand = input(-70, maxval=-1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posCMO = CMO(LengthCMO, TopBand, LowBand) pos = iff(posReversal123 == 1 and posCMO == 1 , 1, iff(posReversal123 == -1 and posCMO == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )