현물 기준으로..
매수주문 이후 1분이내에 매수체결이 되지 않으면
남은 매수잔량 모두 취소 주문
매수청산 발생 이후 1분이내에 매도체결이 되지 않으면
남은 매수 잔량 모두 상대1호가로 다시 주문 (수량은 현재 가지고 있는 만큼의 수량입니다.)
이후 다시 1분이내에 매도체결이 되지 않으면
시장가로 남은 잔량 모두 주문
하는 식 부탁드립니다.
답변 1
예스스탁
예스스탁 답변
2015-03-06 13:49:53
안녕하세요
예스스탁입니다.
예스스팟 답변은 가이드라인정도입니다.
아래내용 참고하셔서 수정보완해 사용하시기 바랍니다.
주문은 시장가로 정정은 되지 않습니다.
주문취소후 시장가로 재주문되어야 합니다.
var BuyID,BuyNum;
var BxID,BxNum;
var BxCancel,BxCvol;
//특정 이벤트 발생시 매수
//아래내용은 사용자분이 처리하셔야 합니다.
function 이벤트
{
if (~~~~매수진입조건~~~~)
{
BuyID = Account1.OrderBuy(MarketData1.code, 1, dPrice, nPriceKind)
//60초 타이머 셋팅 타이머 아이디 1
Main.SetTimer(1, 60000);
}
if (~~~~매수청산조건~~~~)
{
BxID = Account1.OrderSell(MarketData1.code, 1, dPrice, nPriceKind)
//60초 타이머 셋팅 타이머 아이디 2
Main.SetTimer(2, 60000);
}
}
function Main_OnOrderResponse(OrderResponse)
{
//매수주문 접수되면 주문번호 저장
if (OrderResponse.orderID == BuyID)
{
BuyNum = OrderResponse.orderNum;
}
//매수청산주문 접수되면 주문번호 저장
if (OrderResponse.orderID == BxID)
{
BxNum = OrderResponse.orderNum;
}
//매수청산주문 취소주문이 접수되면 시장가로 재주문
if (OrderResponse.orderID == BXCancel)
{
Account1.OrderBuy(MarketData1.code, BxCvol, 0,1);
}
}
function Main_OnTimer(nEventID)
{
//1번 타이머 동작하면
if (nEventID == 1)
{
//1번 타이머 종료
Main.KillTimer(1);
//BuyNum주문번호에 대한 미체결 객체 설정
Account1.SetUnfillOrderNumber(BuyNum);
//설정된 미체결객체에 잔량이 있으면
if (Account1.Unfill.count > 0)
{
//BuyNum주문 최소
Account1.OrderCancel(BuyNum);
}
}
if (nEventID == 2)
{
//2번 타이머 종료
Main.KillTimer(2);
//BuyNum주문번호에 대한 미체결 객체 설정
Account1.SetUnfillOrderNumber(BxNum);
//설정된 미체결객체에 잔량이 있으면
if (Account1.Unfill.count > 0)
{
//BxNum주문 정정 (매도1호가)
if (Account1.Unfill.price != MarketData1.Ask(1))
{
BxID = Account1.OrderReplacePrice(BxNum, MarketData1.Ask(1))
}
//60초 타이머 셋팅 타이머 아이디 3
Main.SetTimer(3, 60000);
}
}
if (nEventID == 3)
{
//3번 타이머 종료
Main.KillTimer(3);
//BuyNum주문번호에 대한 미체결 객체 설정
Account1.SetUnfillOrderNumber(BxNum);
//설정된 미체결객체에 잔량이 있으면
if (Account1.Unfill.count > 0)
{
//현재 미체결 잔량 저장
BxCvol = Account1.Unfill.count;
//취소
BXCancel = Account1.OrderCancel(BxNum);
}
}
}
즐거운 하루되세요
> sdfadfe 님이 쓴 글입니다.
> 제목 : 질문드립니다.
> 현물 기준으로..
매수주문 이후 1분이내에 매수체결이 되지 않으면
남은 매수잔량 모두 취소 주문
매수청산 발생 이후 1분이내에 매도체결이 되지 않으면
남은 매수 잔량 모두 상대1호가로 다시 주문 (수량은 현재 가지고 있는 만큼의 수량입니다.)
이후 다시 1분이내에 매도체결이 되지 않으면
시장가로 남은 잔량 모두 주문
하는 식 부탁드립니다.