커뮤니티

예스스팟 Q&A

답변완료

초보질문

예스스팟에 대해 자신이 직접 수식등을 작성 사용하기엔 어려울 경우 유료로 대신 작성 해주는 제휴업체나 또 다른 방법은 없을까요?
프로필 이미지
바타산
2023-04-04
1095
글번호 225785
답변완료

시스템 수식 문의드립니다.

안녕하세요. YL및 YS 게시판을 통해서 도움을 많이 주셔서 항상 감사합니다. 현재 YS로 거래 중인데 좀 더 정교하게 거래해 보고자 다시 도움을 청합니다. 저는 일봉 거래를 하는데 2회 분할 매수(각각 일봉 종가에 진입) 후 분할매도(장중 분할 매도 후 남은 물량은 종가 매도) 하는 형태로 진행이 되고 하루에 2~5종목 정도 매수하고 15~20일 정도 후 매도합니다. 보통 검색식으로 추출(일 50~100종목)된 종목 중 신호(정규/예비)가 발생한 종목을 관심종목1에 등록한 후 YS를 통해 확장차트를 띄운 후 매수/매도하고 처리가 안된 종목은 수동으로 거래를 합니다. 그런데 정규 신호로는 종가 거래를 할 수 없다 보니, 매수/매도 시에 익일 시가에 진입하게 되다 보니, 결국 시스템 진입가격과 가격 괴리가 발생하고, 수동으로 처리하는 부분이 많다보니 시뮬레이션 결과보다 수익이 떨어지는 결과를 초래합니다. 그래서 예비 신호를 이용하여 장 종가 부근에서 매수/매도를 진행하는 형태로 YS를 새로 만들고 싶습니다. YS 수식을 하나로 합칠 수 있으면 더할 나위 없이 좋겠지만 프로그래밍 능력의 한계 때문에 2개의 YS 시스템을 사용해서 1번 - 매수/분할매도(2번을 통해 예비신호로 매수되어 잔고에 있으니 실제로는 1번 식으로는 매수 미발생) 2번 - 매수/잔여물량매도 이런 형태로 운용 가능하지 않을까 생각하고 있고, 2번 수식을 작성하다가 도움을 구해봅니다. 가이드 수식을 주시면 큰 도움이 될 것 같습니다. 오늘도 좋은 하루 보내세요. 감사합니다. --------------------------------------------------------------------------- // 2번 수정/추가사항 // 1) 에비신호로는 일 5종목까지만 매수하고, 매수된 종목이 있으면 관심그룹2에 종목 추가한 후 확장차트 생성 // 2) 예비신호로 매도 시 잔여 보유 물량 일괄 청산(yesspot1번에서 분할매도하기 때문에 남은 물량만 당일 종가 부근에서 매도하면 됩니다) // 문의사항- 관심그룹 이름을 동적(이름+당일날짜)로 설정가능한지? //yesspot2번(예비신호) var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); var cond; function Main_OnStart() { if (HHMMSS >= 90000) { Main.MessageList("start") Main.SetTimer(1,1000); } } function Main_OnTimer(nEventID) { if (HHMMSS >= 150000) { Main.KillTimer(1); Main.ReqPowerSearch("검색1"); } } function Main_OnRcvItemList(aItemList, nCount) { if (nCount > 0) { Main.SendInterests("관심그룹1", aItemList,false); } } function Main_OnTimer(nEventID) { if (nEventID == 1 && cond == false && HHMMSS >= 150000) { cond = true; var Incom = Chart1.GetIncompleteSignal(); if (Incom[0].signalKind == 1 && Account1.Balance.count == 0) { Account1.OrderBuy(Main.GetOrderCode(Incom[0].code), 1, 0,1); Main.MessageList("매수주문"); } if (Incom[0].signalKind == 2 && HHMMSS >= 151500) { Account1.OrderSell(Main.GetOrderCode(Incom[0].code), 1, 0,1); Main.MessageList("매도주문"); } } } // yesspot(1번) - 현재 사용 중 var ItemList; var Count; var ReqCount; var d; var H; function Main_OnStart() { Main.MessageLog("스팟시작"); d = new Date(); h=d.getDate(); //지정한 관심그룹의 종목수(관심그룹지정 필요) Count = Main.GetItemCountOfInterest("관심종목1"); Main.MessageList("지정관심그룹 종목수 : ", Count); ItemList = []; //관심그룹 종목코드를 ItemList로 옮김 for(var i = 0 ; i < Count ; i++) { //관심그룹지정 필요 ItemList.push(Main.GetItemCodeInInterest("관심종목1", i)); } ReqCount = 0; if (Count > 0) { Main.SetTimer(1, 500); } } function Main_OnTimer(nEventID) { if (nEventID == 1) { var TradeSet = new SystemTradeInfo(TRADE_FIXCAPITAL, 1, // 거래수량 100000000, // 자산 1, // 단위수량 0, 0, CALCMETHOD_PERCENT, // 진입/청산 수수료 0, 0, CALCMETHOD_POINT, // 진입/청산 슬리피지 PYRAMIDING_ENTRY, // 피라미딩 설정여부(다른진입신호만 허용) 100000, // 최대진입수량 20); // 최대진입횟수 var ChartSet = new ReqChartItem(ItemList[ReqCount],1,CHART_PERIOD_DAILY,1000,CHART_REQCOUNT_BAR,true,false); /////SystemInfo(name,kind,inputVar,tradeInfo,stopInfo) var SystemSet = new SystemInfo("YL_시스템(일봉)", YL_TYPE_NORMAL, null, TradeSet); Main.ReqChartEx(ChartSet,SystemSet); Main.MessageList("확장차트생성요청:",ItemList[ReqCount]); ReqCount = ReqCount+1; if (ReqCount == Count) { Main.KillTimer(1); Main.MessageList("종목객체생성완료"); } } } //신호발생 function Main_OnRiseSignal(ChartEx, Signal) { //신호발생 종목에 대해 잔고셋팅 Account1.SetBalance(Main.GetOrderCode(Signal.code),0); //매수신호이고 잔고가 없을때만 매수 if (Signal.signalKind == 1) ////// && Account1.Balance.count == 0) { Account1.OrderBuy(Main.GetOrderCode(Signal.code), Signal.count, Signal.price, 0); Main.MessageList("매수주문9"); } if (Signal.signalKind == 2) { //전체미체결주문 갯수 var num = Account1.GetTheNumberOfUnfills(); //전체 미체결수 만큼 루프를 돌면서 for (var i = 0; i < num; i++) { //미체결을 하나씩 셋팅하고 Account1.GetTotalAmount(nCategory, nTradeKind) Account1.SetUnfill(i); //미체결종목이 신호종목과 같고 미체결수량이 있으면 if (Account1.Unfill.code == Main.GetOrderCode(Signal.code) && Account1.Unfill.count > 0) { Account1.OrderCancel(Account1.Unfill.orderNum); } } //잔고수량만큼만 매도 if (Account1.Balance.count > 0) { Account1.OrderSell(Main.GetOrderCode(Signal.code), Signal.count, Signal.price, 0); Main.MessageList("매도주문"); } } }
프로필 이미지
깜피
2023-03-31
1288
글번호 225784

