커뮤니티
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일 이평을 넘어가면 바로 매수하는 방법은 없나요?
그것이 아니라면 최대한 빠르게 매수할 수 있는 방법은 무엇이 있을까요?
답변 부탁드립니다.