
Стратегия использует динамический индекс трейдера (TDI) в качестве основного технического показателя для создания торговых сигналов в сочетании с движущимися средними различных циклов. Ее целью является выявление возможности обратного пути в случае перепродажи.
Эта стратегия сначала вычисляет RSI-значение close, длительность которого составляет 13 циклов. Затем вычисляется 34-циклическая простая скользящая средняя RSI, а затем вычисляется стандартная разница 34-циклического RSI, умноженная на 1.6185 в качестве верхнего и нижнего треков.
Затем рассчитывается быстрый МА RSI длиной 2 цикла; и медленный МА длиной 7 циклов. Затем получаются исторические значения этих показателей из более высоких циклов. Когда быстрый МА пересекает медленный МА сверху, создается сигнал покупки; когда быстрый МА пересекает медленный МА снизу, создается сигнал продажи.
Стратегия использует свойства средней реверсии RSI в сочетании с динамическим индикатором, чтобы реализовать обратную торговлю. Верхняя и нижняя полосы RSI отражают зоны перепродажи и перекупа, а средняя полоса отражает среднюю цену.
В частности, RSI устанавливает разумный предел перекупа и перепродажи, что помогает вовремя обнаружить ненормальные ситуации. Средняя линия фиксирует равновесную цену. Быстрый МА фильтрует краткосрочный шум, а медленный МА оценивает среднесрочную тенденцию.
Эта стратегия основана на обратном трейдинге, и существует определенный риск временной эффективности. В случае длительного нерационального расширения рынка, например, попадания в пустоту, эта стратегия может привести к последовательным убыткам. Кроме того, если быстро и медленно установить неправильную МА, возможно, пропустить некоторые возможности для обратного обращения или создать ошибочное суждение. Необходима определенная степень оптимизации параметров.
Для контроля над вышеуказанными рисками рекомендуется соответствующая корректировка цикла МА или увеличение механизма остановки убытков. Когда рынок входит в нерациональную фазу, следует снизить позицию или даже прекратить торговлю. В целом, стратегическая корректировка в соответствии с конкретной рыночной обстановкой является ключевой.
Эта стратегия может быть оптимизирована в следующих аспектах:
Тестирование параметров цикла RSI различной длины, чтобы найти наиболее подходящую настройку для текущего рынка
Оптимизация длины быстрого и медленного МА, балансировка для улавливания обратного и фильтрации шума
Увеличение убытков, основанных на волатильности, для контроля максимального вывода
Попытка включить другие факторы, такие как изменение объема торгов, в логику следующего заказа, чтобы повысить успех
Тестирование эффективности одних и тех же торговых сигналов REUSE в течение нескольких временных рамок
Разработка механизмов оптимизации, позволяющих динамически корректировать параметры стратегии
Общая структура RSI-обратной стратегии разумна, логика торговли ясно объясняется. Имеет настраиваемое пространство и потенциал для оптимизации. Ее способность улавливать возможности для обратной стратегии в условиях корректировки параметров и контроля риска стоит ожидать. Следующий шаг будет заключаться в оптимизации стратегии с помощью дополнительного отслеживания и корректировки параметров для повышения устойчивости стратегии к риску и уровня дохода.
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("TDI - Traders Dynamic Index [Mehdi]", shorttitle="TDIMEHDI")
rsiPeriod = input(13, minval = 1, title = "RSI Period")
bandLength = input(34, minval = 1, title = "Band Length")
lengthrsipl = input(7, minval = 0, title = "Fast MA on RSI")
lengthtradesl = input(2, minval = 1, title = "Slow MA on RSI")
p1 = input("15", title = "Signal Timeframe")
src = close // Source of Calculations (Close of Bar)
r = rsi(src, rsiPeriod) // RSI of Close
ma = sma(r, bandLength) // Moving Average of RSI [current]
offs = (1.6185 * stdev(r, bandLength)) // Offset
up = ma + offs // Upper Bands
dn = ma - offs // Lower Bands
mid = (up + dn) / 2 // Average of Upper and Lower Bands
fastMA = sma(r, lengthrsipl) // Moving Average of RSI 2 bars back
slowMA = sma(r, lengthtradesl) // Moving Average of RSI 7 bars back
hline(20) // ExtremelyOversold
hline(30) // Oversold
hline(50) // Midline
hline(70) // Overbought
hline(80) // ExtremelyOverbought
up1 = request.security(syminfo.tickerid, p1, up)
dn1 = request.security(syminfo.tickerid, p1, dn)
mid1 = request.security(syminfo.tickerid, p1, mid)
slowMA1 = request.security(syminfo.tickerid, p1, slowMA)
fastMA1 = request.security(syminfo.tickerid, p1, fastMA)
plot(up1, "Upper Band", color = #3286c3, linewidth = 2) // Upper Band
plot(dn1, "Lower Band", color = #3286c3, linewidth = 2) // Lower Band
plot(mid1, "Middle of Bands", color = yellow, linewidth = 2) // Middle of Bands
plot(slowMA1, "Slow MA", color=green, linewidth=2) // Plot Slow MA
plot(fastMA1, "Fast MA", color=red, linewidth=1) // Plot Fast MA
if (crossover(slowMA1, fastMA1))
strategy.entry("Buy", strategy.long, comment="Buy")
if (crossunder(slowMA1, fastMA1))
strategy.entry("Sell", strategy.short, comment="Sell")