60분 단위로의 평균가를 곡선(이평선처럼)으로 표현할 수 있나요?
수식 부탁드립니다.
감사합니다.
답변 1
예스스탁
예스스탁 답변
2021-03-02 16:25:12
안녕하세요
예스스탁입니다.
1
60분봉의 평균가를 그리는 지표식입니다.
input : ntime(60);
var : S1(0),D1(0),TM(0),TF(0),HH(0),LL(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
HH = H;
LL = L;
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
Plot1((HH+LL)/2);
}
2
60분봉의 평균가를 이용해 N봉 이동평균을 그리신다면 아래식 이용하시면 됩니다.
input : ntime(60),P(20);
var : S1(0),D1(0),TM(0),TF(0),cnt(0),sum(0),mav(0);
array : HH[100](0),LL[100](0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
HH[0] = H;
LL[0] = L;
For cnt = 1 to 99
{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[P-1] > 0 and LL[P-1] > 0 then
{
sum = 0;
For cnt = 0 to P-1
{
sum = sum + (HH[cnt]+LL[cnt])/2;
}
mav = sum/P;
}
Plot1(mav);
}
즐거운 하루되세요
> 고저중 님이 쓴 글입니다.
> 제목 : 문의 드립니다
> 60분 단위로의 평균가를 곡선(이평선처럼)으로 표현할 수 있나요?
수식 부탁드립니다.
감사합니다.