답변완료
1분봉거래시 완성봉 즉 종가가 나오고나서 거래가 체결되는데..
예스트레이더에서는 1분봉이 완성이되어야 그다음봉시초에 조건이 맞으면
진입을 하는데요...예스스팟을 이용해서 미완성봉으로 매매를 하고있지만..
별 차이점이 없어서 코딩이 잘못되었는지 문의 드립니다.
예를 들어서 가격이 11000포인트라고했을때....이가격을 실시간으로 위로 11000.25 이렇게 올라갔을때 봉이 완성되기 전에 진입을 하고자 하는데...예스 스팟도 이부분을 캣취해서
매수를 못하는것인지 문의 드립니다..
그리고 매도도 11000 기준가격인상태에서 10999.75 로 11000가격아래로 빠지면 실시간으로
미완성 매도를 하고싶은데 시스템한계인것인지 극복이 가능한것인지 문의 드립니다.
function C1_OnRiseIncompleteSignal(IncompleteSignal)
{
Main.MessageList("미완성신호발생/",IncompleteSignal.signalKind);
if (IncompleteSignal.signalKind == 1) // 매수
{
Position = 1;
BID = C1.OrderBuy(OrdeCode, Signal.count,F1.current, 0);
Main.MessageLog("미완성 매수진입");
BuyFill = 0;
//Buy();
}
if (BuyFill == 1 && IncompleteSignal.signalKind == 2 ) // 엑싯롱 매수청산
{
if (BuyFill == 1)
{
C1.OrderSell(OrdeCode, Vol,F1.Bid(2), 0);
Main.MessageLog("미완성 매수청산실행");
2022-10-13
1487
글번호 225728
답변완료
미체결 잔량 확인 코드 관련 문의
안녕하세요.
미체결 잔량 확인 코드가 정상동작하지 않는 것 같아 문의 드립니다.
미체결 잔량을 확인하기 위해 아래와 같이 작성하였으나
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
1376
글번호 225712