커뮤니티

20일이평선 표시

프로필 이미지
thrupass
2013-12-19 10:30:31
221
글번호 70633
답변완료

첨부 이미지

우리트레이더 / 6101 전략실행차트 1분봉차트에서 5/20[일]이평선을 표시하기 위해서 아래와 같이 수식을 작성하였는데 20일 이평선이 제대로 계산되지 않는 것 같습니다. messagelog로 수치를 출력하면 "-1#J,"으로 출력됩니다 (첨부참조) (차트속성 : 조회건수 2000) 조회건수를 최대값이 5000으로 조정후에도 정상처리가 않되는데 계산하기 위한 조회건수가 부족해서 인가요 ? /////////////////////////////////////////////////////////////////////////////////////// var : Sma_d_5(0),Sma_d_20(0); Sma_d_5=(CloseD(0)+CloseD(1)+CloseD(2)+CloseD(3)+CloseD(4))/5; Sma_d_20=(CloseD(0)+CloseD(1)+CloseD(2)+CloseD(3)+CloseD(4)+ CloseD(5)+CloseD(6)+CloseD(7)+CloseD(8)+CloseD(9)+ CloseD(10)+CloseD(11)+CloseD(12)+CloseD(13)+CloseD(14)+ CloseD(15)+CloseD(16)+CloseD(17)+CloseD(18)+CloseD(19))/20; plot5(Sma_d_5,"5일이평"); plot6(Sma_d_20,"20일이평2"); ClearDebug; MessageLog("%.2f , %.2f, %.2f ",Sma_d_20,Sma_d_20);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-12-19 14:41:31

안녕하세요 예스스탁입니다. 선물의 경우 1분봉으로 하루에 발생되는 봉갯수가 366개 입니다. 차트가 5000개봉이어도 약 13~14일치 뿐이 되지 않습니다. CloseD는 차트에서 일간종가를 계산해서 값을 사용하는 함수입니다. 차트에 존재하는 기간 이상으로는 값이 리턴되지 않습니다. 차트에는 주종목에 한해서 일봉데이터를 100일이상 사용할수 있도록 차트의 첫봉의 날짜 +99일치의 일봉이 내부적으로 제공되는데 이 데이터에서 값을 가져오는 함수가 dayclose/dayhigh/daylow/dayopen 입니다. CloseD대신에 dayclose사용하시면 됩니다 var : Sma_d_5(0),Sma_d_20(0); Sma_d_5=(dayclose(0)+dayclose(1)+dayclose(2)+dayclose(3)+dayclose(4))/5; Sma_d_20=(dayclose(0)+dayclose(1)+dayclose(2)+dayclose(3)+dayclose(4)+ dayclose(5)+dayclose(6)+dayclose(7)+dayclose(8)+dayclose(9)+ dayclose(10)+dayclose(11)+dayclose(12)+dayclose(13)+dayclose(14)+ dayclose(15)+dayclose(16)+dayclose(17)+dayclose(18)+dayclose(19))/20; plot5(Sma_d_5,"5일이평"); plot6(Sma_d_20,"20일이평2"); 위식을 아래와 같이 작성하시면 추가하시는 내용없이 기간 변경해 보실수 있습니다. input : P1(5),P2(20); var : count(0),sumV1(0),sumV2(0); var : Sma_d_5(0),Sma_d_20(0); sumV1 = 0; sumV2 = 0; for count = 0 to P2{ if count < P1 Then sumV1 = sumV1+DayClose(count); if count < P2 Then sumV2 = sumV2+DayClose(count); } Sma_d_5 = sumV1 / P1; Sma_d_20 = sumV2 / P2; plot1(Sma_d_5); plot2(Sma_d_20); 즐거운 하루되세요 > thrupass 님이 쓴 글입니다. > 제목 : 20일이평선 표시 > 우리트레이더 / 6101 전략실행차트 1분봉차트에서 5/20[일]이평선을 표시하기 위해서 아래와 같이 수식을 작성하였는데 20일 이평선이 제대로 계산되지 않는 것 같습니다. messagelog로 수치를 출력하면 "-1#J,"으로 출력됩니다 (첨부참조) (차트속성 : 조회건수 2000) 조회건수를 최대값이 5000으로 조정후에도 정상처리가 않되는데 계산하기 위한 조회건수가 부족해서 인가요 ? /////////////////////////////////////////////////////////////////////////////////////// var : Sma_d_5(0),Sma_d_20(0); Sma_d_5=(CloseD(0)+CloseD(1)+CloseD(2)+CloseD(3)+CloseD(4))/5; Sma_d_20=(CloseD(0)+CloseD(1)+CloseD(2)+CloseD(3)+CloseD(4)+ CloseD(5)+CloseD(6)+CloseD(7)+CloseD(8)+CloseD(9)+ CloseD(10)+CloseD(11)+CloseD(12)+CloseD(13)+CloseD(14)+ CloseD(15)+CloseD(16)+CloseD(17)+CloseD(18)+CloseD(19))/20; plot5(Sma_d_5,"5일이평"); plot6(Sma_d_20,"20일이평2"); ClearDebug; MessageLog("%.2f , %.2f, %.2f ",Sma_d_20,Sma_d_20);