커뮤니티

예스스팟 Q&A

답변완료

확장차트 시그널 관련 문의

안녕하세요 Spot에서 확장차트를 불러 매수 시그널을 받을 때 차트에 지정된 시스템 전략식의 매수, 매도량을 받아서 처리할수는 없을까요? 현재는 아래와 같이 되어 있습니다. <Yes Language 시스템 식> #capitals 는 자본, highband_price는 임의로 설정한 기준가격 # highband_price 값에 따라 수량이 바뀜 qnt = Round((capitals/highband_price),0); buy("Long1", onClose,DEF,qnt); # 이외 다양한 분할 손절/익절 조건 존재 <Yes Spot 수식> function Main_OnRiseSignal(ChartEx, Signal) { //신호발생 종목에 대해 잔고셋팅 Account1.SetBalance(Main.GetOrderCode(Signal.code),0); //매수신호이고 잔고가 없을때만 매수 if (Signal.signalKind == 1) { //Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(500000/ChartEx.current),0,1); Account1.OrderBuy(Main.GetOrderCode(Signal.code),Math.floor(500000/ChartEx.GetClose(1,0)),0,1); Main.MessageLog("매수주문 수량 "+Math.floor(500000/ChartEx.GetClose(1,0))); } //알단 여기 QnA 계시판 보고 확장차트 시그널 받아서 처리하는 부분을 저렇게 처리를 했는데.. 아무래도 저렇게 하면 수량이 50만원 자본, 현재가 기준 매수 수량으로 고정이 되는거 같은데요. 위의 예스 랭귀지 시스템에서 발생한 매수 시그널의 매수 수량을 그대로 가져와서 매수가 되게끔 처리할수 없을지 문의드립니다. 감사합니다.
프로필 이미지
차칸늑대
516
글번호 226006
답변완료

파워종목검색후 자동매매 문의드립니다.

예스스탁에서 매일 파워종목검색하여 시스템 조건식으로 아래와 같이 예스스팟에서 자동매매식 문의드립니다 1. 코스닥,코스피에서 종목검색 2. 종목검색식은 [3202]파워종목검색에서 사용자 검색조건식 사용 - 파워종목검색명(①) ①[전일 동시간대비 거래급등종목] 거래량조건[1만주이상]and[순위검색]설정조건에서[거래량][상위] 순으로[100]검색 3. 파워종목검색 후 매수 → 매수 신호 발생 종목당 각1주씩 시장가 매수[미체결주문 발생시 제외] 4. 매수 / 매도 조건 - 오전 9시 ~ 11시까지만 매수 주문하며, 오후 15시 20분 당일 모든 종목 전량매도 (단, 매수종목이 매수금액 4%이하로 떨어져도 매도) - 매수종목 주문체결시 문자발송되는지 감사합니다.
프로필 이미지
관스
591
글번호 226003

관리자에 의해 수식작성 QnA로 이동되었습니다

항상 친절한 안내와 지도에 감사를 드립니다. 키움에서는 실제투자하는 것과 같이 거래관계가 나타나도록 모의투자를 하는데 이베스트의 챠트에서 제휴컨텐츠를 통해 들어가서 시험적용하는 것이 모의투자의 전부인지요? 시험적용의 방식이 아닌 다른 키움증권사와 같은 방법을 증권사가 있다면 알려주시면 고맙겠습니다.
프로필 이미지
하날랑
46
글번호 226002
0
답변완료

예스스팟 수식 질문드립니다.

1분봉 사용하여 stime 기준 15시 34분 예비신호(매수) 가 발생할시 종가매수, 다음날 시가 08시 45분에 보유 물량 매수청산 하고자 합니다. 스팟이 어려워서 혼자하려니까 잘안되네요. 스팟수식 작성 부탁드리겠습니다. 감사합니다.
프로필 이미지
부엉부엉
521
글번호 226001
답변완료

2508번 재질문에 대한 수식.부탁드려요

안녕하세요 2508번 재질문에 대한 검토 수정 부탁합니다
프로필 이미지
하늘구름
535
글번호 225997
답변완료

차트신호시 특정가격 옵션 현재가 매수

