Эта стратегия объединяет скользящую среднюю, индекс относительной силы и индекс товарного канала, формируя относительно полную стратегию отслеживания тренда и комбинации индикаторов.
Используйте hl2 для расчета средней цены.
Вычислить 14-периодный индикатор CCI для оценки основного тренда. Когда CCI больше 0, тенденция повышается. Когда меньше 0, тенденция снижается.
Вычислить быструю линию 14-периодного индикатора RSI и медленную линию 50-периодного индикатора RSI. Когда быстрая линия пересекает над медленной линией, генерируется сигнал покупки. Когда быстрая линия пересекает ниже медленной линии, генерируется сигнал продажи.
Фактические торговые сигналы генерируются только тогда, когда индикатор CCI также совпадает с направлением сигнала индикатора RSI. То есть покупать только тогда, когда CCI больше 0, а RSI пересекает быструю линию выше медленной линии, и продавать только тогда, когда CCI меньше 0, а RSI пересекает быструю линию ниже медленной линии.
Сравните цену с 14-периодным скользящим средним показателем hl2, чтобы помочь в оценке незначительного тренда, чтобы избежать ложных прорывов. Сигнал покупки генерируется только тогда, когда цена выше 14-периодного скользящего среднего показателя hl2 и индикатор RSI пересекает вверх. Сигнал продажи генерируется только тогда, когда цена ниже 14-периодного скользящего среднего показателя hl2 и индикатор RSI пересекает вниз.
Эта стратегия объединяет суждение о тренде и сигналы об обратном движении, чтобы войти вовремя после начала тренда, и использует индикаторы сигналов об обратном движении для определения точек выхода, тем самым получая лучшую отдачу.
Индекс товарного канала точно определяет основные направления тренда, избегая неправильного выбора направлений торговли.
Быстрые и медленные пересечения линий индекса относительной прочности служат надежными сигналами, избегая проблемы задержки скользящих средних и могут своевременно улавливать перевороты цен.
Сравнение цен с медианными линиями может дополнительно отфильтровать ложные прорывы, которые вызывают ошибочные сигналы.
В целом эта стратегия имеет хорошую стабильность и хорошо работает при сильных тенденциях.
Эта стратегия чувствительна к торговым сортам, требуя оптимизации параметров для конкретных сортов. Слепое применение ко всем сортам может привести к нестабильной производительности.
Настройки параметров, такие как скользящие средние за 14 периодов и скользящие средние за 50 периодов, необходимо корректировать в соответствии с различными рынками.
Опираясь исключительно на CCI для определения основного направления тренда, все еще недостаточно идеально, с некоторым отставанием.
Комбинация показателей обратного сигнала относительно велика, что может привести к некоторой степени переоптимизации.
Подумайте о добавлении дополнительных показателей для оценки основных тенденций, таких как DMI, ADX и т. д., чтобы сделать суждения о тенденциях более точными.
Например, после появления сигнала обратного движения, если цена снова возвращается на определенную амплитуду, выход с стоп-лосса можно рассматривать как способ уменьшения потерь.
Оптимизировать параметры, чтобы сделать их более подходящими для конкретных видов торговли. Например, увеличить параметр цикла медленной линии или скорректировать метод расчета средней цены и т. Д.
Создать комбинацию оптимизации параметров для выбора оптимальных параметров для различных сортов, что может значительно улучшить применимость стратегий.
Добавить индикаторы импульса, чтобы избежать вводящих в заблуждение сигналов, когда импульса недостаточно.
Общая структура этой стратегии полная, включая оценки тренда и показатели обратного движения, которые теоретически могут достичь отличных результатов. Но в фактическом применении она все еще нуждается в оптимизации параметров и моделей для торговых сортов, чтобы снизить риск переподготовки. Если она пройдет строгое статистическое тестирование, у нее есть потенциал стать стабильной стратегией, которую стоит рекомендовать.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SuchitRaju //@version=4 strategy("MA RSI CCI") price_up = if(close > open and close > sma(hl2,14)) 1 else 0 price_down = if(open > close and close < sma(hl2,14)) 1 else 0 // cci_indicator = cci(hl2, 14) // plot(cci_indicator, color=color.blue) rsi_slow = sma(rsi(close, 14), 50) // plot(rsi_slow, color=color.red) rsi_fast = rsi(close, 14) // plot(rsi_fast, color=color.green) isCrossover = if(rsi_fast > rsi_slow and cci_indicator > 0) 1 else 0 // plotshape(isCrossover, style = shape.arrowup, color = color.green, size = size.huge) isCrossunder = if(rsi_fast < rsi_slow and cci_indicator < 0) 1 else 0 // plotshape(isCrossunder, style = shape.arrowup, color = color.red, size = size.huge) // start = timestamp("GMT-5", 2016,9,1,0,0) // end = timestamp("GMT-5", 2017,9,1,0,0) // strategy.entry("Long", strategy.long, 1, when = isCrossover and price_up) // strategy.entry("Short", strategy.short, 1, when = isCrossunder and price_down) // strategy.close("Long", when = isCrossunder and price_down) // strategy.close("Short", when = isCrossover and price_up) strategy.entry("Long", strategy.long, 1, when = isCrossover) strategy.entry("Short", strategy.short, 1, when = isCrossunder) strategy.close("Long", when = isCrossunder) strategy.close("Short", when = isCrossover)