Эта стратегия называется
Основная идея стратегии заключается в следующем: сначала вычислить значение RSI, а затем построить стохастический индикатор RSI на основе RSI, а именно значения K и D. Когда значение K пересекает значение D, генерируется сигнал покупки. Когда значение K пересекает значение D, генерируется сигнал продажи. Чтобы отфильтровать ложные сигналы, стратегия также вводит индекс скорости изменения (RVI) и его скользящую среднюю линию для подтверждения.
Вычислить 14-периодный RSI.
Создать 14-периодный стохастический индикатор RSI, основанный на RSI, чтобы получить значения K и D (D - 3-периодный скользящий средний показатель K).
Вычислить 5-периодическую РВИ и ее сигнальную линию (движущуюся среднюю РВИ).
Когда K переходит выше D, если RVI > Сигнальная линия и последний период
Открывать длинные или короткие позиции на основе генерируемых сигналов.
Сочетание стохастического RSI и двойного подтверждения от RVI может эффективно отфильтровать ложные сигналы.
Показатель RVI может отражать краткосрочные условия перекупки/перепродажи и избегает открытия позиций в крайних точках.
Индикатор Stochastic RSI определяет зоны перекупленности/перепроданности.
Результаты обратных тестов показывают, что эта стратегия достигла хороших результатов на некоторых криптовалютных парах (таких как FCT/BTC).
Неправильное размещение стоп-лосса аналогичных стратегий задержки может привести к преждевременному прекращению.
Высокая частота сигнала может привести к чрезмерным комиссионным за торговлю, которые следует учитывать.
Как индикаторы KDJ, так и RVI могут генерировать ложные сигналы, что приводит к ненужным потерям.
Параметры стратегии должны быть оптимизированы для различных торговых пар.
Добавьте движущуюся стоп-лосс, чтобы зафиксировать прибыль.
Оптимизировать параметры RVI и параметры Stochastic RSI для более чистых сигналов.
Добавьте контроль размера торговли, чтобы избежать чрезмерно больших единичных заказов.
Добавить фильтрующие механизмы, чтобы избежать открытия позиций на неблагоприятных уровнях.
Проверить на разных криптовалютных парах, чтобы найти лучшее сочетание.
Эта стратегия сначала строит стохастический RSI на основе индикатора RSI, затем использует индикатор RVI для подтверждения, чтобы обнаружить краткосрочные условия перекупки / перепродажи и открытые позиции в переломных моментах. Преимущество заключается в том, что двойная подтверждение может отфильтровать ложные сигналы. Недостатком является риск перенапряжения параметров. В целом эта стратегия достигла хороших результатов на некоторых торговых парах. Дальнейшая оптимизация может получить более последовательную прибыль.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Stochastic RSI", shorttitle="Stoch RSI", overlay = true) Per = input(5, title="Length", minval=1) smoothK = input(3, minval=1) smoothD = input(3, minval=1) lengthRSI = input(14, minval=1) lengthStoch = input(14, minval=1) src = input(close, title="RSI Source") rsi1 = rsi(src, lengthRSI) K = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK) D = sma(K, smoothD) rvi = sum(swma(close-open), Per)/sum(swma(high-low),Per) sig = swma(rvi) //plot(rvi, color=green, title="RVI") //plot(sig, color=red, title="Signal") //plot(K, title="K") //plot(D, title="D") Dn = K <= D and K > 70 and rvi <= sig and rvi[1] >= sig[1] Up= K >= D and K < 30 and rvi >= sig and rvi[1] <= sig[1] ARROW = Up - Dn plotarrow(ARROW, title="Down Arrow", colordown=red, transp=0, maxheight=10, minheight=10) plotarrow(ARROW, title="Up Arrow", colorup=lime, transp=0, maxheight=10, minheight=10) long = crossover(Up, Dn) short = crossunder(Up, Dn) last_long = long ? time : nz(last_long[1]) last_short = short ? time : nz(last_short[1]) long_signal = crossover(last_long, last_short) short_signal = crossover(last_short, last_long) //plot(long_signal, "BUY", color=green) //plot(short_signal, "SELL", color=red) strategy.entry("BUY", strategy.long, when=long_signal) strategy.entry("SELL", strategy.short, when=short_signal)