주식승부 님에 의해서 삭제되었습니다.

프로필 이미지
주식승부
2023-03-30
2
글번호 225783
답변완료

YesSpotMaker 클래스가 등록되지 않았습니다

안녕하세요, 다른 컴으로 YTS를 옮기는 과정에서 발생한 일인데, YesSpot 스크립트에 대한 스크립트 검증 과정에서 제목과 같은 메시지가 뜹니다. 문제가 뭘까요?
프로필 이미지
민현종
2023-03-29
1032
글번호 225782
답변완료

ReferenceError:GetOpen: 정상적인 값을 반환할 수 없습니다.

확장차트에서 GetOpen으로 데이터를 읽어 올 때, 어쩌다 가끔 "ReferenceError:GetOpen: 정상적인 값을 반환할 수 없습니다." 에러가 발생합니다. 어떻게 해결하면 될까요?
프로필 이미지
markus
2023-03-28
1041
글번호 225781
답변완료

예스랭귀지, 스팟 문의드립니다.

예스 스팟을 예스트레이더에서 예스랭귀지로 작성한 수식으로 이용 중인 시스템 트레이딩이 가능하도록 하려면 예스스팟에서 어떻게 구현해야하는지 궁금합니다. 찾아보니 예스스팟에서 별도의 매수 매도 수식을 작성하던데 예스랭귀지 수식에서 구현해놓은 매수 매도 신호가 발생시 예스스팟에서 바로 주문을 넣을수있는 부분에 대한 문의입니다.
프로필 이미지
망고맨
2023-03-25
1248
글번호 225778
답변완료

