Это комбинированная стратегия, которая сочетает в себе стратегию 123 Reversal и стратегию Fractal Chaos Oscillator для получения более надежных торговых сигналов.
Стратегия состоит из двух частей:
123 Стратегия отмены
Эта стратегия взята из книги "Как я утроил свои деньги на рынке фьючерсов" Ульфа Дженсена, страница 183.
Пройдите длинный, когда цена закрытия выше, чем предыдущая закрытие в течение 2 дней подряд, и 9-дневный медленный Stoch ниже 50.
Сократите, когда цена закрытия ниже, чем предыдущая закрытие в течение 2 дней подряд, и 9-дневный быстрый Stoch выше 50.
Стратегия фрактального хаос-осциллятора
FCO рассчитывает разницу между самыми тонкими движениями на рынке. Его значение колеблется между -1 и 1. Чем выше значение, тем сильнее тренд, независимо от восходящего или нисходящего тренда.
Если FCO достигнет высокого уровня, выберите длинный. Если FCO достигнет низкого уровня, выберите короткий. Этот индикатор подходит для внутридневной торговли.
Когда сигналы обеих стратегий согласуются, сделка будет совершена в этом направлении.
Сочетание стратегий перехода и тренда помогает отфильтровать ложные сигналы и повышает надежность.
Стратегия реверсии отслеживает возможности реверсии в краткосрочной перспективе, а стратегия FCO отслеживает тенденции в среднесрочной и долгосрочной перспективе.
Оптимизированные параметры Stoch эффективно фильтруют ложные сигналы на рынках с диапазоном.
FCO чувствителен к тонким колебаниям рынка и может рано обнаружить изменения тенденций.
Стратегии реверсии могут быть перегружены огромными реверсиями тренда.
Стратегии показателей могут генерировать чрезмерные сигналы.
Оптимизируйте параметры на основе результатов обратных тестов для улучшения сотрудничества.
Добавить стоп-лосс для контроля одиночных потерь.
Испытайте различные комбинации параметров обратного движения, чтобы найти оптимальный.
Проверьте различные параметры FCO, чтобы найти лучшие.
Попробуйте различные методы оптимизации параметров, такие как генетические алгоритмы, случайный лес и т.д.
Добавьте дополнительные вспомогательные индикаторы к дополнительным сигналам фильтра.
Добавьте модели машинного обучения для улучшения точности сигнала.
Внедрить механизмы управления рисками, такие как стоп-лосс, размещение позиций и т.д.
Эта стратегия объединяет сильные стороны стратегии обратного отсчета и FCO с помощью использования портфеля и улучшает качество сигнала. Она показывает хорошую производительность в обратных тестах. Дальнейшие оптимизации, такие как настройка параметров, добавление индикаторов, управление рисками и т. Д., Могут улучшить ее живую производительность. В целом это инновационная стратегия, которую стоит исследовать и применять.
/*backtest start: 2023-10-02 00:00:00 end: 2023-10-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 07/10/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 // The value of Fractal Chaos Oscillator is calculated as the difference between // the most subtle movements of the market. In general, its value moves between // -1.000 and 1.000. The higher the value of the Fractal Chaos Oscillator, the // more one can say that it follows a certain trend – an increase in prices trend, // or a decrease in prices trend. // // Being an indicator expressed in a numeric value, traders say that this is an // indicator that puts a value on the trendiness of the markets. When the FCO reaches // a high value, they initiate the “buy” operation, contrarily when the FCO reaches a // low value, they signal the “sell” action. This is an excellent indicator to use in // intra-day trading. // // 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 fractalUp(pattern) => p = high[pattern+1] okl = 1 okr = 1 res = 0.0 for i = pattern to 1 okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0) for i = pattern+2 to pattern*2+1 okr := iff(high[i] < high[i-1] and okr == 1, 1, 0) res := iff(okl == 1 and okr == 1, p, res[1]) res fractalDn(pattern) => p = low[pattern+1] okl = 1 okr = 1 res = 0.0 for i = pattern to 1 okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0) for i = pattern+2 to pattern*2+1 okr := iff(low[i] > low[i-1] and okr == 1, 1, 0) res := iff(okl == 1 and okr == 1, p, res[1]) res FCO(Pattern) => pos = 0.0 xUpper = fractalUp(Pattern) xLower = fractalDn(Pattern) xRes = iff(xUpper != xUpper[1], 1, iff(xLower != xLower[1], -1, 0)) pos := iff(xRes == 1, 1, iff(xRes == -1, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Fractal Chaos Oscillator", shorttitle="Combo", overlay = true) Length = input(15, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Pattern = input(1, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posFCO = FCO(Pattern) pos = iff(posReversal123 == 1 and posFCO == 1 , 1, iff(posReversal123 == -1 and posFCO == -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 )