답변완료
주문 오류
하기와 같이 마감동시호가 청산을 위하여 작성된 코드이고
정상적으로 동작하는 것으로 알고 있는 코드입니다.
실제로 주문도 내고 있고요..
예스스탁에서도 유사한 코드를 샘플로 배포한 바 있습니다.
오늘 장마감 무렵 선물 매도주문이 있는 상태에서
PC시각으로 150601에 시장가매수주문이 아니라
시장가 매도주문이 발생하였습니다.
주문을 꼼꼼히 챙기지 않았으면 대량포지션을 오버할 뻔 했네요...
왜 이런 오류가 발생하였는지요? 확인 부탁드립니다.
function Main_OnStart()
{
Main.SetTimer(1, 5000); //5초마다
}
function Main_OnTimer(nEventID)
{
// 날짜 추출
var d = new Date();
var HHMMDD = d.getHours()*10000 + d.getMinutes()*100 + d.getSeconds();
if (nEventID == 1 && HHMMDD >= 150600)
{
Main.KillTimer(1);
Main.MessageLog("주문시간: " + HHMMDD);
num = Account1.GetTheNumberOfBalances(); //종목수
for(var i = 0; i < num; i++)
{
Account1.SetBalanceIndex(i); //해당종목 수량 잔고세팅
if (Account1.Balance.position == 1)
var nID = Account1.OrderBuy(Account1.Balance.code, Account1.Balance.count,0,1);
if (Account1.Balance.position == 2)
var nID = Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,0,1);
}
}
}
2012-11-15
2420
글번호 221720