
В этой статье мы рассмотрим стратегию оптимизации относительно слабых индикаторов, основанных на изменении Лагера (RSI). Эта стратегия использует передовые математические инструменты, чтобы повысить чувствительность RSI, чтобы он мог быстрее реагировать на изменения рыночных цен.
Используя фильтр Рагеля, можно создать эффективный индикатор на более коротких длинах данных. В основе этой стратегии лежит обработка ценовой последовательности с использованием Рагельской трансформации, что дает четыре уровня Рагельских линий (xL0, xL1, xL2 и xL3) в зависимости от данных параметров.gammaПроводить расчеты для анализа рыночных тенденций.
Стратегия использует CU ((аккумулированный рост) и CD ((аккумулированный падение) для определения силы рынка. Расчет CU и CD основан на относительном положении Лагельской линии. Этот метод позволяет RSI более быстро отражать изменения цены, что дает трейдерам своевременные торговые сигналы.
Торговые сигналы генерируются на основе сопоставления значения RSI с определенными пользователем границами покупок и продаж (BuyBand и SellBand). Когда значение RSI выше границы покупок, стратегия рекомендует сделать больше; когда значение RSI ниже границы продаж, стратегия рекомендует сделать пусто.
gammaПокупка границ и продажа границgammaСтоимость и границы купли-продажи.В целом, стратегия оптимизации RSI, основанная на изменении Рагеля, является инновационным и эффективным торговым инструментом. Ее основные преимущества заключаются в быстрой реакции на изменения рынка и высокой настраиваемости параметров. Однако, как и любая торговая стратегия, она также сопряжена с рисками, особенно в условиях высокой волатильности рынка.
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 01/09/2017
// This is RSI indicator which is more sesitive to price changes.
// It is based upon a modern math tool - Laguerre transform filter.
// With help of Laguerre filter one becomes able to create superior
// indicators using very short data lengths as well. The use of shorter
// data lengths means you can make the indicators more responsive to
// changes in the price.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Laguerre-based RSI", shorttitle="Laguerre-RSI")
gamma = input(0.5, minval=-0.1, maxval = 0.9)
BuyBand = input(0.8, step = 0.01)
SellBand = input(0.2, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyBand, color=green, linestyle=line)
hline(SellBand, color=red, linestyle=line)
xL0 = (1-gamma) * close + gamma * nz(xL0[1], 1)
xL1 = - gamma * xL0 + nz(xL0[1], 1) + gamma * nz(xL1[1], 1)
xL2 = - gamma * xL1 + nz(xL1[1], 1) + gamma * nz(xL2[1], 1)
xL3 = - gamma * xL2 + nz(xL2[1], 1) + gamma * nz(xL3[1], 1)
CU = (xL0 >= xL1 ? xL0 - xL1 : 0) + (xL1 >= xL2 ? xL1 - xL2 : 0) + (xL2 >= xL3 ? xL2 - xL3 : 0)
CD = (xL0 >= xL1 ? 0 : xL1 - xL0) + (xL1 >= xL2 ? 0 : xL2 - xL1) + (xL2 >= xL3 ? 0 : xL3 - xL2)
nRes = iff(CU + CD != 0, CU / (CU + CD), 0)
pos = iff(nRes > BuyBand, 1,
iff(nRes < SellBand, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=red, title="Laguerre-based RSI")