Эта стратегия объединяет 123 обратную торговую стратегию, предложенную Ульфом Дженсеном в его книге с Кочевым средним конвергентным дивергентным осциллятором (KST), предложенным Мартином Прингом, для создания количественной стратегии, которая генерирует торговые сигналы с использованием обратных моделей и индикаторов колебаний тренда.
Основная логика этой части стратегии заключается в том, чтобы отслеживать, изменилась ли цена закрытия акции за последние 2 дня, в частности:
Если цены закрытия за последние 2 дня имеют тенденцию к снижению, то есть цена закрытия предыдущего дня выше, чем предыдущая, и сегодняшняя цена закрытия восстанавливается вверх от предыдущего дня, что выше, чем цена закрытия предыдущего дня, это может быть расценено как понижение и генерируется сигнал покупки.
Напротив, если цены закрытия за последние 2 дня имеют тенденцию к росту, то есть цена закрытия предыдущего дня ниже, чем предыдущая; а сегодняшняя цена закрытия падает с предыдущего дня, что ниже, чем цена закрытия предыдущего дня, это может быть расценено как верхнее изменение и генерируется сигнал продажи.
Эта часть стратегии также сочетает в себе показатель Stochastic, чтобы определить, является ли он перекупленным или перепроданным, чтобы отфильтровать сигналы торговли, не связанные с реверсией.
В показателе KST ROC представляет собой скорость изменения цены, рассчитывая ROC 6 дней, 10 дней, 15 дней и 20 дней соответственно, и выполняя взвешенное суммирование после сглаживания скользящей средней по различным параметрам для построения показателя KST.
Когда быстрая линия пересекает медленную линию, она рассматривается как быстрая; когда быстрая линия пересекает медленную линию, она рассматривается как медленная.
Эта стратегия использует KST>0 для оценки бычьего и KST<0 для оценки медвежьего.
Сигналы Judgment стратегии 123 и показателя KST объединены:
Из этого видно, что эта стратегия широко использует два различных типа технических индикаторов, образец обратного движения и суждение индикаторов, и объединяет их сильные стороны сигналов для разработки более продвинутой количественной стратегии торговли.
Для управления рисками могут использоваться такие методы, как корректировка параметров, оптимизация логики обратного движения, внедрение механизма остановки потерь.
Эта стратегия объединяет несколько различных типов технических индикаторов. Благодаря двойному подтверждению и оптимизации комбинаций она научно разрабатывает относительно сильную количественную торговую стратегию, и является моделью комбинации стратегий. Ее производительность в живой торговле еще предстоит проверить, но с точки зрения теоретической концептуализации она всесторонне рассматривает несколько сценариев, решает ограничения отдельных индикаторов и стоит дальнейших исследований и применения.
/*backtest start: 2023-10-22 00:00:00 end: 2023-11-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 23/03/2021 // 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 really is the KST indicator presented by Martin Pring. // the KST indicator is a weighted summed rate of change oscillator that // is designed to identify meaningful turns. Various smoothed rate of change // indicators can be combined to form different measurements of cycles. // // 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 MROC() => pos = 0.0 xROC6 = sma(roc(close, 6), 10) xROC10 = sma(roc(close, 10), 10) xROC15 = sma(roc(close, 15), 9) xROC20 = sma(roc(close, 20), 15) nRes = xROC6 + (2 * xROC10) + (3 * xROC15) + (4 * xROC20) pos := iff(nRes > 0, 1, iff(nRes < 0, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & MovROC (KST indicator)", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posMROC = MROC() pos = iff(posReversal123 == 1 and posMROC == 1 , 1, iff(posReversal123 == -1 and posMROC == -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 )