커뮤니티

OnOrderReponse에서 OrderNum 값이 return되지 않습니다.

프로필 이미지
기사단장
2023-10-24 22:13:06.0
732
글번호 225862
답변완료
안녕하세요. 오랜만에 인사드립니다. 환절기 건강 유의하시기바랍니다. 다름아아니라 OnOrderResponse 기능에서 OrderNum의 값이 Return되지 않아 혹시 시스템상 어떤 특정 조건이 만족되어야 해당 값이 나오는 것인지 문의드리고자 합니다. 아래와 같은 코드로 주문시 응답 메세지를 보면 OnOrderResponse에서 OrderID값은 보이는데, OrderNum 값은 아무값도 Return되지 않습니다. (MessageList 표시 예: 체결정보 1 function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.MessageList("체결정보", OrderResponse.orderID, OrderResponse.orderNum); var RowN = 0; RowN = Excel1.GetRowCount(2); //엑셀에 매수주문 정보 기록: 일자,시간, 종목명, 종목코드, 매매종류, 가격, 수량, 금액 Excel1.SetArrayToRow(2, 'K'+RowN, [Number]); } } 제 시스템의 현재 흐름은 아래와 같습니다. 혹시 아래 흐름에서 OrderNum를 Return 받는데 문제가 되는 부분이 있을까요? 1. function Main_OnRiseSignal(ChartEx, Signal) 를 통해 Account1.OrderBuy를 사용하여 매수/매도 주문 ID = Account1.OrderBuy(Main.GetOrderCode(Signal.code),SplitCount,BuyPrice,0); 2. 위 function Main_OnOrderResponse(OrderResponse) 를 통해 동일한 ID의 값을 Return 받아 엑셀에 저장함 여기서 MessageList에서 OrderID만 표시됨 3. function Main_OnNotifyFill(NotifyFill) 를 통해 체결정보 저장 궁극적으로 주문정보와 체결정보를 OrderNum를 통해 데이터를 연결하고자 함. 아무리 가이드라인을 보고 관련 질의응답을 봐도 관련 내용이 없어서 격무로 바쁘시겠지만 도움을 주시면 정말 감사하겠습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-11-21 18:06:15.0

안녕하세요 예스스탁입니다. 올리신 내용상 별도로 문제점이 보이지 않습니다. 테스트를 해보았지만 정상주문이 접수되면 주문번호는 모두 들어오고 있습니다. 주문번호가 없는 경우는 주문거부나 있을 경우입니다. 메세지에 주문 정상접수여부와 에러메시지를 출력해 확인해 보셔야 할 것 같습니다. Main.MessageList("체결정보",OrderResponse.isNormal,OrderResponse.error,OrderResponse.orderID, OrderResponse.orderNum); 즐거운 하루되세요 > 기사단장 님이 쓴 글입니다. > 제목 : OnOrderReponse에서 OrderNum 값이 return되지 않습니다. > 안녕하세요. 오랜만에 인사드립니다. 환절기 건강 유의하시기바랍니다. 다름아아니라 OnOrderResponse 기능에서 OrderNum의 값이 Return되지 않아 혹시 시스템상 어떤 특정 조건이 만족되어야 해당 값이 나오는 것인지 문의드리고자 합니다. 아래와 같은 코드로 주문시 응답 메세지를 보면 OnOrderResponse에서 OrderID값은 보이는데, OrderNum 값은 아무값도 Return되지 않습니다. (MessageList 표시 예: 체결정보 1 function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == ID) { Number = OrderResponse.orderNum; Main.MessageList("체결정보", OrderResponse.orderID, OrderResponse.orderNum); var RowN = 0; RowN = Excel1.GetRowCount(2); //엑셀에 매수주문 정보 기록: 일자,시간, 종목명, 종목코드, 매매종류, 가격, 수량, 금액 Excel1.SetArrayToRow(2, 'K'+RowN, [Number]); } } 제 시스템의 현재 흐름은 아래와 같습니다. 혹시 아래 흐름에서 OrderNum를 Return 받는데 문제가 되는 부분이 있을까요? 1. function Main_OnRiseSignal(ChartEx, Signal) 를 통해 Account1.OrderBuy를 사용하여 매수/매도 주문 ID = Account1.OrderBuy(Main.GetOrderCode(Signal.code),SplitCount,BuyPrice,0); 2. 위 function Main_OnOrderResponse(OrderResponse) 를 통해 동일한 ID의 값을 Return 받아 엑셀에 저장함 여기서 MessageList에서 OrderID만 표시됨 3. function Main_OnNotifyFill(NotifyFill) 를 통해 체결정보 저장 궁극적으로 주문정보와 체결정보를 OrderNum를 통해 데이터를 연결하고자 함. 아무리 가이드라인을 보고 관련 질의응답을 봐도 관련 내용이 없어서 격무로 바쁘시겠지만 도움을 주시면 정말 감사하겠습니다.