답변완료
미체결 잔량 확인 코드 관련 문의
안녕하세요.
미체결 잔량 확인 코드가 정상동작하지 않는 것 같아 문의 드립니다.
미체결 잔량을 확인하기 위해 아래와 같이 작성하였으나
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
1357
글번호 225712
답변완료
부탁드려요
아래수식에서 매수 금액을 n 만큼 지정할수 있게 도와주세요
부탁드려요 머리가 안 돌아가 이것 저것 짜집기해도 안 되네요
//스팟 첫 실행시
function Main_OnStart()
{
//1번 타이머, 60초
Main.SetTimer(1, 5000);
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
//종목검색 수행
Main.ReqPowerSearch("3")
}
}
//종목검색 완료
function Main_OnRcvItemList(aItemList, nCount)
{
//1종목 이상 검색되면
if (nCount >= 1)
{
//리스트 첫종목부터 마지막종목까지 순차적으로
//1번 타이머 동작
for (var i = 0; i < nCount; i++)
{
//잔고를 셋팅
Account1.SetBalance(aItemList[i],0);
//보유수량이 없으면
if (Account1.Balance.count == 0)
{
//매수주문
Account1.OrderBuy(aItemList[i], 1,0,1);
}
}
}
}
2022-08-29
1181
글번호 225709
답변완료
예스글로벌 (NH선물) 에서 해외 선물 MarketData 에서 일부 데이터가 쓰레기 값임
안녕하세요.
예스글로벌 (NH선물)의 예스스팟을 이용해서 프로그램 개발하고 있는데요.
해외 선물 MarketData 에서 일부 데이터가 쓰레기 값으로 차 있습니다.
가장 최근월물 E-mini S&P 500 과 Nasdaq 100 futures 모두 MarketData 에 GetPrevHigh(1), GetPrevOpen(1), GetPrevHigh(1), GetPrevLow(1) 를 해보면 전부 의미있는 데이터가 아닌 1.4814925181420344e-309 이런식의 값들이 들어가 있습니다.
MarketData 를 요청할때는 올바르게 다음과 같이 요청했습니다.
// 하루 전의 데이터만 필요해서 1을 넣었습니다.
Main.ReqMarketData(esFuturesInfoAndTradingHour.FuturesInfo.FutureCode, 1, 0);
Main.ReqMarketData(nqFuturesInfoAndTradingHour.FuturesInfo.FutureCode, 1, 0);
이러고 나서 Main_OnRcvMarketData 내부에서
MarketData.GetPrevOpen(1); 이렇게 하면 이상한 값이 나옵니다.
2022-08-10
1268
글번호 225703