커뮤니티
15분봉에서 일봉 기준 RSI, ATR 구현
2016-06-23 22:12:53
209
글번호 99446
안녕하세요,
현재 15분봉 기준으로 수식을 작성하고 있는데,
15분봉 차트에서 일봉 기준의 RSI 지표와 ATR은 어떻게 작성하면 되는지 부탁 드리겠습니다.
감사합니다.
답변 2
예스스탁 예스스탁 답변
2016-06-24 09:06:48
안녕하세요
예스스탁입니다.
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");
2
input : P(14);
var : TH(0),TL(0),Sum(0),TR(0),DayATR(0),cnt(0);
sum = 0;
for cnt = 0 to P-1{
If DayClose(cnt+1) > dayhigh(cnt) then
TH = DayClose(cnt+1);
else
TH = dayhigh(cnt);
If DayClose(cnt+1) < DayLow(cnt) then
TL = DayClose(cnt+1);
else
TL = daylow(cnt);
TR = TH-TL;
Sum = Sum+TR;
}
DayATR = Sum/P;
plot1(DayATR);
즐거운 하루되세요
> 라면의비밀 님이 쓴 글입니다.
> 제목 : 15분봉에서 일봉 기준 RSI, ATR 구현
> 안녕하세요,
현재 15분봉 기준으로 수식을 작성하고 있는데,
15분봉 차트에서 일봉 기준의 RSI 지표와 ATR은 어떻게 작성하면 되는지 부탁 드리겠습니다.
감사합니다.
라면의비밀
2016-06-26 10:20:23
안녕하세요,
올려주신 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");
2
input : P(14);
var : TH(0),TL(0),Sum(0),TR(0),DayATR(0),cnt(0);
sum = 0;
for cnt = 0 to P-1{
If DayClose(cnt+1) > dayhigh(cnt) then
TH = DayClose(cnt+1);
else
TH = dayhigh(cnt);
If DayClose(cnt+1) < DayLow(cnt) then
TL = DayClose(cnt+1);
else
TL = daylow(cnt);
TR = TH-TL;
Sum = Sum+TR;
}
DayATR = Sum/P;
plot1(DayATR);
즐거운 하루되세요
> 라면의비밀 님이 쓴 글입니다.
> 제목 : 15분봉에서 일봉 기준 RSI, ATR 구현
> 안녕하세요,
현재 15분봉 기준으로 수식을 작성하고 있는데,
15분봉 차트에서 일봉 기준의 RSI 지표와 ATR은 어떻게 작성하면 되는지 부탁 드리겠습니다.
감사합니다.
다음글
이전글