커뮤니티

예스스팟 Q&A

답변완료

EuroFX에 대해 yesspot으로 지정가 주문 내면,가격유형오류라고 메시지 나옵니다.

EuroFX에 대해 yesspot으로 지정가 주문 내면,가격유형오류라고 메시지 나옵니다. 일단 모의투자로 테스트 중인데, 지정가 주문내면, 가격유형 오류라고 나오는데, 확인 부탁드립니다
프로필 이미지
경복궁
2014-03-24
1171
글번호 222881
답변완료

문의 (YS)

1. YS청산코드 일부분입니다. 만약 2.98 호가에서 청산시그널이 발생하면 3.01에 주문이 되는 문제가 발생하면서 YS주문메시지에 "호가단위에 어긋납니다."라는 메시지가 출력이됩니다. 이를 수정부탁드리겠습니다. if (gPosition == 1 && gSignalKind == SIG_EXITLONG) { // gCallOrderCode 잔고 셋팅 CA.SetBalanceItem(gCallOrderCode, 0); // 잔고에 수량이 존재하면 if (CA.Balance.count > 0) { if (Option.GetCurrentByCode(gCallOrderCode) >= 3.0) var Tick = 0.05; else var Tick = 0.01; var EXLxCallPrice1 = Option.GetCurrentByCode(gCallOrderCode) + Tick * 3; gEXLxID1 = CA.OrderSell(gCallOrderCode, CA.Balance.count, EXLxCallPrice1, 0);
프로필 이미지
TRF
2014-03-24
1271
글번호 222880

시골소년 님에 의해서 삭제되었습니다.

프로필 이미지
시골소년
2014-03-23
11
글번호 222879

파문일기 님에 의해서 삭제되었습니다.

프로필 이미지
파문일기
2014-03-19
0
글번호 222871
답변완료

수식 점검 부탁드립니다^^

계좌객체 옵션객체 설정.. 1. 장시작후 2.5에 근접한 옵션을 설정(2.5 대항옵션)후 콜 2.5, 풋 2.5근접 옵션을 기준으로 위, 아래 행사가를 3-4개 참조해서 확장챠트를 콜 풋 각각 만듭니다. 2. 만들어진 확장챠트에 예스랭기지 수식으로 만들어진 시스템(OpCall, OpPut)을 적용하고 싶습니다. - 현재는 예스스팟전략 시험가동시 messagelist(콜,풋코드)가 뜹니다. 챠트 객체 생성후에 "정의되지 않은 업무가 요청되었습니다.(E_UNKONOWN_GBN)(10003)" 이라 뜨는데... 3. OpCall, OpPut 시스템의 진입명과 수량을 그대로 이용하고 싶습니다. 첨부파일은 적용하는 시스템이고, 또 챠트를 띄우는 방법을 알려주시면 ..... 감사합니다 var Start; var UNum; var LNum; var CallCode; var CallPrice; var PutCode; var PutPrice; var CC; var PP; var CallOrderCode; var PutOrderCode; var vol1; var vol2; var CallStart; var PutStart; var ChartEx1 ;//= null; var ChartEx2 ;//= null; function Main_OnStart() { Start = 0; vol1 = 0; vol2 = 0; CallStart = 0; PutStart = 0; var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); //9시 5분에 if (Start == 0 && HHMMSS >= 90001)// && HHMMSS >= 90030 { Start = 1; UNum = Option.uppersATM; LNum = Option.lowersATM; CallCode = new Array(UNum+LNum+1); PutCode = new Array(UNum+LNum+1); CallPrice = new Array(UNum+LNum+1); PutPrice = new Array(UNum+LNum+1); for (var i = -LNum; i <= UNum; i++) { CallPrice[i+LNum] = Math.abs(Option.GetCurrent(0, i)-2.3); CallCode[i+LNum] = Option.GetATMCallRecent(i); } CC = 99999999; // CallOrderCode = -1; for (var i = -LNum; i <= UNum; i++) { if (CallPrice[i+LNum] < CC) { CC = CallPrice[i+LNum]; CallOrderCode = CallCode[i+LNum]; } if (CallOrderCode == CallCode[i+LNum]) { CallOrderCode1 = CallCode[i+LNum-1]; CallOrderCode2 = CallCode[i+LNum+1]; CallOrderCode3 = CallCode[i+LNum+2]; } } for (var ii = -UNum; ii <= LNum; ii++) { PutPrice[ii+UNum] = Math.abs(Option.GetCurrent(1, ii)-2.3); PutCode[ii+UNum] = Option.GetATMPutRecent(ii); } PP = 99999999; // PutOrderCode = -1; for (var ii = -UNum; ii < LNum; ii++) { if (PutPrice[ii+UNum] <= PP) { PP = PutPrice[ii+UNum]; PutOrderCode = PutCode[ii+UNum]; } if (PutOrderCode == PutCode[ii+UNum]) { PutOrderCode1 = PutCode[ii+UNum-1]; PutOrderCode2 = PutCode[ii+UNum+1]; PutOrderCode3 = PutCode[ii+UNum+2]; PutOrderCode4 = PutCode[ii+UNum+3]; } } Main.MessageList("콜",CallOrderCode ,"풋",PutOrderCode); // 이자리까지는 확인이 됩니다. 확장챠트 형서이 않됩니다. //확장 차트객체 요청 var ReqChartItem1 = new ReqChartItem(CallOrderCode,10, CHART_PERIOD_SECOND, 5000, CHART_REQCOUNT_BAR, false, false); // var ChartSet2 = new ReqChartItem(PutOrderCode,10, CHART_PERIOD_SECOND, 5000, CHART_REQCOUNT_BAR, false, false); //참조데이터 추가 var ReqChartItem2 = new ReqChartItem(PutOrderCode1, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem3 = new ReqChartItem(PutOrderCode, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem4 = new ReqChartItem(PutOrderCode2, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem5 = new ReqChartItem(CallOrderCode1, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem6 = new ReqChartItem(CallOrderCode2, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem7 = new ReqChartItem("00000000", 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem8 = new ReqChartItem(PutOrderCode3, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem9 = new ReqChartItem(PutOrderCode4, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReqChartItem10 = new ReqChartItem(CallOrderCode3, 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); //var R20 = new ReqChartItem("EI735", 10, CHART_PERIOD_SECOND, 3000, CHART_REQCOUNT_BAR, false, false); var ReferDataSet1 = new Array(ReqChartItem10,ReqChartItem2,ReqChartItem3,ReqChartItem4,ReqChartItem5,ReqChartItem6,ReqChartItem7,ReqChartItem8,ReqChartItem9); //시스템 설정 var SystemInfo1 = new SystemInfo("OpCall",YL_TYPE_NORMAL,null,null,null); // var SystemSet2 = new SystemInfo("OpPut",YL_TYPE_NORMAL,null,null,null); //지정한 설정으로 챠트 생성을 요청 Main.ReqChartEx(ReqChartItem1,SystemInfo1,null,ReferDataSet1); // Main.ReqChartEx(ChartSet2,SystemSet2,null,ReferDataSet2); } } //요청한 차트객체 생성이 완료되면 function Main_OnRcvChartEx(ChartEx) { if (ChartEx.GetCode(1) == PutOrderCode) { ChartEx2 = ChartEx; PutStart = 1; } } function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { if (sItemCode == PutOrderCode && lUp*dateID == 20001) { // if (ChartEx2 != null) { Main.MessageList("Code",ChartEx2.GetCode(1)); } } } //확장차트에서 신호나오면 주문 function Main_OnRiseSignal(ChartEx2, Signal) { //차트 if (PutStart == 1 && ChartEx2.GetCode(1) == PutOrderCode) { if (Signal.signalKind == 1) { vol2 = Math.abs(Signal.count); Account1.OrderBuy(Signal.code,vol2,Option.GetAskByCode(Signal.code,3),0); } if (vol2 > 0 && Signal.signalKind == 2) { Account1.OrderSell(Signal.code,vol2,Option.GetBidByCode(Signal.code,3),0); } if (Signal.signalKind == 3) { vol2 = Math.abs(Signal.count); Account1.OrderBuy(Signal.code,vol2,Option.GetBidByCode(Signal.code,3),0); } if (vol2 > 0 && Signal.signalKind == 4) { Account1.OrderBuy(Signal.code,vol2,Option.GetAskByCode(Signal.code,3),0); } } }
프로필 이미지
파문일기
2014-03-20
1420
글번호 222870
답변완료

스팟 오류

오늘 아래와 같은 오류가 나서 청산이 안되었는데 수식의 오류가 있는지 문의드립니다. 예스스팟모니터에는 아래와 같이 오류가 나서 미체결주문이 되었는데 혹시 미체결일때 재주문할 수 있는 수식도 Sample이 있으면 부탁합니다. 주문가격 1.-2147483648 주문상태 [check_order_ok]가격 제한폭 초과[0.010000][36.500000][301J3250]: sqlnum 20003 사용 스팟수식은 아래와 같습니다. if (Start == 2 && Signal.signalKind == 4 ) //ExitShort신호발생시 주문종목 청산 { var SxP_price = Option.GetBidByCode(SellP_code, 5); A1.OrderSell(SellP_code, Vol, SxP_price, 0); }
프로필 이미지
펠릭스
2014-03-13
1417
글번호 222866
답변완료

실시간 데이터 받기

항상 빠른 답변을 주셔서 감사 합니다. 아직 함수들 사용에 미흡해서 무슨 함수를 써야하는지 공부중에 있는데 잘 이해가 안가네요. 예스스팟 프로그램중 질문이 있어 문의 드립니다. 예스랭기지를 사용해서 시작한후 선물 3분차트의 첫째봉의 고가 저가를 표시하는 차트를 지표로 추가를 하였습니다. 예스 랭기지 부분 Var : min_high(0), min_low(0); min_high = TimeHigh(090000,090259); min_low = TimeLow(090000,090259); Plot1(min_high, "고가"); Plot2(min_low, "저가"); 예스스팟 부분 var minhigh = C1.GetIndicatorData("고가저가", 1, 0); var minlow = C1.GetIndicatorData("고가저가", 2, 0); 예스 스팟에서 SyntaxError : Unexpected token ILLIEGAL 이라고 나옵니다. 예스랭지기에서 plot에 대해서 print해서 data를 디버깅으로 보니 시작 시점이 예로써 처음에는 9시가 아니여서 그런지 (1.#R)로 표시되다가 다음날 9시가 되면 정상적인 data가 나옵니다. 이부분 때문에 예스스팟에서 error가 띄는것 같은데 어떻게 해야 하나요? 답변 주시면 감사 하겠습니다.
프로필 이미지
jonathan
2014-03-21
1358
글번호 222865
답변완료

몇가지 질문 드립니다~

Q1) 첨부한 그림1을 보시면, 코드에서 4~7번 줄 사이(OnStart의 본문 구간)에는 본문을 접을 수 있는 표시가 생기는데 왜 밑의 함수에는 그런 표시가 안생기나요? 생기게 할 수 있나요? Q2) 예스스팟으로 주문을 내면 예스트레이더에 연계된 챠트에서(예:F1) 그 주문낸 내용이 표시가 되나요? 표시가 된다면, 체결되었을 때 표시가 되나요?
프로필 이미지
온고지신
2014-03-13
1298
글번호 222864

온고지신 님에 의해서 삭제되었습니다.

프로필 이미지
온고지신
2014-03-13
0
글번호 222863

온고지신 님에 의해서 삭제되었습니다.

프로필 이미지
온고지신
2014-03-13
1
글번호 222862