커뮤니티

주문 오류

프로필 이미지
scenario
2012-11-15 08:10:49
2421
글번호 221720
답변완료
하기와 같이 마감동시호가 청산을 위하여 작성된 코드이고 정상적으로 동작하는 것으로 알고 있는 코드입니다. 실제로 주문도 내고 있고요.. 예스스탁에서도 유사한 코드를 샘플로 배포한 바 있습니다. 오늘 장마감 무렵 선물 매도주문이 있는 상태에서 PC시각으로 150601에 시장가매수주문이 아니라 시장가 매도주문이 발생하였습니다. 주문을 꼼꼼히 챙기지 않았으면 대량포지션을 오버할 뻔 했네요... 왜 이런 오류가 발생하였는지요? 확인 부탁드립니다. function Main_OnStart() { Main.SetTimer(1, 5000); //5초마다 } function Main_OnTimer(nEventID) { // 날짜 추출 var d = new Date(); var HHMMDD = d.getHours()*10000 + d.getMinutes()*100 + d.getSeconds(); if (nEventID == 1 && HHMMDD >= 150600) { Main.KillTimer(1); Main.MessageLog("주문시간: " + HHMMDD); num = Account1.GetTheNumberOfBalances(); //종목수 for(var i = 0; i < num; i++) { Account1.SetBalanceIndex(i); //해당종목 수량 잔고세팅 if (Account1.Balance.position == 1) var nID = Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count,0,1); if (Account1.Balance.position == 2) var nID = Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,0,1); } } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-11-15 18:04:40

안녕하세요 예스스탁입니다. 스팟은 가원장을 사용합니다. 가원장은 다른 주문매체에서 발생한 내용에 대해서는 업데이트가 되지 않으므로 다른매체에서 주문을 하신 경우에는 예스트레이더 4.0에서 가원장을 갱신해 주셔야 합니다. [1103] 계좌평가 화면이나 [2101] 통합주문 화면에서 잔고를 한번 조회해 주시면 동기화 됩니다. 즐거운 하루되세요 > scenario 님이 쓴 글입니다. > 제목 : 주문 오류 > 하기와 같이 마감동시호가 청산을 위하여 작성된 코드이고 정상적으로 동작하는 것으로 알고 있는 코드입니다. 실제로 주문도 내고 있고요.. 예스스탁에서도 유사한 코드를 샘플로 배포한 바 있습니다. 오늘 장마감 무렵 선물 매도주문이 있는 상태에서 PC시각으로 150601에 시장가매수주문이 아니라 시장가 매도주문이 발생하였습니다. 주문을 꼼꼼히 챙기지 않았으면 대량포지션을 오버할 뻔 했네요... 왜 이런 오류가 발생하였는지요? 확인 부탁드립니다. function Main_OnStart() { Main.SetTimer(1, 5000); //5초마다 } function Main_OnTimer(nEventID) { // 날짜 추출 var d = new Date(); var HHMMDD = d.getHours()*10000 + d.getMinutes()*100 + d.getSeconds(); if (nEventID == 1 && HHMMDD >= 150600) { Main.KillTimer(1); Main.MessageLog("주문시간: " + HHMMDD); num = Account1.GetTheNumberOfBalances(); //종목수 for(var i = 0; i < num; i++) { Account1.SetBalanceIndex(i); //해당종목 수량 잔고세팅 if (Account1.Balance.position == 1) var nID = Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count,0,1); if (Account1.Balance.position == 2) var nID = Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,0,1); } } }