수식작성 부탁드립니다.

1. 차트에서 매수신호발생 >> 매수 수량과 같은 수량으로 1번째 외가격 콜매도. (매도1호가에 주문.3초안에 체결이 되지 않을시 매수1호가에 매도주문으로 변경 아래 주문에서도 같은 방식으로 주문) 2. 차트에서 매수청산 신호 발생 >> 콜옵션 청산 3. 차트에서 매도신호발생 >> 매도 수량과 같은 수량으로 1번째 외가격 풋매도 4. 차트에서 매도청산 신호 발생 >> 풋옵션 청산 5. 3시30분까지 수량이 남아있으면 청산주문 발생 스팟언어가 익숙치 않아 부득이 부탁드리게 되었습니다. 감사합니다.
프로필 이미지
시고르시고르
2023-03-15
1292
글번호 225774
답변완료

예스스팟, 예스랭귀지 문의

예스랭귀지에서 수식을 만들어서 최근 신호나 수익 같은것들을 볼 수 있는것으로 알고 있는데 이 정보를 예스스팟에서 확인하거나 할 수는 없나요?
프로필 이미지
이스데일
2023-03-09
1236
글번호 225773
답변완료

차트신호시 콜옵션 외가1 풋옵션 외가1 동시매수

차트에서 매수신호가 발생하면 외가격 옵션을 양매수 하는 수식을 만들고자 합니다. 아래 수식에 반영하여 주시기 바라며 주석도 부탁드립니다. *** 콜옵션 외가격+1 을 찾는다 *** 풋옵션 외가격-1 을 찾는다 항상 고맙습니다. ******************************************************************************** var UNum; var LNum; var CallCode; var CallPrice; var PutCode; var PutPrice; var CC; var PP; var CallOrderCode; var PutOrderCode; var CallExit,PutExit; function Main_OnStart() { CallExit = false; PutExit = false; Main.SetTimer(1, 5000); } //차트에서 신호가 발생하면 function Chart1_OnRiseSignal(Signal) { //해당 신호가 매수신호이면 if (Signal.signalKind == 1) { *** 콜옵션 외가격+1 을 찾는다 *** 풋옵션 외가격-1 을 찾는다 //콜옵션종목 매수 if (CallExit == false) { //지정가 Account1.OrderBuy(CallOrderCode, 1, Option1.GetAskByCode(CallOrderCode, 2), 0); //시장가 //Account1.OrderBuy(CallOrderCode, 1, 0, 1); } //풋옵션종목 매수 if (PutExit == false) { //지정가 Account1.OrderBuy(PutOrderCode, 1, Option1.GetAskByCode(PutOrderCode, 2), 0); //시장가 //Account1.OrderBuy(PutOrderCode, 1, 0, 1); } } }
프로필 이미지
좌오비우오비
2024-11-15
1287
글번호 225772

시고르시고르 님에 의해서 삭제되었습니다.

프로필 이미지
시고르시고르
2023-02-08
6
글번호 225771