커뮤니티

예스스팟 Q&A

답변완료

예스스팟 수식 간단한거 하나만 부탁드립니다.

안녕하세요. 간단한 수식 하나만 부탁드려도 될까요? 원칙 1) 코스피 선물 분봉으로 거래 2) 하루 첫봉은 거래 안함 3) 두번째봉부터는 직전봉의 종가보다 1포인트 하락한다면 매수 진입 (봉 미완성시) 4) 매수 진입한 봉의 종가에 청산 (봉 완성시) 하는 전략입니다.
프로필 이미지
터틀3세
2020-11-09
2649
글번호 225352
답변완료

특정종목 제외 방법 문의

안녕하세요. 스팟으로 주식 시스템 구동 중입니다. 당일 종가 인근에서 분할매수하고, 익일 오전에 분할매수를 하다가 특정 시간이 되면 전량 청산을 하도록 되어 있습니다. 그런데 제가 ETF 전략을 예스랭귀지로 별도로 운용 중에 있다보니, 예스트레이더 신호가 나오지 않은 상황에서 스팟에 의하여 매일 오전에 ETF 종목이 청산되어버리는 문제가 있습니다. 이 상황에서 특정 ETF 종목만 스팟에 의해 청산이 되지 않도록 조치할 수 있는 방법이 있을까요? 제가 스팟 로직은 직접짜지 않아서, 구체적으로 어떤 부분을 건드려야할지 감이 오질 않습니다. 그래서 질문도 너무 추상적인 것 같은데,.. 대략이라도 방향을 알려주시면 감사하겠습니다. 감사합니다.
프로필 이미지
중박주식
2020-11-09
2533
글번호 225351
답변완료

예스스팟 StopLoss 또는 SystemInfo 사용방법 문의

예스스팟 StopLoss 또는 SystemInfo 사용방법 문의드립니다. 예를들어, 예스스팟에서 매수/매도를 수행한 경우 손절을 StopLoss 를 활용하는 방법에 대해서 문의드립니다. 감사합니다.
프로필 이미지
마빈
2020-11-07
2645
글번호 225350
답변완료

예스스팟 수식 부탁드립니다.

수고가 많으십니다. 예스스팟 수식을 부탁드립니다. 내용은 첨부파일로 올려드렸습니다. 말이 길고 복잡해보여도 각기 패턴은 비슷합니다. 좋은 하루 되세요!
프로필 이미지
불기둥짱
2020-11-03
2680
글번호 225346
답변완료

SendInterests 오작동 문의

안녕하세요. // 관종 비우기 Main.SendInterests("test", false, false); // 관종 넣기 list = ['006050', '004270']; Main.SendInterests("test", list, false); // 관종 교체 list = ['005930']; Main.SendInterests("test", list, false); 이렇게 하면 test 라는 관종에 최종적으로 '005930' 하나만 들어가야 하는데 '006050', '004270', '005930' 세개가 들어가 있습니다. 언제부터 인지 SendInterests 의 bAddGroup 인자가 제대로 처리가 안되는 것 같은데 확인 부탁드립니다.
프로필 이미지
kdh4865
2020-11-02
2565
글번호 225345
답변완료

하나의 예스스팟 코드로 2개 이상의 예스랭귀지-파워종목검색을 돌릴수 있나요?

