답변완료
OrderBuy, OrderSell 질문
안녕 하세요.
질문이 있어 문의 드립니다.
1. currentPos = Account1.Balance.position;
시험 적용을 하고 진입을 했습니다. 그리고 전략을 없애고 나서
다시 시험 적용을 했는데 Account1.Balance.position이 "-1"로 뜹니다.
현재 차트 주문으로 확인을 하면 진입이 된 상태인데
포지션이 없다고 나오는데 원래 그런건지 궁금 합니다.
*** 해결 했습니다. => SetBalanceItem(sItemCode, nPosition) 이 함수를 실행하고 사용 하면 되네요.
2. Option 행사가의 갯수를 보고 싶어 간단히 짰는데
모의라서 그런지 값이 0으로 나옵니다.
실제 돈을 입금하고 해야 가능 한건가요?
UNum = Option.uppersATM;
LNum = Option.lowersATM;
3. 아래와 같이 OrderSell과 OrderBuy를 테스트 하는데
Account1.OrderBuy(OrdeCode, 1, Present.current, 0);
로 사용하면 진입에 문제가 없는데
Account1.OrderBuy(OrdeCode, 1, Present.current, 1);
Account1.OrderBuy(OrdeCode, 1, 0, 1); //문서 예제 10번
을 사용하면 "주문 가격이 하한가 이하입니다"로 표시 되고 진입이 안됩니다.
OrderBuy의 nPriceKind값이 시장가(1)로 진입이 안되는건지 모르겠네요.
function Main_OnStart()
{
Main.MessageList("선물 START");
OrderCode = Main.GetOrderCode(Present.code);
Main.MessageList("OrderCode = ", OrderCode);
Main.SetTimer(1, 2000);
}
function Main_OnTimer(nEventID)
{
//ret_value = Account1.OrderBuy(OrderCode, 1, Present.current, 0);
ret_value = Account1.OrderBuy(OrderCode, 1, Present.current, 1);
Main.KillTimer(1);
}
function Main_OnOrderResponse(OrderResponse)
{
Main.MessageList("Main_OnOrderResponse");
Main.MessageList("Error=", OrderResponse.error, ", orderCount=",
OrderResponse.orderCount);
Main.MessageList("orderID=", OrderResponse.orderID, ", orderKind=",
OrderResponse.orderKind);
Main.MessageList("orderPrice=", OrderResponse.orderPrice, ", priceKind=",
OrderResponse.priceKind);
}
function Main_OnNotifyFill(NotifyFill)
{
Main.MessageList("Main_OnNotifyFill");
Main.MessageList("fillCount=", NotifyFill.fillCount, ", fillPrice=",
NotifyFill.fillPrice);
Main.MessageList("Error=", NotifyFill.error, ", orderCount=", NotifyFill.orderCount);
Main.MessageList("orderPrice=", NotifyFill.orderPrice, ", priceKind=",
NotifyFill.priceKind);
}
2014-04-25
1184
글번호 222943