커뮤니티
수식 수정부탁합니다.
2018-09-09 12:09:12
186
글번호 121905
안녕하세요.
타주기 분봉수식을 두가지 시간을 한지표안에 넣어서 쓰려고
만들었더니 4번째(plot)이 정상작동하지않고 값이 틀리게 나오는데
수정 부탁합니다.그리고 두가지 시간을 쓰려고 이리 만들었는데
이 수식을 좀더 간단히 할수있으면 부탁합니다.
Input : atime(30),P1(5),P2(20),atime1(60),P3(5),P4(20);
var : TF(0),cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),TF1(0),cnt1(0),sum3(0),mav3(0),sum4(0),mav4(0);
Array : CC[100](0),CC1[100](0);
TF = TimeToMinutes(sTime)%Atime;
If DayIndex() == 0 or (TF < TF[1] and stime > sTime[1]) Then{
For cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum1 = 0;
sum2 = 0;
If CC[P2] > 0 Then{
For cnt = 0 To P2-1{
If cnt < P1 Then
sum1 = sum1+CC[cnt];
If cnt < P2 Then
sum2 = sum2+CC[cnt];
}
if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{
mav1 = sum1/P1;
mav2 = sum2/P2;}
Plot1(mav1);
Plot2(mav2);
}
TF1 = TimeToMinutes(sTime)%Atime1;
If DayIndex() == 0 or (TF1 < TF1[1] and stime > sTime[1]) Then{
For cnt1 = 1 to 99{
CC1[cnt1] = CC1[cnt1-1][1];
}
}
CC1[0] = C;
sum3 = 0;
sum4 = 0;
If CC1[P4] > 0 Then{
For cnt1 = 0 To P4-3{
If cnt1 < P3 Then
sum3 = sum3+CC1[cnt1];
If cnt1 < P4 Then
sum4 = sum4+CC1[cnt1];
}
if Bdate != Bdate[1] or (TF1 < TF1[1] and stime > stime[1]) or date != date[1] Then{
mav3 = sum3/P3;
mav4 = sum4/P4; }
Plot3(mav3);
Plot4(mav4);
}
수고하십시요.
답변 1
예스스탁 예스스탁 답변
2018-09-10 11:25:56
안녕하세요
예스스탁입니다.
Input : atime1(30),P1(5),P2(20),atime2(60),P3(5),P4(20);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0),cnt(0);
var : sum1(0),sum2(0),sum3(0),sum4(0);
var : mav1(0),mav2(0),mav3(0),mav4(0);
Array : C1[100](0),C2[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;
TF1 = TM%atime1;
TF2 = TM%atime2;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF1 < TF1[1]) Then
{
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF2 < TF2[1]) Then
{
for cnt = 1 to 99
{
C2[cnt] = C2[cnt-1][1];
}
}
C2[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);
}
If C2[P2] > 0 Then
{
sum3 = 0;
sum4 = 0;
For cnt = 0 To P4-1{
If cnt < P1 Then
sum3 = sum3+C2[cnt];
If cnt < P2 Then
sum4 = sum4+C2[cnt];
}
mav3 = sum3/P3;
mav4 = sum4/P4;
Plot3(mav3);
Plot4(mav4);
}
}
즐거운 하루되세요
> 바닥차기 님이 쓴 글입니다.
> 제목 : 수식 수정부탁합니다.
> 안녕하세요.
타주기 분봉수식을 두가지 시간을 한지표안에 넣어서 쓰려고
만들었더니 4번째(plot)이 정상작동하지않고 값이 틀리게 나오는데
수정 부탁합니다.그리고 두가지 시간을 쓰려고 이리 만들었는데
이 수식을 좀더 간단히 할수있으면 부탁합니다.
Input : atime(30),P1(5),P2(20),atime1(60),P3(5),P4(20);
var : TF(0),cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),TF1(0),cnt1(0),sum3(0),mav3(0),sum4(0),mav4(0);
Array : CC[100](0),CC1[100](0);
TF = TimeToMinutes(sTime)%Atime;
If DayIndex() == 0 or (TF < TF[1] and stime > sTime[1]) Then{
For cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum1 = 0;
sum2 = 0;
If CC[P2] > 0 Then{
For cnt = 0 To P2-1{
If cnt < P1 Then
sum1 = sum1+CC[cnt];
If cnt < P2 Then
sum2 = sum2+CC[cnt];
}
if Bdate != Bdate[1] or (TF < TF[1] and stime > stime[1]) or date != date[1] Then{
mav1 = sum1/P1;
mav2 = sum2/P2;}
Plot1(mav1);
Plot2(mav2);
}
TF1 = TimeToMinutes(sTime)%Atime1;
If DayIndex() == 0 or (TF1 < TF1[1] and stime > sTime[1]) Then{
For cnt1 = 1 to 99{
CC1[cnt1] = CC1[cnt1-1][1];
}
}
CC1[0] = C;
sum3 = 0;
sum4 = 0;
If CC1[P4] > 0 Then{
For cnt1 = 0 To P4-3{
If cnt1 < P3 Then
sum3 = sum3+CC1[cnt1];
If cnt1 < P4 Then
sum4 = sum4+CC1[cnt1];
}
if Bdate != Bdate[1] or (TF1 < TF1[1] and stime > stime[1]) or date != date[1] Then{
mav3 = sum3/P3;
mav4 = sum4/P4; }
Plot3(mav3);
Plot4(mav4);
}
수고하십시요.