Стратегия перекрестного движения аксиальной средней стоимости RSI генерирует торговые сигналы путем расчета индикатора RSI и его простой линии скользящей средней стоимости и наблюдения за золотыми крестами и мертвыми крестами между ними.
Стратегия сначала рассчитывает 14-дневный индикатор RSI, а затем 8-дневную простую скользящую среднюю линию индикатора RSI. Сигнал покупки генерируется, когда индикатор RSI пересекает линию скользящей средней, в то время как сигнал продажи генерируется, когда RSI пересекает линию скользящей средней.
В то же время стратегия добавляет полосы Боллинджера, чтобы определить, является ли линия осевой скользящей средней относительно переполненной путем расчета стандартного отклонения, таким образом избегая покупки пиков и продажи дна.
Стратегия перекрестного действия осевой скользящей средней RSI сочетает в себе индикатор тренда RSI и следующую за кривой линию скользящей средней, которая может эффективно определять рыночные тенденции и случайность.
В этой стратегии добавленные полосы Боллинджера используют принцип стандартного отклонения для автоматической корректировки ширины верхних и нижних треков, эффективно предотвращая ошибочные торговые сигналы. Когда полосы Боллинджера сужаются, это указывает на то, что изменение постепенно замедляется, что подходит для поиска возможностей обратного движения. Когда полосы Боллинджера расширяются, это указывает на период бурных колебаний рынка, что подходит для отслеживания тенденций.
Самый большой риск стратегии перекрестного использования аксиальной скользящей средней является отставание показателя RSI и самих скользящих средних линий. Когда происходит быстрое движение рынка, расчет показателя и суждение о тренде будут отставать в некоторой степени. Это приведет к повышению точек покупки и снижению точек продажи.
Еще одним серьезным риском является ошибочное направление индикаторов, когда рыночная тенденция переходит от бычьей к медвежьей или наоборот, в то время как индикаторы RSI и MA не реагируют вовремя, что приводит к потере сделок.
Решение включает в себя надлежащую корректировку параметров RSI, сокращение периодов MA, добавление индикаторов тренда для оказания помощи в суждении и надлежащее расширение диапазона стоп-лосса.
Стратегия перекрестного использования аксиальных скользящих средних показателей RSI может быть оптимизирована в следующих аспектах:
Оптимизировать параметры RSI: скорректировать длину RSI, чтобы сбалансировать чувствительность и стабильность
Оптимизация параметров MA: корректировка параметров типа MA и периода для оптимизации следующего за трендом
Добавить механизмы остановки потери: установить движение или время остановки потери для контроля одиночных потерь
Включить индикаторы тренда: добавить MACD, KDJ и т.д. для избежания ошибочных оценок отмены
Многочасовая проверка: используйте более длительные временные рамки для определения тенденций, чтобы избежать ловушки
Стратегия перекрестного движения аксиальных скользящих средних (RSI) - это в целом зрелая количественная стратегия торговли. Она сочетает в себе преимущества нескольких технических индикаторов и может улавливать основные рыночные движения посредством настройки параметров и многомерной оптимизации.
/*backtest start: 2022-11-16 00:00:00 end: 2023-11-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // Copyright (c) 2020-present, Alex Orekhov (everget) // Corrected Moving Average script may be freely distributed under the terms of the GPL-3.0 license. strategy('rsisma', shorttitle='rsisma') ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "Bollinger Bands" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) rsiLengthInput = input.int(14, minval=1, title="RSI Length", group="RSI Settings") rsiSourceInput = input.source(close, "Source", group="RSI Settings") maTypeInput = input.string("SMA", title="MA Type", options=["SMA", "Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="MA Settings") maLengthInput = input.int(14, title="MA Length", group="MA Settings") bbMultInput = input.float(2.0, minval=0.001, maxval=50, title="BB StdDev", group="MA Settings") up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput) down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiMA = ma(rsi, maLengthInput, maTypeInput) isBB = maTypeInput == "Bollinger Bands" plot(rsi, "RSI", color=#7E57C2) plot(rsiMA, "RSI-based MA", color=color.blue) rsiUpperBand = hline(70, "RSI Upper Band", color=#787B86) hline(50, "RSI Middle Band", color=color.new(#787B86, 50)) rsiLowerBand = hline(30, "RSI Lower Band", color=#787B86) fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill") bbUpperBand = plot(isBB ? rsiMA + ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Upper Bollinger Band", color=color.green) bbLowerBand = plot(isBB ? rsiMA - ta.stdev(rsi, maLengthInput) * bbMultInput : na, title = "Lower Bollinger Band", color=color.green) fill(bbUpperBand, bbLowerBand, color= isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill") long = ta.crossover(rsi, rsiMA) short = ta.crossunder(rsi, rsiMA) if long strategy.entry("long", strategy.long) if short strategy.close("long", comment = "long TP") // long1 = close * 9 // long2 = long1 / 100 // long3 = long2 + close //plot(long3,color=color.blue) // if short // strategy.entry("short", strategy.short) // if long // strategy.close("short", comment = "short TP")