Комбинированная торговая стратегия с использованием скользящей средней и RSI

MA DEMA RSI
Дата создания: 2024-04-30 16:31:24 Последнее изменение: 2024-04-30 16:31:24
Копировать: 4 Количество просмотров: 812
1
Подписаться
1617
Подписчики

Комбинированная торговая стратегия с использованием скользящей средней и RSI

Обзор

Эта стратегия объединяет несколько движущихся средних и относительно сильный индекс (RSI) для создания торговых сигналов. Она использует движущиеся средние с четырьмя различными циклами на 9, 21, 25 и 99 дней, чтобы определить направление тенденции, перекрещивая их между собой. В то же время, стратегия также вводит индикатор RSI в качестве вспомогательного суждения, чтобы предоставить дополнительный торговый сигнал при перекупе или перепродаже рынка.

Основная идея этой стратегии заключается в том, чтобы использовать тенденционные характеристики различных периодических движущихся средних для определения основных тенденций на рынке с помощью их многоголосной и головной последовательности. Краткосрочная средняя линия вверх, пересекая долгосрочную среднюю линию, рассматривается как позитивный сигнал, а наоборот - как нисходящий сигнал.

Стратегический принцип

  1. Вычислите простую скользящую среднюю за четыре различных цикла: 9, 21, 25 и 99 дней.
  2. Для определения пересечения 9-дневной и 21-дневной средних линий, когда 9-дневная средняя линия пересекает 21-дневную среднюю линию вверх, образуется многозначный сигнал; когда 9-дневная средняя линия пересекает 21-дневную среднюю линию вниз, образуется пустой сигнал.
  3. Судя по пересечению 25-дневной средней линии и 99-дневной средней линии, когда 25-дневная средняя линия пересекает 99-дневную среднюю линию вверх, образуется многосигнал; когда 25-дневная средняя линия пересекает 99-дневную среднюю линию вниз, образуется пустота.
  4. Для расчета 14-дневного RSI рынок находится в состоянии перекупа, когда RSI больше 70, а рынок находится в состоянии перепродажи, когда RSI меньше 30.
  5. Комбинированный пересекающийся средний сигнал и сигнал RSI, создающий окончательный торговый сигнал:
    • Открыть позицию, когда 9-дневная средняя линия пересекает 21-дневную среднюю линию вверх, а RSI больше 70;
    • Открыть позицию, когда 9-дневная средняя линия пересекает 21-дневную среднюю линию вниз, а RSI меньше 30.
    • Открыть позицию, когда 25-дневная средняя линия пересекает 99-дневную среднюю линию вверх, а RSI больше 70;
    • Открыть позицию, когда 25-дневная средняя линия пересекает 99-дневную среднюю линию вниз, а RSI меньше 30.
  6. Сигнал пересечения движущейся средней также используется для выравнивания позиции, когда соответствующий пересечение средней линии выравнивает предыдущую позицию.

Анализ преимуществ

  1. Следить за тенденциями: стратегия использует тенденционные свойства различных периодических движущихся средних для определения основных тенденций рынка с помощью их многоглавой и головной последовательности, что помогает понять направление рынка.
  2. Фильтрация шума: в сравнении с использованием единой движущейся средней, эта стратегия использует движущуюся среднюю с несколькими различными периодами, что помогает фильтровать кратковременный шум и повышает надежность сигнала.
  3. Эмоциональные суждения: введение показателя RSI в качестве вспомогательного суждения, которое дает обратный сигнал, когда рыночные настроения слишком оптимистичны или пессимистичны, может в некоторой степени предотвратить большую отступку стратегии в экстремальных рыночных условиях.
  4. Ясность логики: логика сделки в стратегии проста, понятна и легко реализуема.
  5. Эластичность: стратегия может быть адаптирована к различным рыночным условиям и торговым видам путем корректировки циклов движущихся средних и параметров RSI.

Анализ рисков

  1. Чувствительные к параметрам: эффективность стратегии может быть более чувствительной к выбору циклов для скользящих средних и параметров RSI, и различные параметры могут привести к значительным различиям в эффективности стратегии.
  2. Задержка в распознавании тенденций: движущаяся средняя по своей сути является задержкой, которая может возникнуть в момент переворота рынка, что может привести к упущенным торговым возможностям или создать ошибочный сигнал.
  3. Недостаточная производительность на рынке волатильности: в рынке волатильности частое пересечение равновесных линий может привести к тому, что стратегия будет производить больше торговых сигналов, что может привести к нежелательной производительности.
  4. Чёрные лебеди: Стратегия основана на исторических данных и может не реагировать на некоторые внезапные Чёрные лебеди.

