커뮤니티

분봉에서 일봉의 RSI 구현

프로필 이미지
일목초인
2016-11-16 17:33:26
104
글번호 104064
답변완료
분봉차트에서 일봉의 RSI이용해서 매매하고자 하는데요... 검색해보니 답변 내용 중에 아래와 같은 식이 나오는데 실제로 시뮬레이션 차트에 적용해 보면 RSI값이 계속 0으로 표시됩니다. ----------- Inputs: Length(9); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0); if date != date[1] Then{ didx = didx+1; UpAvg1 = UpAvg[1]; DownAvg1 = DownAvg[1]; } If didx <= 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = DayClose(Counter) - DayClose(Counter+1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If didx > 1 AND Length > 0 Then Begin UpAmt = DayClose(0) - DayClose(1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; plot1(RSIV); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(70, "기준선 70"); ------------- 5분봉 실시간 차트에서 일봉의 RSI가 50 이상이면 첫번째 봉에서 매수하는 식 부탁드립니다. 감사합니다...^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-11-17 09:38:23

안녕하세요 예스스탁입니다. 해당식 첨부된 그림과 같이 지표값이 나오고 있습니다. 분봉에서 조회건수를 최대한 많이 조회해서 적용해 보시기 바랍니다. 차트의 봉수에 따라 값이 차이가 발생할수 있습니다. Inputs: Length(9); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0); if date != date[1] Then{ didx = didx+1; UpAvg1 = UpAvg[1]; DownAvg1 = DownAvg[1]; } If didx <= 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = DayClose(Counter) - DayClose(Counter+1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If didx > 1 AND Length > 0 Then Begin UpAmt = DayClose(0) - DayClose(1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; #50을 상향돌파하면 매수 if crossup(RSIV,50) Then buy(); #당일 첫봉에서 50이상이면 매수 #if dayindex == 0 and RSIV >= 50 Then buy(); 즐거운 하루되세요 > 일목초인 님이 쓴 글입니다. > 제목 : 분봉에서 일봉의 RSI 구현 > 분봉차트에서 일봉의 RSI이용해서 매매하고자 하는데요... 검색해보니 답변 내용 중에 아래와 같은 식이 나오는데 실제로 시뮬레이션 차트에 적용해 보면 RSI값이 계속 0으로 표시됩니다. ----------- Inputs: Length(9); Var : Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); var : RSIv(0),didx(0), UpAvg1(0), DownAvg1(0); if date != date[1] Then{ didx = didx+1; UpAvg1 = UpAvg[1]; DownAvg1 = DownAvg[1]; } If didx <= 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = DayClose(Counter) - DayClose(Counter+1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If didx > 1 AND Length > 0 Then Begin UpAmt = DayClose(0) - DayClose(1); If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg1 * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg1 * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; plot1(RSIV); PlotBaseLine1(30, "기준선 30"); PlotBaseLine2(70, "기준선 70"); ------------- 5분봉 실시간 차트에서 일봉의 RSI가 50 이상이면 첫번째 봉에서 매수하는 식 부탁드립니다. 감사합니다...^^