커뮤니티

수식 문의

프로필 이미지
흑수돌
2011-08-08 00:36:54
689
글번호 41710
답변완료
갭보정된 RSI 볼린저밴드 지표의 수식을 구하고 싶습니다. ------------------------------------------------- RSI + 볼린저밴드 input : RSI_Period(8),BB_Period(20),D1(2); var : RSIv(0),upv(0),dnv(0); RSIv = RSI(RSI_Period); upv = Ma(RSIv,BB_Period) + D1 * std(RSIv,BB_Period); dnv = ma(RSIv,BB_Period) - D1 * std(RSIv,BB_Period) ; plot1(RSIV); plot2(upv); plot3(dnv); plot4(RSIV); PlotBaseLine1(70); PlotBaseLine2(30);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-08-08 16:13:16

안녕하세요 예스스탁입니다. Inputs: RSIPeriod(8),BB_Period(20),D1(2); Variables: RSIcount(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),RSIv(0); var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0),upv(0),dnv(0);; if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉) gap = Open-Close[1]; // 일간갭 sumGap = sumGap+gap; // 일간갭 누적 } GO = O - sumGap;// 갭보정 시가 GH = H - sumGap;// 갭보정 고가 GL = L - sumGap;// 갭보정 저가 GC = C - sumGap; // 갭보정 종가 If CurrentBar == 1 AND RSIPeriod > 0 Then Begin UpSum = 0; DownSum = 0; For RSIcount = 0 To RSIPeriod - 1 Begin UpAmt = GC[RSIcount] - GC[RSIcount+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / RSIPeriod; DownAvg = DownSum / RSIPeriod; End Else If CurrentBar > 1 AND RSIPeriod > 0 Then Begin UpAmt = GC[0] - GC[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (RSIPeriod - 1) + UpAmt) / RSIPeriod; DownAvg = (DownAvg[1] * (RSIPeriod - 1) + DownAmt) / RSIPeriod; End; If UpAvg + DownAvg <> 0 Then RSIv = 100 * UpAvg / (UpAvg + DownAvg); Else RSIv = 0; upv = Ma(RSIv,BB_Period) + D1 * std(RSIv,BB_Period); dnv = ma(RSIv,BB_Period) - D1 * std(RSIv,BB_Period) ; plot1(RSIV); plot2(upv); plot3(dnv); PlotBaseLine1(70); PlotBaseLine2(30); 즐거운 하루되세요 > 흑수돌 님이 쓴 글입니다. > 제목 : 수식 문의 > 갭보정된 RSI 볼린저밴드 지표의 수식을 구하고 싶습니다. ------------------------------------------------- RSI + 볼린저밴드 input : RSI_Period(8),BB_Period(20),D1(2); var : RSIv(0),upv(0),dnv(0); RSIv = RSI(RSI_Period); upv = Ma(RSIv,BB_Period) + D1 * std(RSIv,BB_Period); dnv = ma(RSIv,BB_Period) - D1 * std(RSIv,BB_Period) ; plot1(RSIV); plot2(upv); plot3(dnv); plot4(RSIV); PlotBaseLine1(70); PlotBaseLine2(30);