커뮤니티
문의드립니다.~
2018-07-12 20:26:20
162
글번호 120542
input : 분주기(30),P(5),분주기1(15),분주기2(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0),tf1(0),TFF(0),entry(false),tf2(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0),ii[100](0),O2[100](0);
Array : C1[100](0),T1[100](0);
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{
S1 = TimeToMinutes(100000);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TFF = TM%60;
TF = TM%분주기;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF < TF[1]) Then{
OO[0] = o;
HH[0] = H;
LL[0] = L;
TT[0] = stime;
ii[0] = 0;
for cnt = 1 to 99{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
TT[cnt] = TT[cnt-1][1];
ii[cnt] = ii[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
ii[0] = ii[0]+1;
TF1 = TM%분주기1;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF1 < TF1[1]) Then{
T1[0] = stime;
for cnt = 1 to 99{
C1[cnt] = C1[cnt-1][1];
T1[cnt] = T1[cnt-1][1];
}
}
C1[0] = C;
TF2 = TM%분주기2;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF2 < TF2[1]) Then{
O2[0] = o;
for cnt = 1 to 99{
O2[cnt] = O2[cnt-1][1];
}
}
}
질문사항:
항생에서 30분봉의 5일이평선을 구할려고 합니다.~
위 식을 가지고 var72 = (c+oo[0]+oo[1]+oo[2]+oo[3])/5 ;
이렇게 해서 30분봉의 5일이평선을 구하게 되면은
나스닥은 괜찮은데 항생에서 문제가 있거든요..
영웅문w 그림에서 보면은 전날 새벽1시30분부터 시작된 30분봉이 새벽1시30분~새벽2시 사이에 완성이 되고 그리고나서 새로운30분봉은 다음날 항생시가~10시30분까지완성된 봉으로 나타납니다.
따라서 만약10시50분에 30분봉의5일이평선을 구할려면
10시50분의종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일새벽1시종가/5
이렇게 구해야 되는데 즉 영웅문w그림에서 30분봉의5개의 평균으로 구해야 되는데
문제점이 그림에서 보면은 항생시가가격으로 분주기표현식에 표현이 되어서 10시15분의 종가 가격이 포함이 되면 안되는데 포함되어버리는 부분이랑
전일의1시30분~2시까지의 30분봉의 종가가격도 분주기표현식에 포함이 안되는걸로 계산이 되더라구요.
계산해 보면은 전일1시30분종가가격 다음에 바로 당일10시15분종가가격으로 계산이 되는 문제점이 있습니다.
이부분 해결할 방법이 있을까요?
즉 분주기표현식으로 10시50분에 30분봉의 5일이평선가격을 구할때에
위에 표현해 놓은대로
10시50분종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일1시종가/5
이렇게 적용할 수 있는 방법이 있을까요?
10시30분부터 30분봉의5개봉이 지나는 시점부터는 문제가 없습니다.
그리고 이전문의 식 구해주셔서 너무너무 감사합니다ㅜ
매번 도움주셔서 너무 감사한 마음이에요~
////////////////////
이전질문과 동일한 내용이구요.
수정해 주신식으로 적용해 보니 원하는대로 나옵니다.
그런데 문제가 전일1시30~2시까지 봉이 틱봉으로 계산되는거라
어떤날은 2시경에 틱봉이 완성봉이 나오면 다음날 시초가가 반영이 안되고 바로 10시30분으로 넘어오는데 어떤날은 2시경에 틱봉이 완성이 안되면 다음날시초가로 전일의 1시30분봉의 완성봉이 넘어와 버려서요`
얘기해 주신대로 당일시작가격을10시30분으로 하고
전일끝나는 시간을1시50분으로 매일 고정해서 사용할 수 는 없을까요?
즉 1시30분에 시작되어서 2시에 완성되는 봉은 1시50분에 끝나고
이후로 다시 오전10시30분부터 시작되는걸로요~
상관은 없지만 이전식에서 전일12시봉이 생성되지 않아서 위 식으로 다시 문의드립니다
분주기식은 여러번 봤는데 이해하기가 어려워서요
손을 못대겠습니다.
위 식에서 30분 분주기만 사용할려면
TF = TM%분주기; ->이거밑으로는 그냥 삭제하고 사용하면 되는거죠?
30분 분주기만 해서 적용부탁드립니다. 감사합니다.~
답변 1
예스스탁 예스스탁 답변
2018-07-13 11:46:32
안녕하세요
예스스탁입니다.
1
계산을 10시 이후부터 다음날 1시 50분봉 이전까지만 사용하게 하셔야 할것 같습니다.
input : 분주기(30),P(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0);
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and Stime >= 100000 and stime[1] < 100000) Then{
S1 = TimeToMinutes(100000);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
if stime >= 100000 or stime < 015000 then
{
TF = TM%분주기;
if (sdate != sdate[1] and stime >= 103000) or
(sdate == sdate[1] and stime >= 103000 and stime[1] < 103000) or
(Sdate == sdate[1] and TF < TF[1]) Then
{
OO[0] = o;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
}
if CC[P-1] > 0 then
{
sum = 0;
for cnt = 0 to P-1
{
sum = sum + CC[cnt];
}
mav = sum/P;
plot1(mav);
}
}
2
30분 주기만 사용하고자 하시면
TF1 = TM%분주기1; 이하를 모두 지우시면 됩니다.
즐거운 하루되세요
> 겐지 님이 쓴 글입니다.
> 제목 : 문의드립니다.~
> input : 분주기(30),P(5),분주기1(15),분주기2(5);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum(0),mav(0),tf1(0),TFF(0),entry(false),tf2(0);
Array : CC[100](0),OO[100](0),HH[100](0),LL[100](0),TT[100](0),ii[100](0),O2[100](0);
Array : C1[100](0),T1[100](0);
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) Then{
S1 = TimeToMinutes(100000);
D1 = sdate;
}
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TFF = TM%60;
TF = TM%분주기;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF < TF[1]) Then{
OO[0] = o;
HH[0] = H;
LL[0] = L;
TT[0] = stime;
ii[0] = 0;
for cnt = 1 to 99{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
CC[cnt] = CC[cnt-1][1];
TT[cnt] = TT[cnt-1][1];
ii[cnt] = ii[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
CC[0] = C;
ii[0] = ii[0]+1;
TF1 = TM%분주기1;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF1 < TF1[1]) Then{
T1[0] = stime;
for cnt = 1 to 99{
C1[cnt] = C1[cnt-1][1];
T1[cnt] = T1[cnt-1][1];
}
}
C1[0] = C;
TF2 = TM%분주기2;
if (sdate != sdate[1] and stime >= 100000) or
(sdate == sdate[1] and (Stime == 100000 or (stime > 100000 and stime[1] < 100000))) or
(TF2 < TF2[1]) Then{
O2[0] = o;
for cnt = 1 to 99{
O2[cnt] = O2[cnt-1][1];
}
}
}
질문사항:
항생에서 30분봉의 5일이평선을 구할려고 합니다.~
위 식을 가지고 var72 = (c+oo[0]+oo[1]+oo[2]+oo[3])/5 ;
이렇게 해서 30분봉의 5일이평선을 구하게 되면은
나스닥은 괜찮은데 항생에서 문제가 있거든요..
영웅문w 그림에서 보면은 전날 새벽1시30분부터 시작된 30분봉이 새벽1시30분~새벽2시 사이에 완성이 되고 그리고나서 새로운30분봉은 다음날 항생시가~10시30분까지완성된 봉으로 나타납니다.
따라서 만약10시50분에 30분봉의5일이평선을 구할려면
10시50분의종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일새벽1시종가/5
이렇게 구해야 되는데 즉 영웅문w그림에서 30분봉의5개의 평균으로 구해야 되는데
문제점이 그림에서 보면은 항생시가가격으로 분주기표현식에 표현이 되어서 10시15분의 종가 가격이 포함이 되면 안되는데 포함되어버리는 부분이랑
전일의1시30분~2시까지의 30분봉의 종가가격도 분주기표현식에 포함이 안되는걸로 계산이 되더라구요.
계산해 보면은 전일1시30분종가가격 다음에 바로 당일10시15분종가가격으로 계산이 되는 문제점이 있습니다.
이부분 해결할 방법이 있을까요?
즉 분주기표현식으로 10시50분에 30분봉의 5일이평선가격을 구할때에
위에 표현해 놓은대로
10시50분종가+10시30분종가+전일새벽2시경종가+전일새벽1시30분종가+전일1시종가/5
이렇게 적용할 수 있는 방법이 있을까요?
10시30분부터 30분봉의5개봉이 지나는 시점부터는 문제가 없습니다.
그리고 이전문의 식 구해주셔서 너무너무 감사합니다ㅜ
매번 도움주셔서 너무 감사한 마음이에요~
////////////////////
이전질문과 동일한 내용이구요.
수정해 주신식으로 적용해 보니 원하는대로 나옵니다.
그런데 문제가 전일1시30~2시까지 봉이 틱봉으로 계산되는거라
어떤날은 2시경에 틱봉이 완성봉이 나오면 다음날 시초가가 반영이 안되고 바로 10시30분으로 넘어오는데 어떤날은 2시경에 틱봉이 완성이 안되면 다음날시초가로 전일의 1시30분봉의 완성봉이 넘어와 버려서요`
얘기해 주신대로 당일시작가격을10시30분으로 하고
전일끝나는 시간을1시50분으로 매일 고정해서 사용할 수 는 없을까요?
즉 1시30분에 시작되어서 2시에 완성되는 봉은 1시50분에 끝나고
이후로 다시 오전10시30분부터 시작되는걸로요~
상관은 없지만 이전식에서 전일12시봉이 생성되지 않아서 위 식으로 다시 문의드립니다
분주기식은 여러번 봤는데 이해하기가 어려워서요
손을 못대겠습니다.
위 식에서 30분 분주기만 사용할려면
TF = TM%분주기; ->이거밑으로는 그냥 삭제하고 사용하면 되는거죠?
30분 분주기만 해서 적용부탁드립니다. 감사합니다.~