커뮤니티
문의 드립니다.
2018-07-01 21:34:33
181
글번호 120198
상위주기 차트의 이평선을 표시하는 지표에 대한
어느 회원님의 질문에 예스스탁에서 답한 글번호 57878번(아래수식)과 관련하여 질문드립니다.
1.
아래의 수식으로 60분봉의 20이평선과 60이평선을
해외선물 5분봉 차트나 틱차트에 적용해 본 결과,
오일 골드 유로 등의 상품에서는 60분봉 이평선과 수치가 잘 맞아 만족하게 잘쓰고 있습니다.
그러나 항셍에 대해 적용해 본 바, 60분봉 이평선과 수치에 많은 차이가 있어 질문드립니다.
항셍에 대한 특별히 변경.적용해야할 부분이 있으면 아래 수식에서 수정을 부탁드립니다.
2.
아래 수식 중에서
Array : C1[150](0);
이 부분에 대한 주석 설명을 부탁드립니다.
150이란 숫자는 무엇을 의미하는 지요?
미리 감사드립니다.
input : ntime1(60),P1(20),P2(60);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
Array : C1[150](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%ntime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
for cnt = 1 to 149
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P2] > 0 then{
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2-1{
if cnt < P1 then
sum1 = sum1+C1[cnt];
if cnt < P2 then
sum2 = sum2+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
plot1(mav1);
plot2(mav2);
}
}
답변 1
예스스탁 예스스탁 답변
2018-07-02 15:56:51
input : ntime1(60),P1(20),P2(60);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
//저장공간이 150개 있는 배열변수 선언
//지정한 분주기 간격으로 종가를 저장한 변수입니다.
Array : C1[150](0);
if (sdate != sdate[1] and stime >= 101500) or
(sdate == sdate[1] and stime >= 101500 and stime[1] < 101500) Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
Condition1 = true;
}
Else
Condition1 = false;
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
#날짜가 변경되거나 혹은 지정한 시간기준이 되면
if Condition1 == true or (Condition1 == false and TF < TF[1]) Then
{
#C1의 각방의 값을 다음방으로 넘겨서 저장
for cnt = 1 to 149
{
C1[cnt] = C1[cnt-1][1];
}
#C1의 1번방에는 기존 0번방의 값 저장
#C2의 2번방에는 기존 1번방의 값 저장
#C3의 3번방에는 기존 2번방의 값 저장
#.....
#C149의 148번방에는 기존 0번방의 값 저장
}
#C1의 0번방에 항상 현재가 저장
C1[0] = C;
if C1[P2] > 0 then{
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2-1{
if cnt < P1 then
sum1 = sum1+C1[cnt];
if cnt < P2 then
sum2 = sum2+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
plot1(mav1);
plot2(mav2);
}
}
> 부엉이 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> 상위주기 차트의 이평선을 표시하는 지표에 대한
어느 회원님의 질문에 예스스탁에서 답한 글번호 57878번(아래수식)과 관련하여 질문드립니다.
1.
아래의 수식으로 60분봉의 20이평선과 60이평선을
해외선물 5분봉 차트나 틱차트에 적용해 본 결과,
오일 골드 유로 등의 상품에서는 60분봉 이평선과 수치가 잘 맞아 만족하게 잘쓰고 있습니다.
그러나 항셍에 대해 적용해 본 바, 60분봉 이평선과 수치에 많은 차이가 있어 질문드립니다.
항셍에 대한 특별히 변경.적용해야할 부분이 있으면 아래 수식에서 수정을 부탁드립니다.
2.
아래 수식 중에서
Array : C1[150](0);
이 부분에 대한 주석 설명을 부탁드립니다.
150이란 숫자는 무엇을 의미하는 지요?
미리 감사드립니다.
input : ntime1(60),P1(20),P2(60);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
Array : C1[150](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%ntime1;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
for cnt = 1 to 149
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P2] > 0 then{
sum1 = 0;
sum2 = 0;
for cnt = 0 to P2-1{
if cnt < P1 then
sum1 = sum1+C1[cnt];
if cnt < P2 then
sum2 = sum2+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
plot1(mav1);
plot2(mav2);
}
}
다음글
이전글