예를들어 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의 시가, 즉 로직대로 되어 있습니다.
시스템 성능 보고서의 시간 표시가 잘못된 것 같습니다. 확인 부탁드립니다.
답변 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의 시가, 즉 로직대로 되어 있습니다.
시스템 성능 보고서의 시간 표시가 잘못된 것 같습니다. 확인 부탁드립니다.