커뮤니티

홈페이지에 있는 예스스팟 안내서 관련해서 질문드립니다.

프로필 이미지
예스랭귀지
2019-09-09 11:21:52
3460
글번호 224988
답변완료
예제 3번이 스팟전략이 [예스스팟 모니터]에 적용하면 삼성전자를 매수1호가에 1주 매수주문하고 해당 주문에 대한 주문응답이 수신된 후 60초 후에도 미체결 상태이면 매도2호가로 정정주문을 발생합니다. 라는 문제인데 해당 파일에선 코딩을 var ID; var Number; function Main_OnStart() { ID = A1.OrderBuy(SSE.code, 1, F1.Bid(1), 0); } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.SetTimer(1, 60000); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { A1.OrderReplacePrice(Number,F1.Ask(2)); Main.KillTimer(1); } } function Main_OnNotifyFill(NotifyFill) { if (NotifyFill.orderNum == Number) Main.KillTimer(1); } 이렇게 해 놓았더라구요 A1은 계좌고. 그런데 똑같이 만들어서 돌려보니 ID = A1.OrderBuy(SSE.code, 1, F1.Bid(1), 0); <-- 이 부분에서 에러가 뜹니다 기타 에러요. 주문에서부터 오류가 생성되니 당연히 밑의 코드들은 돌아가지 않구요. 이거 어떻게 해결하나요?
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-09-25 16:44:11

안녕하세요 예스스탁입니다. 객체명이 잘못 지정되어 있었습니다. 종목객체가 SSE로 지정되어야 합니다. 수정한 식입니다. 도움말도 수정되었습니다. var ID; var Number; function Main_OnStart() { ID = A1.OrderBuy(SSE.code, 1, SSE.Bid(1), 0); } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.SetTimer(1, 60000); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { A1.OrderReplacePrice(Number,SSE.Ask(2)); Main.KillTimer(1); } } function Main_OnNotifyFill(NotifyFill) { if (NotifyFill.orderNum == Number) Main.KillTimer(1); } 즐거운 하루되세요 > 예스랭귀지 님이 쓴 글입니다. > 제목 : 홈페이지에 있는 예스스팟 안내서 관련해서 질문드립니다. > 예제 3번이 스팟전략이 [예스스팟 모니터]에 적용하면 삼성전자를 매수1호가에 1주 매수주문하고 해당 주문에 대한 주문응답이 수신된 후 60초 후에도 미체결 상태이면 매도2호가로 정정주문을 발생합니다. 라는 문제인데 해당 파일에선 코딩을 var ID; var Number; function Main_OnStart() { ID = A1.OrderBuy(SSE.code, 1, F1.Bid(1), 0); } function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.SetTimer(1, 60000); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { A1.OrderReplacePrice(Number,F1.Ask(2)); Main.KillTimer(1); } } function Main_OnNotifyFill(NotifyFill) { if (NotifyFill.orderNum == Number) Main.KillTimer(1); } 이렇게 해 놓았더라구요 A1은 계좌고. 그런데 똑같이 만들어서 돌려보니 ID = A1.OrderBuy(SSE.code, 1, F1.Bid(1), 0); <-- 이 부분에서 에러가 뜹니다 기타 에러요. 주문에서부터 오류가 생성되니 당연히 밑의 코드들은 돌아가지 않구요. 이거 어떻게 해결하나요?