커뮤니티
분봉에 일봉 RSI 구현 방법 재문의
2016-06-28 22:50:43
109
글번호 99564
안녕하세요,
올려주신 RSI 지표를 적용하니 base line 말고는 표시되지 않습니다. 어떻게 수정 하면 될까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 15분봉에서 일봉 기준 RSI, ATR 구현
> 안녕하세요
예스스탁입니다.
1.
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");
답변 1
예스스탁 예스스탁 답변
2016-06-29 14:00:30
안녕하세요
예스스탁입니다.
식에 이상이 없습니다.
첨부된 그림과 같이 값 출력되는 식입니다.
즐거운 하루되세요
> 라면의비밀 님이 쓴 글입니다.
> 제목 : 분봉에 일봉 RSI 구현 방법 재문의
> 안녕하세요,
올려주신 RSI 지표를 적용하니 base line 말고는 표시되지 않습니다. 어떻게 수정 하면 될까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 15분봉에서 일봉 기준 RSI, ATR 구현
> 안녕하세요
예스스탁입니다.
1.
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");