Стратегия торговли по улучшению показателя RSI

Автор:Чао Чжан, Дата: 2023-12-29 16:23:48
Тэги:

img

1. Обзор стратегии

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

2. Подробности стратегии

1. Название стратегии: Стратегия оповещения об Истограмме РСИ

Эта стратегия запускает сигналы покупки и продажи через гистограмму индикатора RSI.

2. Принцип стратегии

(1) Вычислить значение индикатора RSI:

RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify

где xPrice - цепочка цен, RSIPeriod - параметр для расчета RSI, а RSIHistoModify - фактор масштабирования значения RSI.

(2) Установите линию предупреждения о покупке BuyAlertLevel и линию предупреждения о продаже SellAlertLevel. Когда индикатор RSI выше линии предупреждения о покупке, это сигнал о покупке. Когда он ниже линии предупреждения о продаже, это сигнал о продаже.

(3) Нарисуйте гистограмму индикатора RSI для визуализации сигналов покупки и продажи.

(4) Установите позицию pos. Когда сигнал запускается, установите pos на 1 (длинный) или -1 (короткий).

(5) Определить направление входа и цену на основе значения позиции.

3. Преимущества стратегии

(1) Улучшает использование индикатора RSI и более четко показывает сигналы покупки и продажи.

(2) Настраиваемые параметры для корректировки индикатора RSI и линий оповещения в соответствии с различными рынками.

(3) Интуитивное отображение сигналов покупки и продажи гистограмма.

(4) Способность выбирать положительную или обратную торговлю.

(5) Идея стратегии проста и понятна, легко понять и изменить.

4. Риски этой стратегии

(1) Склонность к генерированию ложных сигналов.

(2) Не рассматривается стоп-лосс, с риском больших потерь.

(3) Неправильное настройка параметров также может привести к отказу.

5. Руководство по оптимизации стратегии

(1) Комбинировать с другими показателями, чтобы отфильтровать ложные сигналы, например, рассматривая прорывы объема торговли.

(2) Создать механизмы остановки потерь.

(3) Оптимизация параметров для поиска оптимальных параметров.

(4) Подумайте о сочетании с машинным обучением для автоматического поиска оптимальных параметров с помощью алгоритмов.

3. Резюме

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


/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/12/2016
// This simple indicator modified RSI
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="RSI HistoAlert Strategy")
RSIPeriod = input(13, minval=1)
BuyAlertLevel = input(-10)
SellAlertLevel = input(10)
RSIHistoModify = input(1.5)
reverse = input(false, title="Trade reverse")
hline(0, color=purple, linestyle=line)
hline(BuyAlertLevel, color=green)
hline(SellAlertLevel, color=red)
xPrice = close
RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
rsiHcolor =  iff(RSIMain >= 0 , green,
              iff(RSIMain < 0, red, black))
pos = iff(RSIMain > BuyAlertLevel, 1,
	     iff(RSIMain < SellAlertLevel, -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(RSIMain, color=blue, title="RSI HistoAlert")
plot(RSIMain, color=rsiHcolor, title="Histogram", style = histogram, linewidth  = 1)

Больше