
이 전략은 고전적인 RSI 지표에 대한 개선으로 구매 및 판매 경보 라인을 설정하고, RSI 지표가 경보 라인을 뚫을 때, 그에 따른 구매 또는 판매 작업을 수행합니다. 이 전략은 또한 장거리 포지션 전환 기능을 제공합니다.
이 전략은 RSI 지표의 히스토그램을 통해 구매/판매 신호를 유발한다.
(1) RSI의 값을 계산하기 위한 공식은
RSIMain = (rsi(xPrice, RSIPeriod) - 50) * RSIHistoModify
그 중, xPrice는 가격 순서, RSIPeriod은 RSI를 계산하는 매개 변수이며, RSIHistoModify는 RSI의 값에 대한 확장 계수이다.
(2) BuyAlertLevel와 SellAlertLevel를 설정한다. RSI 지표가 BuyAlertLevel보다 높을 때 구매 신호를 주고, SellAlertLevel보다 낮을 때 판매 신호를 준다.
(3) RSI 지표의 히스토그램을 그리며, 구매/판매 신호를 시각화한다.
(4) 포지션pos를 설정하고, 신호가 발생하면, pos를 1 ((무엇이 더 많은지) 또는 -1 ((무엇이 부족한지) 으로 설정하고, 직진 거래 또는 역전 거래의 선택이 가능합니다.
(5) POS의 가치에 따라 입장 방향과 가격을 판단한다.
(1) RSI 지표의 사용법을 개선하여 구매/판매 신호를 더 명확하게 표시합니다.
(2) 사용자 정의 파라미터, RSI 지표 및 경고 라인을 조정하여 다른 시장에 적합합니다.
(3) 직관적으로 거래 신호를 보여주는 히스토그램.
(4) 수직 거래 또는 역 거래의 선택.
(5) 전략은 간단하고 명확하며, 쉽게 이해하고 수정할 수 있다.
(1) 잘못된 신호가 발생할 수 있습니다. RSI 지표 자체는 잘못된 신호가 발생할 수 있습니다.
(2) 상쇄 손실을 고려하지 않은 경우, 큰 손실이 발생할 수 있습니다.
(3) 변수 설정이 잘못되면 실패로 이어집니다.
(1) 다른 지표와 함께 필터링 신호를 사용하여 잘못된 신호를 피하십시오. 예를 들어 거래량 돌파구를 고려하십시오.
(2) 손해 방지 장치를 설정하십시오.
(3) 매개 변수 최적화, 최적의 매개 변수를 찾는 것.
(4) 알고리즘을 사용하여 최적의 변수를 자동으로 찾는 기계 학습과 결합하는 것을 고려할 수 있습니다.
이 전략은 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)