답변 수식 고맙습니다. 아래수식은 특정시간대, 특정조건에서 주문이 나가는 수식입니다. 이 수식을 특정시간, 특정조건은 사용하지 않고 차트신호로 진입하고 차트신호로 청산하는 것으로 교체하고 싶습니다. //차트에서 신호가 발생하면 function Chart1_OnRiseSignal(Signal) { //해당 신호가 매수신호이면 if (Signal.signalKind == 1) { OrderBuy } } if (Signal.signalKind == 2) { OrderSell } 차트에서 진입신호 발생 후 실시간으로 0.05 체결이 발생한 행사가를 찾아 주문을 내고 익절하는 내용까지는 spot 수식 그대로 보존해 주십시오. 다만, 차트신호에 포함되는 내용인 재진입 건 내용과 142500 시간대 청산주문 내용은 삭제해 주십시요. 그리고 진입주문과 청산주문에 시장가 주문을 주석으로 병행하여 주시기 바랍니다. 시세가 빠르게 갈 때는 지정가로는 체결이 안되더군요. 항상 고맙습니다. *********************************************************************************** 안녕하세요 예스스탁입니다. 스팟수식은 가이드입니다. 아래 가이드 내용 참고하시기 바랍니다. 1 스크립트 객체설정 옵션객체 추가 --> 객체명 Option1, 월물선택 종목객체 추가 --> 객체명 MarketData1, 연결선물로 지정 계좌객체 추가 --> 객체명 Account1, 주문낼 계좌번호 지정 2 영문 업데이트가 게시판 금침어라 중간에 *이 삽입되어 있습니다. * 제거하시고 적용하셔야 합니다. 3 var BuyPrice = 0.05, ExitPrice = 0.5; var StartTime = 103000, EndTime = 142500; var List = [],MK = [],OD = []; var req, Exit, ReqCom; function Main_OnStart() { List = []; for (var i = -Option1.lowersATM; i <= Option1.uppersATM; i++) { List.push(Option1.GetATMCallRecent(i)); } Main.MessageList("콜옵션종목수:",List.length); req = 0; if (List.length > 0) { Main.MessageList("종목객체요청:",req,List.length); Main.ReqMarketData(List[req]); } Exit = false; ReqCom = false; } function Main_OnRcvMarketData(MarketData) { if (List[req] == MarketData.code) { Main.MessageList("종목객체생성:",req,MarketData.code); MK.push(MarketData); OD.push(0); req = req+1; if (req < List.length) { Main.MessageList("종목객체요청:",req,List[req]); var S = Main.ReqMarketData(List[req]); if (S == -1) { Main.SetTimer(1, 15000); Main.MessageList("종목객체생성 제한 --> 15초 뒤 다시 요청:"); } } else { Main.MessageList("종목객체생성완료"); ReqCom = true; } } } function Main_OnTimer(nEventID) { if (nEventID == 1) { Main.KillTimer(1); Main.MessageList("종목객체 재요청:",req,List[req]); Main.ReqMarketData(List[req]); } } function Main_OnUp*dateMarket(sItemCode, lUp*dateID)//*제거 { var d = new Date(); var HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (HHMMSS >= StartTime && HHMMSS < EndTime && MarketData1.current <= MarketData1.open - 2.5 && ReqCom == true && Exit == false && lUp*dateID == 20001 )//*제거 { Main.MessageList(HHMMSS,Exit); for (var i = 0; i < MK.length; i++) { if (OD[i] == 0) { if (MK[i].current == BuyPrice) { OD[i] = 1; Account1.OrderBuy(MK[i].code, 1,MK[i].current,0); } } else { if (MK[i].current == ExitPrice) { OD[i] = 0; Account1.SetBalance(MK[i].code,0); if (Account1.Balance.count > 0 && Account1.Balance.position == 2) { Account1.OrderSell(MK[i].code, 1,MK[i].current,0); } } } } } if (HHMMSS >= EndTime && Exit == false) { Main.MessageList(HHMMSS,Exit); Exit = true; //미체결주문수 var UF = Account1.GetTheNumberOfUnfills(); Main.MessageList(HHMMSS,"미체결수",UF); if (UF > 0) { //모든 옵션 미체결 취소 for (var i = 0; i < UF; i++) { Account1.SetUnfill(i) if (Account1.Unfill.code != MarketData1.code && Account1.Unfill.count > 0) { Account1.OrderCancel(Account1.Unfill.orderNum); Main.MessageList(HHMMSS,"OrderCancel",Account1.Unfill.orderNum); } } } //보유종목수 var BB = Account1.GetTheNumberOfBalances() Main.MessageList(HHMMSS,"보유종목수",BB); if (BB > 0) { //잔고의 모든 옵션매수청산 for (var i = 0; i < BB; i++) { Account1.SetBalance(i); if (Account1.Balance.code != MarketData1.code && Account1.Balance.count > 0 && Account1.Balance.position == 2) { //매수3호가로 잔고잔량 매수청산(매도주문) Account1.OrderSell(Account1.Balance.code, Account1.Balance.count,Option1.GetBid(Account1.Balance.code, 5) ,0); Main.MessageList(HHMMSS,"OrderSell",Account1.Balance.code); } } } } } 즐거운 하루되세요
프로필 이미지
좌오비우오비
542
글번호 225996
답변완료

