
이 전략은 RSI 지표와 그 평균선의 교차를 거래 신호로 사용하며, 일반적인 운동 지표 전략에 속한다. 그것의 핵심 원칙은 RSI 지표와 RSI의 간단한 이동 평균 SMA_RSI 사이의 차이를 추적하고, 그 차이를 계산한 간단한 이동 평균 SMA_RSI 2를 SMA_RSI 2에서 파이를 할 때 더하고, 파이를 할 때 평소한다.
이 전략은 3개의 변수를 사용하여 RSI 지표와 그것의 두 개의 다른 주기의 간단한 이동 평균을 계산한다. 먼저, 정규 RSI 지표, 주기는 길이를 계산한다. 그리고 RSI의 길이를 계산한다. 2 주기의 간단한 이동 평균 SMA_RSI. 마지막으로, RSI와 SMA_RSI의 차이는 델타를 계산한다.
이렇게 하면 RSI 지표의 평균선 교차를 기반으로 한 거래 전략 신호가 됩니다. SMA_RSI2가 차치값 델타의 평균선이기 때문에 RSI 지표의 동력과 변화 추세를 반영할 수 있으며, RSI 지표 자체의 본질을 파악합니다.
이 전략은 RSI 지표와 그 평행선의 장점을 결합하여 가격 추세에 부응하고 잡음으로 오도하지 않습니다. 이차 델타를 적용하고 거래 신호를 더 명확하게 만드는 부드러운 사고 방식을 사용합니다. 전체적으로 이 전략은 회귀가 작고 수익이 안정적입니다.
이 장점은 다음과 같습니다:
이 전략에는 다음과 같은 위험도 있습니다.
다음의 몇 가지 측면에서 개선할 수 있습니다.
이 전략은 전반적으로 일반적이지만, 차치값 연산으로 RSI 지표 자체의 실용성을 증가시키고, 평행선 교차를 이용하여 판단하고, 회수 제어 능력이 강하며, 매우 실용적인 동력 지표 전략이다.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy ("RSI&SMA", overlay=false )
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end = timestamp((9999), (1), (1), 0, 0)
_testPeriod() => true
length = input(3, minval=1, title = "RSI period")
length2 = input(21, minval=1, title = "RSI SMA-1")
length3 = input(13, minval=1, title = "RSI SMA-2")
threshold = input(0,step=0.5, title="Threshold")
filter = input(false, title="Use filter?")
up = rma (max (change (close), 0), length)
down = rma (-min (change (close), 0), length)
RSI = down == 0? 100: up == 0? 0: 100-100 / (1 + up / down)
SMA_RSI = sma(RSI, length2)
delta = RSI-SMA_RSI
SMA_RSI2 = sma(delta, length3)
Long = crossover(SMA_RSI2, threshold)
Short = crossunder(SMA_RSI2, threshold)
plot(threshold, color=color.silver)
plot(SMA_RSI2, color= SMA_RSI2 > 0 ? color.blue : color.purple)
//plot(SMA_RSI, color=color.green)
//plot(delta, color=color.red)
long_condition = Long and (filter ? close > ema(close, 200) : true) and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)
short_condition = Short
strategy.close('BUY', when=short_condition)