커뮤니티
수식 수정 부탁드립니다
2011-08-29 13:10:31
658
글번호 42284
안녕하세요
지난번 RSI 관련해서 답변해주신것 잘보았습니다
어쩐지 아무리 봐도 이상한데 늦게나마 제대로 알려주셔서 감사합니다.
이번에 부탁드릴려는것은 다른것이 아니라 기본 함수 RSI()를 수정해주셨으면 해서요.
RSI() 함수에서
1) 상승/하락을 판단하는 부분이 C-C[1] 로 되어 있고
2) 상승폭/하락폭의 평균을 내는 부분 역시 abs(C-C[1]) 로 되어 있잖습니까?
제가 부탁드리고 싶은것은,
1) 상승/하락을 판단하는 부분은 그대로 C-C[1] 로 두되
2) 상승/하락의 평균을 내는 부분을 abs(C-C[1]) 대신 거래량을 넣고 싶습니다
즉, 종가가 상승했을때의 거래량 평균 / 종가가 하락했을때의 거래량 평균을
RSI 공식을 통해 산출하고 싶습니다.
늘 감사드리고 부탁드립니다
답변 1
예스스탁 예스스탁 답변
2011-08-29 17:28:05
안녕하세요
예스스탁입니다.
Inputs: Length(14);
Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0),RSIv(0),UpAmtC(0);
If CurrentBar == 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = abs(v[Counter] - v[Counter+1]);
If c[Counter] - c[Counter+1] >= 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 CurrentBar > 1 AND Length > 0 Then Begin
UpAmt = abs(v[Counter] - v[Counter+1]);
If c[Counter] - c[Counter+1] >= 0 Then#상승
DownAmt = 0;
Else Begin#하락
DownAmt = UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSIv = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSIv = 0;
plot1(RSIV);
PlotBaseLine1(30, "기준선1");
PlotBaseLine2(70, "기준선2");
즐거운 하루되세요
> hex 님이 쓴 글입니다.
> 제목 : 수식 수정 부탁드립니다
> 안녕하세요
지난번 RSI 관련해서 답변해주신것 잘보았습니다
어쩐지 아무리 봐도 이상한데 늦게나마 제대로 알려주셔서 감사합니다.
이번에 부탁드릴려는것은 다른것이 아니라 기본 함수 RSI()를 수정해주셨으면 해서요.
RSI() 함수에서
1) 상승/하락을 판단하는 부분이 C-C[1] 로 되어 있고
2) 상승폭/하락폭의 평균을 내는 부분 역시 abs(C-C[1]) 로 되어 있잖습니까?
제가 부탁드리고 싶은것은,
1) 상승/하락을 판단하는 부분은 그대로 C-C[1] 로 두되
2) 상승/하락의 평균을 내는 부분을 abs(C-C[1]) 대신 거래량을 넣고 싶습니다
즉, 종가가 상승했을때의 거래량 평균 / 종가가 하락했을때의 거래량 평균을
RSI 공식을 통해 산출하고 싶습니다.
늘 감사드리고 부탁드립니다
다음글
이전글