주문을 취소한 것도, 주문접수 함수가 반응하네요.
Main_OnOrderResponse(OrderResponse)의 OrderResponse에서
원주문, 주문수정, 주문취소 각각을 구분하려면 어떤 프라퍼티를 이용해야 할까요?
그리고, STOP주문이나, 외부에서 한 주문의 경우를 구분할 수 있는지요?
있다면 어떻게 구분해야하는지 알려주시기 바랍니다.
답변 1
예스스탁
예스스탁 답변
2024-09-06 16:12:06.0
안녕하세요
예스스탁입니다.
1
주문응답 객체에 별도로 신규,수정,취소를 알려주는 프로퍼티는 없습니다.
스팟에서는 주문함수 동작시 주문함수마다 아이디가 생성되는데
변수에 해당 주문아이디를 저장한 이후에
주문응답 이벤트 발생시에 아이디 비교로 주문의 종류를 구분하셔야 합니다.
var ID1,ID2,ID3;
function Main_OnStart()
{
ID1 = Account1.OrderBuy(MarketData1.code, 1, MarketData1.Bid(3), 0);
Main.MessageList("신규매수주문:",ID1);
Main.SetTimer(1,5000);
cnt = 0;
}
function Main_OnOrderResponse(OrderResponse)
{
if (OrderResponse.orderID == ID1)
{
BNUM = OrderResponse.orderNum;
Main.MessageList("신규매수주문응답:",OrderResponse);
}
if (OrderResponse.orderID == ID2)
{
Main.MessageList("매수정정주문응답:",,OrderResponse);
}
if (OrderResponse.orderID == ID3)
{
Main.MessageList("매수취소주문응답:",,OrderResponse);
}
}
function Main_OnTimer(nEventID)
{
if (nEventID == 1)
{
cnt = cnt+1;
if (cnt == 1)
{
ID2 = Account1.OrderReplacePrice(BNUM,MarketData1.Bid(5))
Main.MessageList("매수정정:",ID2);
}
if (cnt == 2)
{
ID3 = Account1.OrderCancel(BNUM);
Main.MessageList("매수취소:",ID3);
Main.KillTimer(1);
}
}
}
2
스팟의 주문응답 이벤트는 해당 스팟수식으로 발생한 주문에 대해서만 이벤트가 발생하므로
다른 주문창에서 발생한 주문에 대해서는 관리는 어렵습니다.
도움을 드리지 못해 죄송합니다.
즐거운 하루되세요
> 푸른비행 님이 쓴 글입니다.
> 제목 : 취소 접수 확인을 위한 프라퍼티는 어떤것일까요?
> 주문을 취소한 것도, 주문접수 함수가 반응하네요.
Main_OnOrderResponse(OrderResponse)의 OrderResponse에서
원주문, 주문수정, 주문취소 각각을 구분하려면 어떤 프라퍼티를 이용해야 할까요?
그리고, STOP주문이나, 외부에서 한 주문의 경우를 구분할 수 있는지요?
있다면 어떻게 구분해야하는지 알려주시기 바랍니다.