커뮤니티

시스템질문드립니다

프로필 이미지
희망차사
2013-03-22 09:45:07
1856
글번호 222275
답변완료
수고많어십니다. 현재 스폿을 이용하여 합성선물매매 로직작성중입니다 신호발생 => 옵션매수진입 => 체결신호확인(NotifyFill 사용) => 옵션매도진입 주문후 일정시간 경과후 => 가격정정주문 위와같은 구조에서 발생할 수 있는 로직 질문드립니다 첫째, 주문체결신호는 주문수량이 전부 체결된 경우에만 주문체결신호가 발생하는지요? 둘째, 주문수량이 많아, 주문 미체결이 남아 있는 상태에서 시간경과 가격정정주문이 발생하는 경우 어떻게 되는지요? 이경우 체결신호는 어떻게? 셋째, 일정시간이 경과후 남아있는 미체결 검색 후 종목 및 잔량을 전량 취소하는 수식 부탁드립니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-03-25 18:11:55

안녕하세요 예스스탁입니다. 1 체결응답은 주문에 대한 체결에 대한 정보가 오는 것이므로 일부만 체결되어도 수신되게 되며 OnNotifyFill는 체결응답이 들어오는 것을 감지하는 이벤트 이므로 일부만 체결되어도 체결응답이 발생합니다. 2. 주문후 일부체결되면 체결응답이 발생하며 마찬가지로 나머지 수량에 대해 정정주문 후에 일부 체결되어도 발생합니다. 3. var buycode; var buyid; function Chart1_OnRiseSignal(Signal) //차트 신호발생 { if (Signal.signalKind == 1) //매수신호가 발생하면 { buycode = Option.GetATMCallRecent(0); buyid = Account1.OrderBuy(buycode, 1, 0, 1) ;//ATM콜 매수주문, 주문아이디 저장 } } //접수 응답 수신시 저장한 주문아이디와 동일하면 주문번호 저장 function Main_OnOrderResponse(OrderResponse) { if (OrderResponse.orderID == buyid) { buynum = OrderResponse.orderNum; Main.SetTimer(1, 10000);//타이머 셋팅 10초 후 울림(타이머아이디 1) } } function Main_OnTimer(nEventID) { if (nEventID == 1)//1번 타이머가 울리면 { Account1.SetUnfillOrderNumber(buynum);//buynum 주문번호에 대하 미체결잔고 셋팅 if (Account1.Unfill.count >= 1) //미체결잔고가 셋팅이 되서 수량이 1이상이면 { Account1.OrderCancel(Account1.Unfill.orderNum);//해당 주문 취소 } } } 즐거운 하루되세요 > 희망차사 님이 쓴 글입니다. > 제목 : 시스템질문드립니다 > 수고많어십니다. 현재 스폿을 이용하여 합성선물매매 로직작성중입니다 신호발생 => 옵션매수진입 => 체결신호확인(NotifyFill 사용) => 옵션매도진입 주문후 일정시간 경과후 => 가격정정주문 위와같은 구조에서 발생할 수 있는 로직 질문드립니다 첫째, 주문체결신호는 주문수량이 전부 체결된 경우에만 주문체결신호가 발생하는지요? 둘째, 주문수량이 많아, 주문 미체결이 남아 있는 상태에서 시간경과 가격정정주문이 발생하는 경우 어떻게 되는지요? 이경우 체결신호는 어떻게? 셋째, 일정시간이 경과후 남아있는 미체결 검색 후 종목 및 잔량을 전량 취소하는 수식 부탁드립니다.