아직 초보라 질문이 매끄럽지 못한 점 양해부탁드립니다. 제가 하이투자증권에서 예스스팟을 이용해 매매하는 방식은 다음과 같습니다. 1. 예스랭귀지에서 수식작성해서 파워종목검색으로 불러와 해당종목을 특정시간에 검색하고 2. 그 종목들을 예스스팟 매매기로 매매실행 제가 구현하고 싶은 것은 예스랭귀지에서 작성한 2개 이상의 수식(수식1,수식2)을 각각 개별의 파워종목검색에서 검색되고 그 각각의 종목들이 "하나의" 예스스팟 매매기로로 불려와서 각각 매매 (수식1에 현금50%배분/수식2에 현금50%배분) 요렇게 만들고싶은데 일단 Q&A검색을 통해서 파워종목검색창이 2개이상 열리지 않는다는건 확인했습니다. 질문1) 파워종목검색창은 자동매매가 진행될동안 예스트레이더에서 꼭 켜져있어야하는지 궁금합니다. 질문2) 위에서 말씀드린 "예스랭귀지-파워종목검색을 사용하는 2가지 이상의 로직"을 하나의 예스스팟매매기로 구현가능한지 문의드립니다. 매매기에서는 아래 함수를 사용하고 있는데 요걸로 방법이 있을지요 Main.ReqPowerSearch(); OnRcvItemList(aItemList, nCount)
프로필 이미지
밥뚝딱
2020-10-28
2893
글번호 225344
답변완료

종목검색한 결과에서..

안녕하세요, 1분에 한번씩 종목검색한 결과를 엑셀로 업데이트 할수 있을까요? 1분에 한번씩 자동으로 종목검색을 하고 그 결과를 엑셀로 업데이트 하도록 구현할 수 있을까요? 표시하는것 뿐 아니라 그전 결과와 비교하여 색강조 까지 생각하고 있습니다. 예스스팟으로 구현가능한지, 간단한 예시를 주시면 도움이 많이 될것 같습니다. 감사합니다.
프로필 이미지
edan
2020-10-19
2683
글번호 225341
답변완료

피라미딩 진입 수정 부탁드립니다.

