본문 바로가기

EA 교육자료

RSI상대강도지수 매매코딩

1-3. RSI상대강도지수

앞서 살펴본 이동평균선과 볼린져밴드는 OrderModify()함수를 활용하여 청산로직이 코딩되었으며, 이번 RSI상대강도지수를 활용한 mql4소스 코딩에서는 OrderClose()함수를 활용하여 청산로직을 코딩하는 법을 보겠습니다.  

1-3-1. RSI상대강도지수 설명

RSI(Relative Strength Index)는 상대강도지수라고도 불리며, 일정기간 동안의 가격 상승과 하락 중에서 상승폭과 하락폭을 비교 함으로서 시장변동성의 강도를 측정하는 보조지표입니다. 또한 상승과 하락의 한계를 정해 움직임의 범위를 설정하여, 순간적인 시장변동성 때문에 가격이 갑자기 급등락하는 경우에 나타나는 시장가격의 왜곡을 방지합니다. 

 


1-3-2. RSI상대강도지수를 활용한 매매전략

[진입]
RSI가 30기준선을 상향 돌파시 매수진입
RSI가 70기준선을 하향 돌파시 매도진입
[청산]
RSI가 70기준선에 닿으면 매수포지션 청산
RSI가 30기준선에 닿으면 매도포지션 청산


1-3-3. iRSI() 함수 구조

double  iRSI(
   string       symbol,           // 통화쌍
   int          timeframe,        // 시간봉
   int          period,           // 기간
   int          applied_price,     // 기준가격
   int          shift             // 캔들순서(현재봉일경우0,전봉은1,전전봉은2..)
   );


1-3-4. iRSI() 함수 작성법

[표기]
iRSI(symbol,timeframe,period,applied_price,shift)
[해석]
iRSI(통화쌍,시간봉,기간,기준가격,캔들순서)


1-3-5. iRSI() 함수 속성 상세설명

a. 통화쌍(symbol)
 
오더의 통화쌍을 지정합니다.
“EURUSD” :EURUSD통화쌍의 오더를 오픈하도록 합니다. 
Symbol(): EA가 적용된 챠트 통화쌍의 오더를 오픈합니다.
NULL: EA가 적용된 챠트 통화쌍의 오더를 오픈합니다.

b. 시간봉(timeframe)
 
데이터를 불러올 시간봉. ’0’은 현재챠트의 값 사용

c. 기간(period)
 
RSI값을 산출할 기간 설정

d. 기준가격(applied_price)

 RSI를 만들 캔들데이터 선택

e. 캔들순서(shift)

 ‘0’은 현재캔들, ‘1’은 직전캔들, ‘2’는 전전캔들…