커뮤니티

시뮬레이션 테스트 진입시점 표기문제

프로필 이미지
김태구
2012-12-13 11:19:44
331
글번호 207156
답변완료
예를들어 dayinex()==2 이면 무조건 선물을 매수진입하라는 전략을 다음과 같이 작성했을 때, if dayindex()>=1 then { buycond = sdate==20121129 and dayindex()==2; } if sDate==20121129 and stime<=140000 and marketposition==0 then { if buycond then {buy("매수1", atmarket, DEF, 1); value10=0;} if sellcond then {Sell("매도1", atmarket, DEF, 1); value10=0;} } 당연히 9시 2분에 조건이 만족되고 따라서 9시 3분의 시가에 진입하게 될 것입니다. messagelog를 통해서 살펴봐도 9시 3분에는 이미 marketposition이 1이 되어있습니다. 그런데 시스템 성능 보고서의 거래내역을 보면 9:04에 진입으로 되어있습니다. 가격은 9:03의 시가, 즉 로직대로 되어 있습니다. 시스템 성능 보고서의 시간 표시가 잘못된 것 같습니다. 확인 부탁드립니다.
예스트레이더 (iM증권)
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-12-13 17:39:23

안녕하세요? 예스스탁입니다. 4.0버전에서는 차트의 X축을 표기할때 봉의 시작시간을 기준으로 하거나 봉의 끝시간을 기준으로 선택하여 적용하실 수 있습니다. 해당 내용은 봉의 끝시간 기준으로 설정되어 있기 때문에 9시4분으로 표시되는 것입니다. 봉 끝시간 기준으로 설정되어 있을 경우 차트에서 첫번째 봉은 9시1분 봉 부터 시작합니다. 관리 > 종합환경설정 > 기본환경에서 차트 X축 시간표시를 '봉 시작시간 기준'으로 변경해서 적용하시고 프로그램을 재적용 하시면 9시 3분으로 나오게 됩니다. 감사합니다. > 김태구 님이 쓴 글입니다. > 제목 : 시뮬레이션 테스트 진입시점 표기문제 > 예를들어 dayinex()==2 이면 무조건 선물을 매수진입하라는 전략을 다음과 같이 작성했을 때, if dayindex()>=1 then { buycond = sdate==20121129 and dayindex()==2; } if sDate==20121129 and stime<=140000 and marketposition==0 then { if buycond then {buy("매수1", atmarket, DEF, 1); value10=0;} if sellcond then {Sell("매도1", atmarket, DEF, 1); value10=0;} } 당연히 9시 2분에 조건이 만족되고 따라서 9시 3분의 시가에 진입하게 될 것입니다. messagelog를 통해서 살펴봐도 9시 3분에는 이미 marketposition이 1이 되어있습니다. 그런데 시스템 성능 보고서의 거래내역을 보면 9:04에 진입으로 되어있습니다. 가격은 9:03의 시가, 즉 로직대로 되어 있습니다. 시스템 성능 보고서의 시간 표시가 잘못된 것 같습니다. 확인 부탁드립니다.