답변완료
미체결 잔량 확인 코드 관련 문의
안녕하세요.
미체결 잔량 확인 코드가 정상동작하지 않는 것 같아 문의 드립니다.
미체결 잔량을 확인하기 위해 아래와 같이 작성하였으나
BNum1주문에 대한 미체결 잔량이 존재함에도 if(Account1.Unfill.count > 0) 구문이 Else로 빠집니다. .
디버깅을 위해 스팟식에서 미체결 잔량이 발생하도록 지정가 주문하고, 타이머에서
미체결 잔량 체크하도록 하고 있는데(본 게시판에서 가이드 해주시는 코드 그대로)
정상 동작 하지 않습니다. 확인 부탁 드립니다.
한투 글로벌 예트 사용 중 입니다.
첨부화면 및 테스트 코드 공유합니다.
바쁘시겠지만 확인 부탁드립니다.
var BuyID1,BxID1,SellID1,SxID1,BNum1,BxNum1,SNum1,SxNum1;
var SigCnt = 0;
var Level = 1;
var UnfillObj;
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == SIG_BUY )
{
BuyID1 = Account1.OrderBuy(Main.GetOrderCode(MarketData1.code), 1,3900, 2); //미체결 잔량 테스트를 위한 지정가 주문
Main.MessageLog("SIG_BUY 가격:"+ MarketData1.Bid(10) +"종목코드:"+MarketData1.code);
}
}
function Main_OnOrderResponse(OrderResponse)
{
//차트1 주문별 주문번호 저장
if (OrderResponse.orderID == BuyID1)
{
BNum1 = OrderResponse.orderNum;
Main.SetTimer(11,3000);
Main.MessageLog("SMain_OnOrderResponse BNum1 : "+ BNum1 +" BuyID1:"+BuyID1);
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (NotifyFill.orderNum == BNum1)
{
Main.MessageLog("Main_OnNotifyFill BNum1 : "+ BNum1 +" BuyID1:"+BuyID1);
Main.KillTimer(11);
}
}
function Main_OnTimer(nEventID)
{
if (nEventID == 11)
{
Main.MessageLog("Main_OnTimer BNum1 : "+ BNum1 +" BuyID1:"+BuyID1);
Account1.SetUnfillOrderNumber(BNum1);
if (Account1.Unfill.count > 0)
{
Main.MessageLog("Account1.Unfill.count > 0 BNum1: "+ BNum1 +" BuyID1:"+BuyID1);
}
else
{
Main.MessageLog("Account1.Unfill.count else BNum1: "+ BNum1 +" BuyID1:"+BuyID1);
//Main.KillTimer(11);
}
}
}
2022-09-14
1407
글번호 225712