커뮤니티
20일이평선 표시
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. 71084_qna.jpg (0.01 MB)
답변 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);
다음글
이전글