커뮤니티
이동평균선
2018-08-16 00:37:37
231
글번호 121379
1. 360틱 차트에 5분봉, 10분봉, 30분봉의 20일 이동평균선을 표시하는 수식
2. 틱 차트에 60분봉의 중심값들을 나타내는 수식
부탁드립니다.
미리 감사드립니다~~
답변 1
예스스탁 예스스탁 답변
2018-08-16 16:29:38
안녕하세요
예스스탁입니다.
틱봉에서 분봉의 값은 정확히 계산이 되지 않습니다.
수식은 차트봉의 시고저종가만 이용가능한데
분단의 시간경계값이 위 4개의 값이 아닐경우들이 많습니다.
최대한 근사값으로 나오는 지표입니다.
1
input : ntime1(5),ntime2(10),ntime3(30),P(20);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0),TF3(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
Array : C1[50](0),C2[50](0),C3[50](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;
TF1 = TM%ntime1;
TF2 = TM%ntime2;
TF3 = TM%ntime3;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then
{
for cnt = 1 to 49
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P] > 0 then{
sum1 = 0;
for cnt = 0 to P-1{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then
{
for cnt = 1 to 49
{
C2[cnt] = C2[cnt-1][1];
}
}
C2[0] = C;
if C2[P] > 0 then{
sum2 = 0;
for cnt = 0 to P-1{
sum2 = sum2+C2[cnt];
}
mav2 = sum2/P;
plot2(mav2);
}
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF3 < TF3[1]) Then
{
for cnt = 1 to 49
{
C3[cnt] = C3[cnt-1][1];
}
}
C3[0] = C;
if C3[P] > 0 then{
sum3 = 0;
for cnt = 0 to P-1{
sum3 = sum3+C3[cnt];
}
mav3 = sum3/P;
plot3(mav3);
}
}
2
input : ntime1(60);
var : S1(0),D1(0),TM(0),TF1(0),hh(0),ll(0),mm(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;
TF1 = TM%ntime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then
{
hh = h;
ll = l;
}
if h > hh Then
hh = h;
if l < ll Then
ll = l;
mm = (hh+ll)/2;
plot1(mm);
}
즐거운 하루되세요
> 자전거28 님이 쓴 글입니다.
> 제목 : 이동평균선
> 1. 360틱 차트에 5분봉, 10분봉, 30분봉의 20일 이동평균선을 표시하는 수식
2. 틱 차트에 60분봉의 중심값들을 나타내는 수식
부탁드립니다.
미리 감사드립니다~~
다음글
이전글