Эта стратегия объединяет Индекс импульсного осциллятора и 123 шаблон в кумулятивный торговый сигнал для улучшения прибыльности. Импульс осциллятор отслеживает волатильность рынка и корректирует параметры RSI для улавливания краткосрочных тенденций. 123 шаблон формирует торговые сигналы путем выявления незначительных максимумов и минимумов цен в краткосрочной перспективе. Комбинация обеих стратегий позволяет стратегии поддерживать производительность в различных рыночных условиях.
123 Паттерн состоит из трех этапов. Во-первых, цена падает в течение двух дней подряд. Во-вторых, цена растет в течение следующих двух дней. Наконец, цена снова падает на третий день. Согласно этому шаблону, мы можем определить, чтобы установить длинную позицию, когда цены растут во втором этапе, и короткую позицию, когда цены падают обратно в третьем этапе.
В частности, если цена закрытия выше предыдущего закрытия в течение двух дней подряд после двух дней снижения, а 9-дневный стохастический медленный показатель ниже 50, это сигнал покупки. Если цена закрытия ниже предыдущего закрытия в течение двух дней подряд после двух дней роста, а 9-дневный стохастический быстрый показатель выше 50, это сигнал продажи.
Количество периодов зависит от недавней волатильности цен - более высокая волатильность приводит к более коротким периодам, что делает индикатор более чувствительным, в то время как стабильные цены приводят к более длительным периодам, чтобы уменьшить ложные сигналы.
Формула расчета:
DMI = RSI(DTime)
Where:
DTime = 14 / 10-day SMA of standard deviation of close over past 5 days
Он имеет те же пороги перекупленности/перепроданности, что и RSI:
Перекуп: DMI > 30 Перепроданность: DMI < 70
Сигналы покупки и продажи генерируются, когда DMI превышает эти пороги.
Он использует краткосрочные обратные модели для входа на незначительные дно и выхода на незначительные вершины, избегая позиций против тренда.
Импульсный осциллятор более чувствителен. Его переменный период позволяет ему адаптироваться к рынку и своевременно улавливать поворотные моменты даже во время высокой волатильности.
Проверка DMI на рыночный контекст, когда происходит 123 сигнала, может уменьшить потери от торговли против тренда.
Использование DMI в качестве фильтра наряду с образцом 123 значительно повышает стабильность системы.
Как DMI, так и 123 Pattern могут генерировать ложные сигналы, когда цены только временно колеблются, а не изменяются.
Потенциально высокая частота торговли. Переменные периоды DMI
123 Модель может упустить среднесрочные трендовые возможности. Она в основном отслеживает краткосрочные изменения и не может последовательно получать прибыль от среднесрочных долгосрочных тенденций.
Слишком много сделок может привести к высоким комиссионным сборам и расходам на скольжение.
Оптимизируйте параметры DMI, можете протестировать различные периоды RSI, пороговые значения, чтобы найти лучшую комбинацию.
Оптимизировать 123 фильтры шаблонов. может протестировать различные параметры Stoch или другие фильтры, как MACD.
Добавьте механизмы стоп-лосса.
Фиксированное количество или фиксированное дробное размещение позиций улучшает контроль риска.
Эта стратегия сочетает в себе анализ как от Momentum Oscillator, так и от 123 Pattern для улучшения эффективности торговых сигналов. Однако ни одна стратегия не может идеально адаптироваться к изменяющимся рыночным условиям. Инвесторы должны сосредоточиться на контроле рисков, постоянно проверять и обновлять параметры на основе реальных результатов, чтобы прибыльность могла быть поддержана.
/*backtest start: 2024-01-17 00:00:00 end: 2024-01-24 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/03/2020 // 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 Dynamic Momentum Index indicator. The Dynamic Momentum // Index (DMI) was developed by Tushar Chande and Stanley Kroll. The indicator // is covered in detail in their book The New Technical Trader. // The DMI is identical to Welles Wilder`s Relative Strength Index except the // number of periods is variable rather than fixed. The variability of the time // periods used in the DMI is controlled by the recent volatility of prices. // The more volatile the prices, the more sensitive the DMI is to price changes. // In other words, the DMI will use more time periods during quiet markets, and // less during active markets. The maximum time periods the DMI can reach is 30 // and the minimum is 3. This calculation method is similar to the Variable // Moving Average, also developed by Tushar Chande. // The advantage of using a variable length time period when calculating the RSI // is that it overcomes the negative effects of smoothing, which often obscure short-term moves. // The volatility index used in controlling the time periods in the DMI is based // on a calculation using a five period standard deviation and a ten period average // of the standard deviation. // // 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 DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit) => pos = 0 xStdDev = stdev(close, 5) xSMAStdDev = sma(xStdDev, 10) DTime = round(14 / xSMAStdDev - 0.5) xDMI = iff(DTime > UpLimit, UpLimit, iff(DTime < LoLimit, LoLimit, DTime)) xRSI = rsi(xDMI, RSILen) pos := iff(xRSI > BuyZone, 1, iff(xRSI < SellZone, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Dynamic Momentum Index", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- RSILen = input(14, minval=1) BuyZone = input(30, minval=1) SellZone = input(70, minval=1) UpLimit = input(30, minval=1) LoLimit = input(5, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posDMI = DMI(RSILen, BuyZone,SellZone,UpLimit,LoLimit) pos = iff(posReversal123 == 1 and posDMI == 1 , 1, iff(posReversal123 == -1 and posDMI == -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 )