1분봉에 60분봉 이평을 5 10 20 60 120 을 표시하고 싶습니다.
다만, 잦은 for문 사용으로 효율이 자꾸 떨어져서 어떻게 해야하나 싶네요.
답변 1
예스스탁
예스스탁 답변
2019-11-25 13:26:16
안녕하세요
예스스탁입니다.
input : ntime1(60),P1(5),P2(10),P3(20),P4(60),P5(120);
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
var : sum4(0),mav4(0),sum5(0),mav5(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[P5] > 0 then
{
sum1 = 0;
sum2 = 0;
sum3 = 0;
sum4 = 0;
sum5 = 0;
for cnt = 0 to P5-1{
if cnt < P1 then
sum1 = sum1+C1[cnt];
if cnt < P2 then
sum2 = sum2+C1[cnt];
if cnt < P3 then
sum3 = sum3+C1[cnt];
if cnt < P4 then
sum4 = sum4+C1[cnt];
if cnt < P5 then
sum5 = sum5+C1[cnt];
}
mav1 = sum1/P1;
mav2 = sum2/P2;
mav3 = sum3/P3;
mav4 = sum4/P4;
mav5 = sum5/P5;
plot1(mav1);
plot2(mav2);
plot3(mav3);
plot4(mav4);
plot5(mav5);
}
}
즐거운 하루되세요
> stockric 님이 쓴 글입니다.
> 제목 : 질문드립니다.
> 1분봉에 60분봉 이평을 5 10 20 60 120 을 표시하고 싶습니다.
다만, 잦은 for문 사용으로 효율이 자꾸 떨어져서 어떻게 해야하나 싶네요.