주식 종목 오전에 매수 진입후 체결이 되지 않으면
13시 이후에 미체결된 주문들 모두 취소를 할려면 어떻게 해야되나요? ㅡㅡ;
이렇게 저렇게 해봤지만.. 맞는거 같지가 않네요. ㅠㅠ
function Main_OnStart()
{
Main.MessageLog("시작")
Main.SetTimer(1, 5000);//5초 간격으로 타이머 작동
}
//지정시간 계좌 내 모든 종목 청산
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
Main.MessageList(HHMMSS);
if (nEventID == 1 && HHMMSS >= 130000)
{
Main.KillTimer(1);
Main.MessageLog("취소")
num = Account1.GetTheNumberOfUnfills();
for(var i = 0; i < num; i++)
{
Account1.SetBalanceIndex(i);
Account1.SetUnfillOrderNumber(i);
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(i);
}
}
}
}
답변 1
예스스탁
예스스탁 답변
2013-11-29 16:24:40
안녕하세요
예스스탁입니다.
수정한 식입니다.
미체결객체를 셋팅하고 취소해야 합니다.
기존에는 잔고가 셋팅이되게 되어 있었습니다.
아래식 참고하시기 바랍니다.
function Main_OnStart()
{
Main.MessageLog("시작")
Main.SetTimer(1, 5000);//5초 간격으로 타이머 작동
}
//지정시간 계좌 내 모든 종목 청산
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
Main.MessageList(HHMMSS);
if (nEventID == 1 && HHMMSS >= 130000)
{
Main.KillTimer(1);
Main.MessageLog("취소")
num = Account1.GetTheNumberOfUnfills();//미체결주문 갯수
for(var i = 0; i < num; i++)
{
Account1.SetUnfillIndex(i);//i순번의 미체결객체 셋팅
if (Account1.Unfill.count > 0)//미체결객체의 수량이 0이상이면
{
//해당주문번호 취소주문
Account1.OrderCancel(Account1.Unfill.orderNum);
}
}
}
}
즐거운 하루되세요
> 오토 님이 쓴 글입니다.
> 제목 : 미체결 취소주문
> 주식 종목 오전에 매수 진입후 체결이 되지 않으면
13시 이후에 미체결된 주문들 모두 취소를 할려면 어떻게 해야되나요? ㅡㅡ;
이렇게 저렇게 해봤지만.. 맞는거 같지가 않네요. ㅠㅠ
function Main_OnStart()
{
Main.MessageLog("시작")
Main.SetTimer(1, 5000);//5초 간격으로 타이머 작동
}
//지정시간 계좌 내 모든 종목 청산
function Main_OnTimer(nEventID)
{
var d = new Date();
var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds();
Main.MessageList(HHMMSS);
if (nEventID == 1 && HHMMSS >= 130000)
{
Main.KillTimer(1);
Main.MessageLog("취소")
num = Account1.GetTheNumberOfUnfills();
for(var i = 0; i < num; i++)
{
Account1.SetBalanceIndex(i);
Account1.SetUnfillOrderNumber(i);
if (Account1.Unfill.count > 0)
{
Account1.OrderCancel(i);
}
}
}
}