답변완료
오류메세지??
NO. 1337 호의 연속입니다.
예스글러벌 모의시장에서 테스트결과
주문함수의 가격구분을 아래의 시스템식과 같이 지정가 2로 변경 하였으나 동일한 오류메세지가 발생 합니다.
원인이 다른 데에 있는 것 같습니다.
그리고 위 그림과 같이 오류메세지를 확인 크릭 후에는 스크립트메세지에서는 다음단계로 진행은 되나 체결 통보가 발생하지 아니 합니다.
또한 예스글러벌 모의시장 차트의 오류사항을 NH선물에 수차례 시정을 요구 하였으나 분봉차트의 경우에는 업데이트가 되지 아니하여 시험작동을 할 수가 없습니다.
그리고 예스글러벌 리얼시장의 차트는 분봉차트는 5000 바 틱차트는 1000 바로 시스템을 구현하기에는 너무 짧아 보입니다.
* 오류 메세지 내용
1. 종목코드값을 확인하시기바랍니다.
2. 미체결 내역에서 주문번호를 찾을 수 없어서 주문이 자체 거부 되었습니다.
참조사항 차트객체명 : C1
차트아이디 : D101 (자동매매 활성화 됨)
종목객체명 : SP
종목명 : E-mini S&P 500(2016.3)
종목코드 : ESH 16
var Position;
var OrderCode;
var BID;
var SID;
var SNum;
var BNum;
var BuyFill;
var SellFill;
function Main_OnStart()
{
Main.MessageLog("시작");
Position = 0;
OrderCode = Main.GetOrderCode(SP.Code);
}
function C1_OnRiseSignal(Signal)
{
Main.MessageLog("신호완성/"+Signal.signalKind);
if (Signal.signalKind == 1)
{
Position = 1;
BID = A1.OrderBuy(SP.Code, 1, SP.Ask(2),2);
Main.MessageLog("매수진입");
BuyFill = 0;
}
if (Position == 1 && Signal.signalKind == 2)
{
if (BuyFill == 1)
{
A1.OrderSell(SP.Code, 1, SP.Bid(2),2);
Main.MessageLog("매수청산실행");
}
if (BuyFill == 0)
{
A1.OrderCancel(BNum);
Main.MessageLog("매수청산취소");
}
}
if (Signal.signalKind == 3)
{
Position = -1;
SellFill = 0;
SID = A1.OrderSell(SP.Code, 1, SP.Bid(2), 2);
Main.MessageLog("매도진입");
}
if (Position == -1 && Signal.signalKind == 4)
{
if (SellFill == 1)
{
A1.OrderBuy(SP.Code, 1, Ask(2), 2);
Main.MessageLog("매도청산");
}
if (SellFill == 0)
{
A1.OrderCancel(SNum);
Main.MessageLog("매도청산취소");
}
}
}
function Main_OnOrderResponse(OrderResponse)
{
if (Position == 1 && OrderResponse.orderID == BID)
{
BNum = OrderResponse.orderNum;
}
if (Position == -1 && OrderResponse.orderID == SID)
{
SNum = OrderResponse.orderNum;
}
}
function Main_OnNotifyFill(NotifyFill)
{
if (Position == 1 && NotifyFill.orderNum == BNum)
{
BuyFill = 1;
}
if (Position == -1 && NotifyFill.orderNum == SNum)
{
SellFill = 1;
}
}
2016-02-10
2203
글번호 223808
답변완료
간단한 수식문의
안녕하세요 항상 답변 잘 활용하고 있습니다
선물신호를 이용하여 옵션거래중인데
전일 선물진폭(예를 들어 3.0이상시 진입금지)에 따라 스팟에서 진입을
제한하는 필터를 넣고 싶습니다
선물시스템이 배포용이다보니 수정이 안되서 스팟으로 제한을 해야합니다.
아래는 샘플 수식입니다. 감사합니다.
=======================================================================
function Main_OnStart()
{
Main.MessageList("시작");
T = 0;
}
function Chart1_OnRiseSignal(Signal)
{
if (Signal.signalKind == 1)
{
T = 1;
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0);
}
if (T == 1 && Signal.signalKind == 2)
{
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0);
}
if (Signal.signalKind == 3)
{
T = -1;
Account1.OrderSell(Main.GetOrderCode(MarketData1.code),1,MarketData1.Bid(5), 0);
}
if (T == -1 && Signal.signalKind == 4)
{
Account1.OrderBuy(Main.GetOrderCode(MarketData1.code),1,MarketData1.Ask(5), 0);
}
}
2016-01-28
2016
글번호 223795