
이 전략은 이동 평균과 상대적으로 약한 지수 ((RSI) 의 두 가지 기술 지표를 결합하여 계절의 주기적 특성을 포착하여 거래 신호를 생성합니다. 이 전략의 장점은 계절적 행동을 매우 명확하게 식별 할 수 있다는 것입니다. 그러나 잘못된 신호로 오해의 소지가있는 위험이 있습니다.
이 전략은 우선 가격의 중장기 경향 방향을 포착하기 위해 일정 주기 n의 이동 평균을 계산합니다. 그리고 이동 평균의 RSI 지표를 계산하여 현재 과매매 상태인지 여부를 판단합니다. RSI는 일정 기간 동안의 상승과 하락의 비율을 계산하여 현재의 시장 정서를 판단합니다.
RSI 상의 하위 궤도를 통과할 때 구매 신호를 생성하여 현재 초매 상태임을 표시하고 구매할 수 있습니다. RSI 상의 하위 궤도를 통과할 때 판매 신호를 생성하여 현재 초매 상태임을 표시하고 판매 할 수 있습니다. 또한, 전략은 지정된 달과 날짜 사이에 거래하는 달과 날짜의 범위를 설정하여 계절적 특성을 포착합니다.
잘못된 신호에 의해 오해의 소지가 있다. 예를 들어, 비시즌적 급격한 사건으로 인한 트렌드 역전으로 인해 부적절한 거래 신호가 발생할 수 있다. 해결책은 가능한 사건의 위험을 피하기 위해 달의 날짜 범위를 조정하는 것이다.
트렌드가 변할 때, 이동 평균과 RSI 지표 사이에 오차가 발생할 수 있으며, 거래 신호가 일치하지 않습니다. 해결책은 이동 평균 파라미터를 적절히 조정하고, 트렌드 변이를 더 빨리 잡기 위해 주기를 단축하는 것입니다.
예상된 달의 날짜 범위는 실제 계절이 나타나는 시간에 비하여 오차가 있을 수 있다. 해결 방법은 역사적 데이터 테스트를 통해 더 정확한 계절 범위 파라미터를 결정하는 것이다.
거래 신호가 가짜 돌파구가 발생할 수 있는 상황. 해결책은 더 넓은 범위의 범위를 설정하여 작은 변동에 의해 오해되는 것을 피하는 것입니다.
다른 보조 지표들을 도입할 수 있다. 예를 들어, 흔들림 주식 지수 ((STOCH) 등이 있다. 더 엄격한 필터링 조건을 설정하여 잘못된 신호를 줄일 수 있다.
더 많은 다양한 변수 조합을 테스트하여 최적의 변수를 찾고 전략 효과를 향상시킬 수 있습니다. 이동 평균 주기를 조정하는 것, RSI의 위아래 변수 등이 있습니다.
점진적 최적화 방법을 사용하여 자동으로 변수 공간을 검색하여 최적의 변수 조합을 찾을 수 있다.
더 많은 역사적 데이터를 수집하고, 기계 학습 방법을 사용하여 훈련하고, 전략 규칙을 최적화할 수 있습니다.
투자자금 관리를 최적화하고 손실을 막는 전략을 고려할 수 있습니다.
이 전략은 이동 평균과 RSI 지표를 종합적으로 사용하고 계절 요소 판단을 추가하여 보다 완전한 추세와 과매매 과매매 식별 시스템을 형성한다. 전략의 장점은 계절 상황을 명확하게 식별하고 그러한 거래 기회를 잡을 수 있다는 것입니다. 분명히 오해의 위험이 있지만, 매개 변수 조정, 보조 지표, 기계 학습 등의 방법을 도입하여 전략을 최적화하여 전략 효과를 향상시킬 수 있습니다.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = " RSI of MA Strategy ",shorttitle="MARSI Strategy",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=1)
lengthofma = input(15,minval=1,title="Length of MA")
len = input(14, minval=1, title="Length")
upperband = input(70,minval=1,title='Upper Band for RSI')
lowerband = input(30,minval=1,title="Lower Band for RSI")
src=sma(close,lengthofma)
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=purple)
band1 = hline(upperband)
band0 = hline(lowerband)
fill(band1, band0, color=purple, transp=90)
longCond = crossover(rsi,lowerband)
shortCond = crossunder(rsi,upperband)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( longCond )
strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND", comment="LONG")
else
strategy.cancel(id="LONG")
if ( shortCond )
strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT")
else
strategy.cancel(id="SHORT")