커뮤니티

예스 글로벌 프로 잔고함수 관련

프로필 이미지
잘모름
2014-03-30 20:00:16
217
글번호 73955
답변완료
value1 = getnumpositions(getaccount(1)); if marketposition == 1 then if value == 2 then if c <= entryprice - 0.0065 then exitlong(); if value == 1 then setstoptrailing(100,var1,percentstop); 잔고함수를 처음 써보는데, 시뮬레이션 차트로는 잔고 변화 시뮬레이션이 불가능한 것 같아서 이렇게 질문드립니다. 제가 원하는 건 계좌에 두 종목이 있다가 한 종목이 청산되면 이후부터 stop trailing 주문이 작동하게 하는 건데요. 위와 같이 수식을 쓰면 제가 원하는대로 되는지 궁금합니다. 또 다른 궁금한 점은 예를 들어 9시에 한 종목이 청산이 되었는데 8시 반에 이미 stop trailing 주문이 발동될 조건이 충족된 경우, 9시에 종목 청산과 동시에 8시 반 기준 stop trailing 주문이 나간 것으로 인식이 되나요? 아니면 9시 이후에 stop trailing 주문 조건이 만족될 경우 주문이 나가는 식으로 인식이 되나요? 끝으로 제가 계좌번호가 하나밖에 없는데 그럼 getaccount(1) 이라고 적으면 되는건가요? 답변 부탁드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-03-31 14:19:18

안녕하세요 예스스탁입니다. 1. 잔고함수는 실시간으로 데이터가 수신될때만 제공이 됩니다. 그러므로 시뮬레이션 차트에서는 사용하실 수 없고 실시간 차트에서도 과거봉에는 제공되지 않습니다. 구현하고자 하시는 내용은 예스랭귀지로는 가능하지 않을것 같습니다. 예스랭귀지의 잔고함수는 주문하실때 수량을 지정하는 부분을 제외하고는 종목보유여부로 식을 구현하시기에는 어렵습니다. 2. 8시반에 트레일링스탑으로 청산된것으로 인식됩니다. 시스템은 차트에 적용이 되면 우선 차트의 과거봉을 이용해 신호를 만들게 되고 적용된 이후의 실시간 봉에서 발생한 신호에 대해서만 주문을 내게 됩니다. 시스템은 과거봉에 발생한 신호에 대해서는 신호만 표시하고 주문을 내지 않습니다. 그러므로 차트상에 이미 8시반에 트레일링 조건이 만족해 신호가 발생해 있다면 해당 포지션은 청산이 되어 끝난 것이므로 9시 시점에는 차트상 무포지션이되고 다음 진입이 발생하기 전에는 무포지션 상태입니다. 3. (0)입니다. 계좌의 순번은 0번부터 시작입니다. 즐거운 하루되세요 > 잘모름 님이 쓴 글입니다. > 제목 : 예스 글로벌 프로 잔고함수 관련 > value1 = getnumpositions(getaccount(1)); if marketposition == 1 then if value == 2 then if c <= entryprice - 0.0065 then exitlong(); if value == 1 then setstoptrailing(100,var1,percentstop); 잔고함수를 처음 써보는데, 시뮬레이션 차트로는 잔고 변화 시뮬레이션이 불가능한 것 같아서 이렇게 질문드립니다. 제가 원하는 건 계좌에 두 종목이 있다가 한 종목이 청산되면 이후부터 stop trailing 주문이 작동하게 하는 건데요. 위와 같이 수식을 쓰면 제가 원하는대로 되는지 궁금합니다. 또 다른 궁금한 점은 예를 들어 9시에 한 종목이 청산이 되었는데 8시 반에 이미 stop trailing 주문이 발동될 조건이 충족된 경우, 9시에 종목 청산과 동시에 8시 반 기준 stop trailing 주문이 나간 것으로 인식이 되나요? 아니면 9시 이후에 stop trailing 주문 조건이 만족될 경우 주문이 나가는 식으로 인식이 되나요? 끝으로 제가 계좌번호가 하나밖에 없는데 그럼 getaccount(1) 이라고 적으면 되는건가요? 답변 부탁드립니다.