커뮤니티

예스스팟 Q&A

YesGlobal 스팟의 메뉴와 툴바에 있는 이벤트 추가가 예스트레이더 스팟에는 없네요.

YesGlobal 스팟의 메뉴와 툴바에 있는 이벤트 추가가 예스트레이더 스팟에는 없네요. YesGlobal 에 있어서 잘 쓰고 있다가 예스트레이더에서 작업하려니 불편하네요. 예스트레이더 스팟에도 기능 추가 바랍니다.
프로필 이미지
불꽃기사
2014-03-27
1260
글번호 222889
답변완료

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

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

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

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

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

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

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

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