업비트 종목 지워주세요

업비트 종목 지워주세요 안녕하세요 귀사에 무궁한 발전을 기원합니다 어풀 잘사용하고있어요 빛섬은 종목업데이터가 바른데 업비트는 이야기하는분이 없나봐요 상장 취소된 종목들 거슬립니다 썸씽 풀레이템 두종목 지원주세여 부탁드립니다
프로필 이미지
노령
555
글번호 225995
답변완료

보완 부탁드립니다...^^

다음 조건에 보유종목 수를 원하는 대로 수정하여 사용 할 수 있게 보완하여 주십시요? 예를 들어 10개로 제한할 경우, 10개 종목이 매수되어 잔고로 남아 있을 경우에는 더 이상 매수되지 않게 하고, 만약 2종목이 매도되어 8종목 남아 있다면, 2종목이 추가로 매수되어 10종목을 유지할 수 있게 할 수 있을까요? 가능하다면 보완 부탁드립니다. 감사합니다... -다음- var 타이머간격 = 5; // 5초 var 매수금 = 100000 var OrderList = []; var MKList = []; var req; function Main_OnStart() { // 1번 타이머, 5초 Main.SetTimer(1, 타이머간격*1000); } function Main_OnTimer(nEventID) { var d = new Date(); YYYYMMDD = d.getFullYear()*10000+(d.getMonth()+1)*100+d.getDate(); HHMMSS = d.getHours()*10000+d.getMinutes()*100+d.getSeconds(); if (nEventID == 1 && HHMMSS >= 90000 && HHMMSS < 151500) { // 종목검색 실행 Main.ReqPowerSearch("00. 예스스팟_Rsi 다이버전스"); } if (nEventID == 2) { Main.ReqMarketData(OrderList[req]); } } function Main_OnRcvItemList(aItemList, nCount) { Main.KillTimer(1); OrderList = []; if (nCount >= 1) { if (MKList.length == 0) { OrderList = aItemList; } else { for (var a = 0; a < nCount; a++) { var Add = true; for (var b = 0; b < MKList.length; b++) { if (aItemList[a] == MKList[b].code) { Add = false; } } if (Add == true) { OrderList.push(aItemList[a]); } } } } if (OrderList.length == 0) { Main.SetTimer(1, 타이머간격*1000); } else { req = 0; Main.ReqMarketData(OrderList[req]); } } function Main_OnRcvMarketData(MarketData) { if (MarketData.code == OrderList[req]) { MKList.push(MarketData); Account1.OrderBuy(MarketData.code,1,0,1); // 1주를 시장가 주문 // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),0,1); // 10만원 시장가 주문 // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0); // 10만원 지정가 주문 // 지정가로 주문하고자 하시면 주문함수 내용을 위와 같이 변경하시면 됩니다. req = req+1; if (req < OrderList.length) { var aa = Main.ReqMarketData(OrderList[req]); if (aa == -1) { Main.SetTimer(2, 15000); } } else { Main.SetTimer(1, 타이머간격*1000); } } }
프로필 이미지
비밀통로
561
글번호 225987
답변완료

전송오류 주문 확인 요청

주문메시지에 아래의 메시지가 뜨는 경우는 어떤 이유인가요? [전송오류][G50210]해당 거래소에 발가능한 주문유형입니다.
프로필 이미지
minve
447
글번호 225982
답변완료

Database의 저장프로시져를 call 하려면

안녕하세요? Database의 저장프로시져를 call 하려면 어떻게 해야 하나요?
프로필 이미지
하얀햇살
565
글번호 225981