커뮤니티
ma 값이 계산안됩니다
2017-12-10 16:48:58
158
글번호 114864
//Input : DayPeriod1(5), DayPeriod2(10), DayPeriod3(20), DayPeriod4(31), DayPeriod5(60);
var : Sma1(0),Sma2(0),Sma3(0),Sma4(0),Sma5(0);
var : Sma6(0),Sma7(0),Sma8(0),Sma9(0),Sma10(0);
var : Sma11(0);
var : i650(650),i1000(1000),i1300(1300),i2000(2000),i2600(2600),i3000(3000);
var : i4000(4000),i5000(5000),i6000(6000),i7000(7000),i7800(7800);
if Index==0 Then{
ClearDebug;
if(BarInterval==3)Then{
i650 = 650;
i1000 = 1000;
i1300 = 1300;
i2000 = 2000;
i2600 = 2600;
i3000 = 3000;
i4000 = 4000;
i5000 = 5000;
i6000 = 6000;
i7000 = 7000;
i7800 = 7800;
}
if(BarInterval==5)Then{
i650 = 390;
i1000 = 600;
i1300 = 780;
i2000 = 1200;
i2600 = 1560;
i3000 = 1800;
i4000 = 2400;
i5000 = 3000;
i6000 = 3600;
i7000 = 4200;
i7800 = 4680;
}
if(BarInterval==15)Then{
i650 = 130;
i1000 = 200;
i1300 = 260;
i2000 = 400;
i2600 = 520;
i3000 = 600;
i4000 = 800;
i5000 = 1000;
i6000 = 1200;
i7000 = 1400;
i7800 = 1560;
}
//MessageLog("barin %.f",BarInterval);
}
/*
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Sma3 = ma(C,Period3);
Sma4 = ma(C,Period4);
Sma5 = ma(C,Period5);
Sma6 = ma(C,Period6);
Sma7 = ma(C,Period7);
Sma8 = ma(C,Period8);
Sma9 = ma(C,Period9);
Sma10 = ma(C,Period10);
Sma11 = ma(C,Period11);
*/
Sma1 = ma(C,i650);
Sma2 = ma(C,i1000);
Sma3 = ma(C,i1300);
Sma4 = ma(C,i2000);
Sma5 = ma(C,i2600);
Sma6 = ma(C,i3000);
Sma7 = ma(C,i4000);
Sma8 = ma(C,i5000);
Sma9 = ma(C,i6000);
Sma10 = ma(C,i7000);
Sma11 = ma(C,i7800);
MessageLog("i1300 %.f %.f %.f",i7000,sma10,ma(C,i7000));
Plot1(Sma1);
Plot2(Sma2);
Plot3(Sma3);
Plot4(Sma4);
Plot5(Sma5);
Plot6(Sma6);
Plot7(Sma7);
Plot8(Sma8);
Plot9(Sma9);
Plot10(Sma10);
Plot11(Sma11);
분봉에 따라 ma 값을 변하게 하고싶습니다
즉 5분봉일때 10분봉일 때 5분봉일때 100ma를 10분봉일때 50ma 로 지표를 나타내고싶어서
위와 같이만들었는데
제대로 작동하지 않는군요
그래서 프린트해봤더니
이상합니다
ma(c,1300) 은 정확히 값을 출력하는데 ma(c,i1300) 은 값이 안나옵니다
이게 왜 이런지 궁금합니다.
i1300의 값이 정확히 바뀌는걸 분봉마다 debug 통해확인하는뎅도
ma(c,1300)으로 값을 직접 넣은것과 ma(c,i1300) 처럼 변수로 하는것의 값이 너무 다릅니다
왜그런가요?
답변 1
예스스탁 예스스탁 답변
2017-12-11 16:29:34
안녕하세요
예스스탁입니다.
차트에 지정한 기간의 이평을 계산할만큼 봉수가
충분한지 확인해 보시기 바랍니다.
첨부된 그림과 같이 이평이 정상적으로 계산되고 그려지고 있습니다.
즐거운 하루되세요
> 여유로운투자 님이 쓴 글입니다.
> 제목 : ma 값이 계산안됩니다
> //Input : DayPeriod1(5), DayPeriod2(10), DayPeriod3(20), DayPeriod4(31), DayPeriod5(60);
var : Sma1(0),Sma2(0),Sma3(0),Sma4(0),Sma5(0);
var : Sma6(0),Sma7(0),Sma8(0),Sma9(0),Sma10(0);
var : Sma11(0);
var : i650(650),i1000(1000),i1300(1300),i2000(2000),i2600(2600),i3000(3000);
var : i4000(4000),i5000(5000),i6000(6000),i7000(7000),i7800(7800);
if Index==0 Then{
ClearDebug;
if(BarInterval==3)Then{
i650 = 650;
i1000 = 1000;
i1300 = 1300;
i2000 = 2000;
i2600 = 2600;
i3000 = 3000;
i4000 = 4000;
i5000 = 5000;
i6000 = 6000;
i7000 = 7000;
i7800 = 7800;
}
if(BarInterval==5)Then{
i650 = 390;
i1000 = 600;
i1300 = 780;
i2000 = 1200;
i2600 = 1560;
i3000 = 1800;
i4000 = 2400;
i5000 = 3000;
i6000 = 3600;
i7000 = 4200;
i7800 = 4680;
}
if(BarInterval==15)Then{
i650 = 130;
i1000 = 200;
i1300 = 260;
i2000 = 400;
i2600 = 520;
i3000 = 600;
i4000 = 800;
i5000 = 1000;
i6000 = 1200;
i7000 = 1400;
i7800 = 1560;
}
//MessageLog("barin %.f",BarInterval);
}
/*
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Sma3 = ma(C,Period3);
Sma4 = ma(C,Period4);
Sma5 = ma(C,Period5);
Sma6 = ma(C,Period6);
Sma7 = ma(C,Period7);
Sma8 = ma(C,Period8);
Sma9 = ma(C,Period9);
Sma10 = ma(C,Period10);
Sma11 = ma(C,Period11);
*/
Sma1 = ma(C,i650);
Sma2 = ma(C,i1000);
Sma3 = ma(C,i1300);
Sma4 = ma(C,i2000);
Sma5 = ma(C,i2600);
Sma6 = ma(C,i3000);
Sma7 = ma(C,i4000);
Sma8 = ma(C,i5000);
Sma9 = ma(C,i6000);
Sma10 = ma(C,i7000);
Sma11 = ma(C,i7800);
MessageLog("i1300 %.f %.f %.f",i7000,sma10,ma(C,i7000));
Plot1(Sma1);
Plot2(Sma2);
Plot3(Sma3);
Plot4(Sma4);
Plot5(Sma5);
Plot6(Sma6);
Plot7(Sma7);
Plot8(Sma8);
Plot9(Sma9);
Plot10(Sma10);
Plot11(Sma11);
분봉에 따라 ma 값을 변하게 하고싶습니다
즉 5분봉일때 10분봉일 때 5분봉일때 100ma를 10분봉일때 50ma 로 지표를 나타내고싶어서
위와 같이만들었는데
제대로 작동하지 않는군요
그래서 프린트해봤더니
이상합니다
ma(c,1300) 은 정확히 값을 출력하는데 ma(c,i1300) 은 값이 안나옵니다
이게 왜 이런지 궁금합니다.
i1300의 값이 정확히 바뀌는걸 분봉마다 debug 통해확인하는뎅도
ma(c,1300)으로 값을 직접 넣은것과 ma(c,i1300) 처럼 변수로 하는것의 값이 너무 다릅니다
왜그런가요?
다음글
이전글