커뮤니티

CurrentTime 질문드립니다.

프로필 이미지
회원
2013-01-29 16:00:25
231
글번호 58818
답변완료
질문1) 예를들어 if c > ma10 and CurrentTime > 090959 then 이 문장을 해석하자면 '종가가 10일 이평을 넘어가고 현재 시각이 09시 09분 59초보다 크면' 이라는 뜻이 맞나요? 만약에 저런 상황에서 매수하라라고 입력했고 시스템을 검증한 후 시뮬레이션 차트에 적용할 경우, 과거의 09시 09분 59초 이후에 매수하라라는 신호가 적용이 되나요? 마찬가지 이유로 SetStopEndofDay 함수도 시뮬레이션 차트에 적용할 경우 과거 시점에도 모두 적용되는지 궁금합니다. 질문2) 이런 코딩을 할 수 있는지 궁금합니다. '현재가격'이 특정 이평을 넘어가면 매수하라...라는 것입니다. 보통 if c > ma10 then buy(); 이렇게 하면 종가가 10일 이평을 넘어가고 그 다음봉에 매수되는 것으로 알고 있는데, 지금 당장의 가격이 10일 이평을 넘어가면 바로 매수하는 방법은 없나요? 그것이 아니라면 최대한 빠르게 매수할 수 있는 방법은 무엇이 있을까요? 답변 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-30 10:59:39

안녕하세요 예스스탁입니다. CurrentTime 은 컴퓨터의 시간입니다. 컴퓨터의 시간을 사용하시면 시뮬레이션에서 제대로 신호를 발생시킬수 없습니다. 봉의 시간은 stime이나 time으로 설정을 하셔야 하며 예스랭귀지에서는 봉을 stime으로 지칭하므로 stime을 사용하셔서 작성하셔야 합니다. if c > ma10 and sTime > 090959 then SetStopEndofDay 함수는 체결데이터의 시간으로 시간을 판단합니다. SetStopEndofDay(150000)와 같이 작성하시면 실시간에서느 15시이후 첫번째 체결틱이 수신될 때 신호가 발생하며 시뮬레이션에서는 해당 시간이 포함된 종가에 청산한것으로 신호가 발생합니다. 2 c > ma10 은 단순히 현재종가가 10보다 크다라는 식입니다. 넘어가는것(상향돌파)를 표현하실 때는 crossup(c,ma10)과 같이 작성하시면 됩니다. 또한 수식에서 if문은 봉완성시입니다. 봉완성이될때 조건만족여부를 판단하므로 미완성시에 넘어갈대 바로 신호발생하실 수 없습니다. 즐거운 하루되세요 > HI_yjam49 님이 쓴 글입니다. > 제목 : CurrentTime 질문드립니다. > 질문1) 예를들어 if c > ma10 and CurrentTime > 090959 then 이 문장을 해석하자면 '종가가 10일 이평을 넘어가고 현재 시각이 09시 09분 59초보다 크면' 이라는 뜻이 맞나요? 만약에 저런 상황에서 매수하라라고 입력했고 시스템을 검증한 후 시뮬레이션 차트에 적용할 경우, 과거의 09시 09분 59초 이후에 매수하라라는 신호가 적용이 되나요? 마찬가지 이유로 SetStopEndofDay 함수도 시뮬레이션 차트에 적용할 경우 과거 시점에도 모두 적용되는지 궁금합니다. 질문2) 이런 코딩을 할 수 있는지 궁금합니다. '현재가격'이 특정 이평을 넘어가면 매수하라...라는 것입니다. 보통 if c > ma10 then buy(); 이렇게 하면 종가가 10일 이평을 넘어가고 그 다음봉에 매수되는 것으로 알고 있는데, 지금 당장의 가격이 10일 이평을 넘어가면 바로 매수하는 방법은 없나요? 그것이 아니라면 최대한 빠르게 매수할 수 있는 방법은 무엇이 있을까요? 답변 부탁드립니다.