커뮤니티

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) 처럼 변수로 하는것의 값이 너무 다릅니다 왜그런가요?