첨부 이미지
그림1
아래는 갭atr을 분봉에서 구현한 수식입니다
그런데 분봉차트에서는 일봉atr이 일직선으로 나타나야 하지 않나요?
그림에서와 같이 변동이 생기니 올바른산식인지 의심이 생깁니다
혹시 금일값을 사용해서 그런가요?
어제의 시가종가를 사용하면 직선으로 나오나요?
부탁드립니다
Var : TH(0),TL(0),TR(0), GATR(0);
Var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),R(0),MI(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 GC[1]>GH Then
TH=GC[1];
Else
TH=GH;
If GC[1]<GL Then
TL=GC[1];
Else
TL=GL;
TR=TH-TL;
Gatr = ma(TR,5);
Plot1(Gatr);
답변 1
예스스탁
예스스탁 답변
2021-05-03 14:48:46
안녕하세요
예스스탁입니다.
작성하신 수식에서 TR은 당일일봉값이지만
ma(TR,5)은 일봉평균이 아닙니다. 단지 분봉에서 5개봉 평균일 뿐입니다.
일봉은 아래와 같이 작성하셔야 합니다.
수식에서 N이 1이면 전일기준 P일 ATR입니다.
0으로 지정하시면 당일기준 P일 ATR이고 당일값이 포함되므로 값은 수평이 아닙니다.
input : P(5),N(1);
Var : gap(0),sumgap(0),DGO(0),DGH(0),DGL(0),DGC(0),DGC1(0);
var : cnt(0),DTH(0),DTL(0),sum(0),DGatr(0);
Array : DTR[100](0);
If Date != Date[1] Then
{
#gap = Open-Close[1];
#sumGap = sumGap+gap;
DGC1 = DGC[1];
DGO - O-sumGap;
DGH = H-sumGap;
DGL = L-sumGap;
For cnt = 1 to 99
{
DTR[cnt] = DTR[cnt-1][1];
}
}
if H-sumGap > DGH Then
DGH = H-sumGap;
if L-sumGap < DGL Then
DGL = L-sumGap;
DGC = C-sumGap;
If DGC1 > DGH Then
DTH = DGC1;
Else
DTH = DGH;
If DGC1 < DGL Then
DTL = DGC1;
Else
DTL = DGL;
DTR[0] = DTH-DTL;
if DTR[P] > 0 Then
{
sum = 0;
for cnt = N to P+N-1
{
sum = sum + DTR[cnt];
}
DGatr = sum/P;
Plot1(DGatr);
}
즐거운 하루되세요
> 티끌 님이 쓴 글입니다.
> 제목 : 산식검토
> 아래는 갭atr을 분봉에서 구현한 수식입니다
그런데 분봉차트에서는 일봉atr이 일직선으로 나타나야 하지 않나요?
그림에서와 같이 변동이 생기니 올바른산식인지 의심이 생깁니다
혹시 금일값을 사용해서 그런가요?
어제의 시가종가를 사용하면 직선으로 나오나요?
부탁드립니다
Var : TH(0),TL(0),TR(0), GATR(0);
Var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),R(0),MI(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 GC[1]>GH Then
TH=GC[1];
Else
TH=GH;
If GC[1]<GL Then
TL=GC[1];
Else
TL=GL;
TR=TH-TL;
Gatr = ma(TR,5);
Plot1(Gatr);