안녕하세요.
아래 이전 답변에서 문의드립니다.
cnt가 0부터 시작하는데, 분봉차트에서 보기에 전일부터 10전일까지 계산되어야 하니까(P=10기준)
cnt =1~11까지 여야 하는게 아닌지요?
cnt=0일때 값들은(dayclose(0) 등) 일중에 변하게 될텐데, 그러면 일중에 일봉기준 atr값이 변하게 되는것 같아서 맞지 않는거 아닌지요?
-----------------------
안녕하세요
예스스탁입니다.
input : P(10);
var : sumTR(0),TH(0),TL(0),cnt(0),ATRV(0);
sumTR = 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);
sumTR = sumTR + (TH-TL);
}
ATRV = sumTR/P;
plot1(ATRV,"일봉ATR");
즐거운 하루되세요
> 2ndbus 님이 쓴 글입니다.
> 제목 : 분봉에서 일별Data로 ATR를 구하는 방법?
> 분봉에서 ATR(6)이면 분봉기준으로 ATR를 구합니다.
분봉에서 일별데이타를 기준으로 ATR을 구할려면 별도로 ATR함수를 만들어야 할것으로 생각됩니다.
가능하다면 도움 부탁드립니다.
답변 1
예스스탁
예스스탁 답변
2022-09-16 15:00:02
안녕하세요
예스스탁입니다.
해당 수식은 10일 ATR을 계산하는데 당일포함 10일(0 to 9) 입니다.
전일기준이면 1 to 10이 되면 됩니다.
n일전 기준 지정하실 수 있게 수정해 드립니다.
input : P(10),n일전(1);
var : sumTR(0),TH(0),TL(0),cnt(0),ATRV(0);
sumTR = 0;
for cnt = n일전 to n일전+(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);
sumTR = sumTR + (TH-TL);
}
ATRV = sumTR/P;
plot1(ATRV,"일봉ATR");
즐거운 하루되세요
> 건곤대 님이 쓴 글입니다.
> 제목 : 분봉에서 일봉ATR
> 안녕하세요.
아래 이전 답변에서 문의드립니다.
cnt가 0부터 시작하는데, 분봉차트에서 보기에 전일부터 10전일까지 계산되어야 하니까(P=10기준)
cnt =1~11까지 여야 하는게 아닌지요?
cnt=0일때 값들은(dayclose(0) 등) 일중에 변하게 될텐데, 그러면 일중에 일봉기준 atr값이 변하게 되는것 같아서 맞지 않는거 아닌지요?
-----------------------
안녕하세요
예스스탁입니다.
input : P(10);
var : sumTR(0),TH(0),TL(0),cnt(0),ATRV(0);
sumTR = 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);
sumTR = sumTR + (TH-TL);
}
ATRV = sumTR/P;
plot1(ATRV,"일봉ATR");
즐거운 하루되세요
> 2ndbus 님이 쓴 글입니다.
> 제목 : 분봉에서 일별Data로 ATR를 구하는 방법?
> 분봉에서 ATR(6)이면 분봉기준으로 ATR를 구합니다.
분봉에서 일별데이타를 기준으로 ATR을 구할려면 별도로 ATR함수를 만들어야 할것으로 생각됩니다.
가능하다면 도움 부탁드립니다.