Направление оптимизации

  1. Параметрическая оптимизация: оптимизация параметров для циклов и RSI, чтобы найти оптимальную комбинацию параметров для конкретного рынка. Автоматический поиск оптимальных параметров может быть выполнен с использованием методов оптимизации, таких как генетические алгоритмы.
  2. Фильтрация сигналов: на основе равнолинейного скрещивания и сигналов RSI, ввод других технических индикаторов или моделей поведения цены для вторичной фильтрации, повышающей точность сигналов. Например, может быть объединен с индикаторами, такими как ленты Бурин, MACD и т. Д.
  3. Управление позициями: внедрение концепции управления позициями на основе текущей стратегии, изменение размеров позиций в зависимости от силы и динамики определённости рыночных тенденций для лучшего контроля риска и повышения прибыли.
  4. Стоп-стоп: внедрение механизмов стоп-стопа и стоп-стопа, особенно волатильного стопа или стоп-стопа с отслеживанием, для контроля максимального рискового порога для одноразовой сделки.
  5. Многорыночная адаптация: расширение стратегии на несколько рынков и сортов, чтобы захватить торговые возможности на разных рынках с помощью соответствующей корректировки параметров и контроля риска.

Подвести итог

Эта стратегия в сочетании с движущимися средними и RSI показателями разных циклов образует торговую стратегию, которая отслеживает тенденции и судит о эмоциях. Ее преимущества заключаются в логической четкости, адаптивности и способности лучше понимать рыночные тенденции с помощью комбинации многоодиночных линий. Но в то же время существуют такие риски, как чувствительность к параметрам, задержка в идентификации тенденций и плохая производительность рынка волатильности. В будущем можно улучшить производительность и устойчивость стратегии с помощью оптимизации параметров, фильтрации сигналов, управления позицией, остановки и остановки убытков.

Исходный код стратегии
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estratégia de Médias Móveis e RSI (por Svitorino_trade)", shorttitle="Estratégia-Médias Móveis", overlay=true)

len1 = input.int(9, minval=1, title="Length 1")
len2 = input.int(21, minval=1, title="Length 2")
len3 = input.int(25, minval=1, title="Length 3")
len4 = input.int(99, minval=1, title="Length 4")
rsi_length = input.int(14, minval=1, title="RSI Length")
rsi_oversold = input.float(30, minval=0, maxval=100, title="RSI Oversold Level")
rsi_overbought = input.float(70, minval=0, maxval=100, title="RSI Overbought Level")

src = input(close, title="Source")

ama(src, length) =>
    sum = 0.0
    for i = 0 to length - 1
        sum := sum + src[i]
    sum / length

avg1 = ama(src, len1)
avg2 = ama(src, len2)
avg3 = ama(src, len3)
avg4 = ama(src, len4)

rsi_value = ta.rsi(src, rsi_length)

// Condições de entrada e saída para períodos de 9 e 21
cruzamento_9_21_acima = avg1 > avg2 and avg1[1] <= avg2[1]
cruzamento_9_21_abaixo = avg1 < avg2 and avg1[1] >= avg2[1]

// Condições de entrada e saída para períodos de 25 e 99
cruzamento_25_99_acima = avg3 > avg4 and avg3[1] <= avg4[1]
cruzamento_25_99_abaixo = avg3 < avg4 and avg3[1] >= avg4[1]

// Plotando os sinais de entrada e saída
plotshape(series=cruzamento_9_21_acima, style=shape.triangleup, color=color.green, size=size.small, location=location.belowbar)
plotshape(series=cruzamento_9_21_abaixo, style=shape.triangledown, color=color.red, size=size.small, location=location.abovebar)
plotshape(series=cruzamento_25_99_acima, style=shape.triangleup, color=color.green, size=size.small, location=location.belowbar)
plotshape(series=cruzamento_25_99_abaixo, style=shape.triangledown, color=color.red, size=size.small, location=location.abovebar)

// Entradas e saídas para períodos de 9 e 21
if cruzamento_9_21_acima and rsi_value > rsi_overbought
    strategy.entry("Venda Curta", strategy.short)
if cruzamento_9_21_abaixo and rsi_value < rsi_oversold
    strategy.entry("Compra Curta", strategy.long)
if cruzamento_9_21_acima
    strategy.close("Compra Curta")
if cruzamento_9_21_abaixo
    strategy.close("Venda Curta")

// Entradas e saídas para períodos de 25 e 99
if cruzamento_25_99_acima and rsi_value > rsi_overbought
    strategy.entry("Compra Forte", strategy.long)
if cruzamento_25_99_abaixo and rsi_value < rsi_oversold
    strategy.entry("Venda Forte", strategy.short)
if cruzamento_25_99_acima
    strategy.close("Venda Forte")
if cruzamento_25_99_abaixo
    strategy.close("Compra Forte")