커뮤니티

예스스팟 Q&A

답변완료

확장챠트의 피라미딩과 틱챠트의 재현성

안녕하세요 1. 오류 수정이 필요합니다. 시스템상 첨부그림처럼 PYRAMIDING_ENTRY, 로 설정되어서 서로 다른신호의 진입을 해야 하는데, 확장챠트상 같은 신호가 진입됩니다. 2. 확장챠트에서 일간데이타를 쓰는 방법을 알고 싶습니다. 3. 틱챠트의 재현성 문제. 기존의 틱챠트에 시스템 걸고 저장후 예스트레이더를 다시 시작하면 진입 신호가 전혀 다릅니다. 즉 시스템을 새로고침 해도 서로 다른 신호가 나오는데... 선물, 옵션 통털어서 같아요.. 어떻게 이런걸로 시스템을 만들라고 하는지, 이해가 가질 않네요. 지금 신호와 1시간후의 신호가 서로 다른데 이런 데이타로 시스템을 만들어 수익을 낼수 있을까요.... 분단위 이상의 챠트는 재현성이 있어요, 하지만 재현성이 없는 틱챠트는 제공하는게 의미가 없을것 같아서 시스템의 구현에 초반 설정을 피하는게 상책이네요... 그나마 비교적 초챠트는 재현성이 있어, 결국 초챠트로 시스템 방향을 설정할수 밖에 없었는데, 확장 챠트도 비슷하네요.. 기존의 챠트에 걸렸을때와 확장챠트에 시스템을 걸었을때 신호가 달라요.^^ 4. 예상 체결가는 언제 제공되나요? 예상 체결가가 제공되면, 확장챠트의 형성을 8시 55분 이후에 먼저 생성하고 장시작과 동시에 데이타를 받으면 되는데, 지금 문제는 장시작과 동시에 챠트 생성하고 신호 읽고, 메모리 감당이 않되서 시스템이 다운... 그러면 64bit의 예스트레이더를 제공해서 메모리 활용을 할수있게 해주면 고민을 피할 방법이 있겠는데, 출시일은 기약이 없고... 어찌 해결할 가닥이 없네요. 감사합니다.
프로필 이미지
파문일기
2014-03-27
1343
글번호 222888
답변완료

예스글로벌스팟에서 미체결 있으면 추가 진입 안하도록 햇는데, 미체결 존재 인지 못함

예스글로벌스팟에서 미체결 있으면 추가 진입 안하도록 햇는데, 미체결 존재 인지 못함 해당 수식은 지수선물에 대해서는 정상 작동하는데, 유로fx에 대해서 적용해보면, 미체결 있는데, 없는거로 인지하는거로 보임 확인 부탁합니다.
프로필 이미지
경복궁
2014-03-26
1460
글번호 222887
답변완료

EuroFX 동적생성후,매수체결 상태인데도 balance,position =0으로 나옵니

EuroFX 동적생성후,매수체결 상태인데도 balance,position =0으로 나옵니다 종합주문으로 봐도 분명히 포지션 있는데도 그러네요 확인 부탁합니다.
프로필 이미지
경복궁
2014-03-25
1327
글번호 222882
답변완료

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

EuroFX에 대해 yesspot으로 지정가 주문 내면,가격유형오류라고 메시지 나옵니다. 일단 모의투자로 테스트 중인데, 지정가 주문내면, 가격유형 오류라고 나오는데, 확인 부탁드립니다
프로필 이미지
경복궁
2014-03-24
1234
글번호 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
1332
글번호 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
1485
글번호 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
1490
글번호 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
1424
글번호 222865