첫 진입이후 3% 하락시 추가 피라미딩 진입하는 식인데, 작동을 안하네요. 수정 부탁드립니다. var BL = [],req=0,step; var CT = []; function Main_OnStart() { //처음 시작시 step은 0 step = 0; //시작시점의 보유종목수 var num1 = Account1.GetTheNumberOfBalances(); //보유종목이 1개 이상이면 보유종목의 종목코드를 BL변수에 순차적으로 저장 if (num1 > 0) { step = 1; for(var i = 0 ; i < num1 ; i++) { Account1.SetBalance(i); BL[i] = Account1.Balance.code; } if (BL.length >= 1) { req = 0; var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT, 1, // 거래수량 123456789, // 자산 1, // 단위수량 0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료 0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지 PYRAMIDING_ENTRY, // 피라미딩 설정여부 1000, // 최대진입수량 2); // 최대진입횟수 var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false); var SymSet = new SystemInfo("Signal전략"); Main.ReqChartEx(ChartSet, SymSet); } } else //보유종목이 없으면 바로 1분 타이머 시작 { step = 2; Main.MessageList("보유종목없음"); Main.SetTimer(1, 100000);//1번 타이머, 60초 } } function Main_OnRcvChartEx(ChartEx) { if (step == 1 && ChartEx.GetCode(1) == BL[req]) { step = 1; CT[req] = ChartEx; req = req+1; if (req < BL.length) { var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT, 1, // 거래수량 123456789, // 자산 1, // 단위수량 0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료 0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지 PYRAMIDING_ENTRY, // 피라미딩 설정여부 1000, // 최대진입수량 2); var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false); var SymSet = new SystemInfo("Signal전략"); Main.ReqChartEx(ChartSet, SymSet); } else { step = 2; Main.SetTimer(1, 100000);//1번 타이머, 60초 Main.MessageList("보유종목차트생성완료"); } } if (step == 2 && ChartEx.GetCode(1) == BL[req]) { CT[req] = ChartEx; req = req+1; if (req < BL.length) { var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT, 1, // 거래수량 123456789, // 자산 1, // 단위수량 0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료 0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지 PYRAMIDING_ENTRY, // 피라미딩 설정여부 1000, // 최대진입수량 2); var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false); var SymSet = new SystemInfo("Signal전략"); Main.ReqChartEx(ChartSet, SymSet); } else { Main.MessageList("종목검색후차트생성완료"); //차트생성 완료하면 타이머 다시 셋팅 Main.SetTimer(1, 100000);//1번 타이머, 60초 } } } function Main_OnTimer(nEventID) { if (nEventID == 1) { //타이머 종료 Main.KillTimer(1); Main.ReqPowerSearch("종목검색") } } function Main_OnRcvItemList(aItemList, nCount) { //검색된 종목이 없으면 if (nCount == 0) { //타이머 다시 셋팅 Main.SetTimer(1, 100000);//1번 타이머, 60초 } //검색된 종목이 있으면 if (nCount >= 1) { //검색된 종목과 기존 만든 차트들의 종목코드를 비교해 //차트가 만들어 지지 않은 종목이면 BL변수에 종목코드 추가 var cnt = 0; for(var i = 0 ; i < aItemList.length ; i++) { var add = true; for(var z = 0 ; z < CT.length ; z++) { if (aItemList[i] == CT[z].GetCode(1)) { add = false; break; } } if (add == true) { cnt = cnt+1; BL.push(aItemList[i]); } } Main.MessageList("BL : ",req,BL); //차트 생성해야할 종목이 있으면 차트요청 if (cnt >= 1) { //차트 요청 var TradeSet = new SystemTradeInfo(TRADE_FIXCOUNT, 1, // 거래수량 123456789, // 자산 1, // 단위수량 0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료 0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지 PYRAMIDING_ENTRY, // 피라미딩 설정여부 1000, // 최대진입수량 2); var ChartSet = new ReqChartItem(BL[req],15,CHART_PERIOD_MINUTE,500,CHART_REQCOUNT_BAR,false,false); var SymSet = new SystemInfo("Signal전략"); Main.ReqChartEx(ChartSet, SymSet); } else //없으면 타이머 다시 셋팅 { Main.SetTimer(1, 100000);//1번 타이머, 60초 } } } //생성된 차트들에서 신호가 발생하면 function Main_OnRiseSignal(ChartEx, Signal) { //매수신호 발생 if (Signal.signalKind == 1) { //잔고셋팅 Account1.SetBalance(Signal.code,0); //보유수량이 없으면 if (Account1.Balance.count == 0) { //EntryVol주 시장가 매수 Account1.OrderBuy(Signal.code, EntryVol,Signal.price,1); } } //매수청산신호 발생 if (Signal.signalKind == 2) { //잔고셋팅 Account1.SetBalance(Signal.code,0); //보유수량이 있으면 if (Account1.Balance.count > 0) { //전량 시장가 매도 Account1.OrderSell(Signal.code, Account1.Balance.count,Signal.price,1); } } } function Main_OnUp*dateMarket(sItemCode, lUp*dateID) { //체결데이터 수신 업데이트 if (lUp*dateID == 20001) { //루프를 돌아 생성된 종목중 어떤 종목인지 파악 for (i = 0; i < Math.min(itemcnt,100); i++) { //어떤 배열방의 종목인지 찾았으면 if (sItemCode == BL[i]) { //해당 종목 잔고셋팅 Account1.SetBalance(BL[i].code, 0); //잔고 수량이 있을때만 if (Account1.Balance.count > 0) { //하락시 매수할 가격이하 3% 하락이면 추가매수 if (BL[i].current <= Signal.Price[i]*0.97) { Account1.OrderBuy(BL[i].code,EntryVol,Signal.Price[i]*0.97, 0); } } } } } }
프로필 이미지
몬스터
2020-10-17
2754
글번호 225340
답변완료

유진예스스탁 옵션 가격 조회

해외옵션에서 가격 조회시 정상적으로 조회되지 않아 질문드립니다.
프로필 이미지
조띠의하루
2020-10-17
2672
글번호 225339
답변완료

유진예스스탁 Option 시세 관련

국내 옵션과 해외 옵션의 함수 파라미터가 다르네요. 그에 따른 Option 시세표를 한번 만들어보는 중에 오류가 있어 질문 드립니다.
프로필 이미지
조띠의하루
2020-10-17
2687
글번호 225338