커뮤니티

오류메세지가 ??

프로필 이미지
너무조아
2016-01-27 16:24:54
2105
글번호 223787
답변완료
아래 예스스팟수식을 적용 하니 아래와 같은 오류메세지가 나옵니다. 원인이 무엇인지요? * 오류메세지 내용 1. 종목코드값을 확인하시기바랍니다. 2. 미체결 내역에서 주문번호를 찾을 수 없어서 주문이 자체 거부 되었습니다. 참조사항 차트객체명 : C1 차트아이디 : D101 (자동매매 활성화 됨) 종목객체명 : SP 종목명 : E-mini S&P 500(2016.3) 종목코드 : ESH 16 var Position; var OrderCode; var BID; var SID; var SNum; var BNum; var BuyFill; var SellFill; function Main_OnStart() { Main.MessageLog("시작"); Position = 0; OrderCode = Main.GetOrderCode(SP.Code); } function C1_OnRiseSignal(Signal) { Main.MessageLog("신호완성/"+Signal.signalKind); if (Signal.signalKind == 1) { Position = 1; BID = A1.OrderBuy(SP.Code, 1, SP.Ask(2),0); Main.MessageLog("매수진입"); BuyFill = 0; } if (Position == 1 && Signal.signalKind == 2) { if (BuyFill == 1) { A1.OrderSell(SP.Code, 1, SP.Bid(2),0); Main.MessageLog("매수청산실행"); } if (BuyFill == 0) { A1.OrderCancel(BNum); Main.MessageLog("매수청산취소"); } } if (Signal.signalKind == 3) { Position = -1; SellFill = 0; SID = A1.OrderSell(SP.Code, 1, SP.Bid(2), 0); Main.MessageLog("매도진입"); } if (Position == -1 && Signal.signalKind == 4) { if (SellFill == 1) { A1.OrderBuy(SP.Code, 1, Ask(2), 0); Main.MessageLog("매도청산"); } if (SellFill == 0) { A1.OrderCancel(SNum); Main.MessageLog("매도청산취소"); } } } function Main_OnOrderResponse(OrderResponse) { if (Position == 1 && OrderResponse.orderID == BID) { BNum = OrderResponse.orderNum; } if (Position == -1 && OrderResponse.orderID == SID) { SNum = OrderResponse.orderNum; } } function Main_OnNotifyFill(NotifyFill) { if (Position == 1 && NotifyFill.orderNum == BNum) { BuyFill = 1; } if (Position == -1 && NotifyFill.orderNum == SNum) { SellFill = 1; } }
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-01-29 17:45:45

안녕하세요 예스스탁입니다. 해외선물에서는 가격구분이 시장가가 1, 지정가가 2 입니다. 현재 수식에는 0으로 지정되어 있습니다. 주문함수의 가격구분을 2로 변경하고 테스트 하시기 바랍니다. 즐거운 하루되세요 > 너무조아 님이 쓴 글입니다. > 제목 : 오류메세지가 ?? > 아래 예스스팟수식을 적용 하니 아래와 같은 오류메세지가 나옵니다. 원인이 무엇인지요? * 오류메세지 내용 1. 종목코드값을 확인하시기바랍니다. 2. 미체결 내역에서 주문번호를 찾을 수 없어서 주문이 자체 거부 되었습니다. 참조사항 차트객체명 : C1 차트아이디 : D101 (자동매매 활성화 됨) 종목객체명 : SP 종목명 : E-mini S&P 500(2016.3) 종목코드 : ESH 16 var Position; var OrderCode; var BID; var SID; var SNum; var BNum; var BuyFill; var SellFill; function Main_OnStart() { Main.MessageLog("시작"); Position = 0; OrderCode = Main.GetOrderCode(SP.Code); } function C1_OnRiseSignal(Signal) { Main.MessageLog("신호완성/"+Signal.signalKind); if (Signal.signalKind == 1) { Position = 1; BID = A1.OrderBuy(SP.Code, 1, SP.Ask(2),0); Main.MessageLog("매수진입"); BuyFill = 0; } if (Position == 1 && Signal.signalKind == 2) { if (BuyFill == 1) { A1.OrderSell(SP.Code, 1, SP.Bid(2),0); Main.MessageLog("매수청산실행"); } if (BuyFill == 0) { A1.OrderCancel(BNum); Main.MessageLog("매수청산취소"); } } if (Signal.signalKind == 3) { Position = -1; SellFill = 0; SID = A1.OrderSell(SP.Code, 1, SP.Bid(2), 0); Main.MessageLog("매도진입"); } if (Position == -1 && Signal.signalKind == 4) { if (SellFill == 1) { A1.OrderBuy(SP.Code, 1, Ask(2), 0); Main.MessageLog("매도청산"); } if (SellFill == 0) { A1.OrderCancel(SNum); Main.MessageLog("매도청산취소"); } } } function Main_OnOrderResponse(OrderResponse) { if (Position == 1 && OrderResponse.orderID == BID) { BNum = OrderResponse.orderNum; } if (Position == -1 && OrderResponse.orderID == SID) { SNum = OrderResponse.orderNum; } } function Main_OnNotifyFill(NotifyFill) { if (Position == 1 && NotifyFill.orderNum == BNum) { BuyFill = 1; } if (Position == -1 && NotifyFill.orderNum == SNum) { SellFill = 1; } }