커뮤니티

예스스팟 Q&A

관리자에 의해 프로그램 사용법 QnA로 이동되었습니다.

프로필 이미지
ruach
2026-04-10
3
글번호 231565
0
답변완료

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

위 그림처럼 Reference 부분 넣어서 저장하고 실행하면 저렇게 클래스가 등록되지 않았습니다 하고 나옵니다.
프로필 이미지
오늘도수익
2026-04-09
642
글번호 231534

소나기 님에 의해서 삭제되었습니다.

프로필 이미지
소나기
2026-04-07
10
글번호 231482

당근인생 님에 의해서 삭제되었습니다.

프로필 이미지
당근인생
2026-04-01
1
글번호 231371
답변완료

스팟 자동 주문 처리

실제 차트 자동주문도 신호가 발생하면 감지해 자동주문시 주문처리를 하는 부분이 따로 있습니다.이부분을 스팟이 대체하는 것일 뿐입니다이것을 스팟 코드로 보고 싶은데 예시 코드로 작성을 부탁드립니다.
프로필 이미지
레이써
2026-03-31
679
글번호 231350
답변완료

계좌비밀번호를 확인하세요. 메시지창 문의

안녕하세요.비밀번호 화면에 취소해놓고 script돌리다가 스크립트 메시지 창에서 비밀번호를확인하세요. 메시자가 나옵니다.스크립트로 메시지창의 비밀번호 확인하라는메시지를 받는 방법이 있나요.
프로필 이미지
markus
2026-03-30
364
글번호 231326
답변완료

예스스팟 관련

안녕하세요.몇 개월전부터 대표님 무료 강의를 몇 번씩 들으며 자동매매를 실행 하고 있습니다.매수는 조건검색식으로 매수는 하는 데 매도 관련해서 아래와 같이 매도를 하고 싶은 데 구현 하고 싶은 데 한계가 있어 도움을 요청합니다.(현재 익절 5% 선절 3%로 셋팅 되어 있음)1. 3분봉 기준 볼린저 밴드 (20,1.5) 상한선 이탈시 70% 매도2. 3분봉 기준 볼린저 밴드(20,0.8) 상한선 이탈시 100% 매도3. 거래시간이 9시부터 되어 있는 데 8시 대체 거래시간에도 매수가 가능 하면 셋팅 을 해 주시면 감사하겠습니다.ar timer5 = 5; //5초var 매수금 = 50000;var 손절 = 0.97;var 익절 = 1.05;var OrderList = [];var MKList = [];var req;function Main_OnStart(){ //1번 타이머, 1초 Main.SetTimer(1, timer5*1000); // 오늘 매수한 종목 관리 배열 초기화 MKList = [];}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 > 090000 && HHMMSS <152000) { //종목검색 수행 Main.ReqPowerSearch("기본전략") } 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 && !IsStockInAccount(aItemList[a])) { OrderList.push(aItemList[a]); } } } } if (OrderList.length == 0) { Main.SetTimer(1, timer5*1000); } else { req = 0; Main.ReqMarketData(OrderList[req]); }}function Main_OnRcvMarketData(MarketData){ if (MarketData.code == OrderList[req]) { MKList.push(MarketData); // 계좌에 같은 종목이 있는지 확인 if (!IsStockInAccount(MarketData.code)) { // 계좌에 없는 경우에만 매수 //Account1.OrderBuy(MarketData.code,1,0,1); Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),0,1); // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0); //지정가로 주문하고자 하시면 주문함수 내용을 위와 같이 변경하시면 됩니다. Main.MessageList(MarketData.code + " 주식을 매수합니다."); } else { Main.MessageList( MarketData.code + " 주식은 이미 계좌에 있으므로 매수하지 않습니다."); } req = req+1; if (req < OrderList.length) { var aa = Main.ReqMarketData(OrderList[req]); if (aa == -1) { Main.SetTimer(2, 15000); } } else { Main.SetTimer(1, timer5*1000); } }}function IsStockInAccount(stockCode) { // 계좌에 해당 종목이 있는지 확인하는 함수 var numberOfBalances = Account1.GetTheNumberOfBalances(); for (var i = 0; i < numberOfBalances; i++) { Account1.SetBalance(i); if (stockCode == Account1.Balance.code) { return true; // 계좌에 같은 종목이 있으면 true 반환 } } return false; // 계좌에 같은 종목이 없으면 false 반환}예스스탁에서 1.2 로 매도 하고 싶습니다.매수시간도 8시부터 가능 하면 좋겠습니다.미리 감사 인사 드립니다.늘 좋은 하루 보내세요.감사합니다.
프로필 이미지
victor
2026-03-29
720
글번호 231322
답변완료

예스스팟과 파워종목검색 관련 문의

안녕하세요?최근 예스스팟을 알게되어 도전하고 있습니다.유튜브를 보고 편집기에 코딩하여 적용을 하였는데몇일째 매매가 이루어 지지 않아 조건에 맞는 종목이 없어 그런가 하다가,파워종목검색에서 예스스팟과 같은 조건식을 10분마다 조회을 해보니 종목이 검색 되고 있었습니다.그래서 같은 검색조건식의 종목이 파워종목검색에서는 나오고 예스스팟 자동매매는 이루어지지 않는이유를 알고 싶어 문의드립니다.아래 스팟 코딩 한번 점검 부탁드리고 자동매매 실행전 준비해야 하는 설정을 놓친 것은 아닌지 설명 부탁드립니다.참고로 예스스팟 자동매매에서는 에러 메세지 없이 잘 작동하는 것으로 같습니다.감사합니다.var timer5 = 5; //5초var 매수금 = 100000;var OrderList = [];var MKList = [];var req;function Main_OnStart(){ // 타이머 간격 설정 Main.SetTimer(1, timer5*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("전고점돌파"); //파워종목검색명 Main.MessageList("전고점돌파 종목 검색"); } if (nEventID == 2) { Main.ReqMarketData(Orderlist[req]); }}function Main_OnRevItemList(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 (OderList.length ==0) { Main.SetTimer(1, timer5*1000); } else { req = 0; Main.ReqMarketData(OredrList[req]); }}function Main_OnRcvMarketData(MarketData){ if (MarketData.code == OrderList[req]) { MKList.push(MarketData); Account1.OrderBuy(MarketData.code,1,0,1); // 1주 시장가 주문 Main.MessageList(MarketData.code + " 주식을 매수합니다."); req = req+1; if (req < OrderList.length) { var aa = Main.ReMarketData(OrderList[req]); if (aa == -1) { Main.SetTimer(2, 15000); } } else { Main.SetTimer(1, timer5*1000); } } }
프로필 이미지
시골아빠
2026-03-26
448
글번호 231273
답변완료

문의 드립니다.

파워검색식에서 검색된 종목들중에서피보나치 되돌림 수치에 의해서 매수를 수행할려고 하는데요.조건은 다음과 같습니다.1. 검색된 종목의 당일 저가와 고가를 기준으로 고가대비 0.38에서 1차 매수 0.5에서 2차 매수를 한뒤 반등하여3% 이익이 발생하면 이익 실현하고 싶습니다.2. 1차 0.38에서 매수후 2차 0.5까지 안내려오고 반등하여 3% 수익이 나면 그때도 이익 실현하구요.3. 1차 2차 까지 매수가 된 후에 0.62 지점까지 하락하면 손절주문 시키구요.4. 1차든 2차까지든 이익 실현 or 손절한 종목은 당일 재주문은 안합니다.예스스팟 코딩 도움 부탁드립니다.
프로필 이미지
싱구
2026-03-24
370
글번호 231238
답변완료

매도 문의 드립니다.

안녕하세요. 예스스팟을 이용하여 현재 자동매매를 진행하고 있습니다.손절은 스탑로스로 진행중이고, 보유종목 당일 청산은 설정해 놓은 시간에청산이 되도록 수식에 반영이 되어있는 상태입니다.그런데 장중 실시간 지표조건 매도를 진행하고 싶어서 알아보다가커뮤니티 글에서 매수를 할 때 처럼 매도도 조건검색식을 만들어서검색을 병행하는 방식으로 진행을 하면 지표조건 매도 처럼 자동 매도가가능하다는 내용을 확인하였습니다.제가 만들어 보려고 여러번 시도를 해봤지만 도저히 구현이 되지 않아서정말 많은 고민끝에 이렇게 부탁의 글을 드리게 되었습니다.현재 사용하는 수식인데 바쁘시겠지만 이 수식에 제가 예스랭귀지로 만들어 놓은 매도 조건검색식도자동 매수 처럼 검색해서 자동 매도가 가능하도록 수식을 만들어서 추가를 해주시면 정말 감사드리겠습니다.(만약, 어떤 조건이 필요하다면 5분봉 차트상 현재 1일 이동평균이(현재주가가) 10일 이동평균을 하향 이탈하면 매도. 라는 조건을 넣고 싶습니다. 지금의 매도 조건 내용은 제가 매도조건검색식을 준비해둔 상태입니다.)그리고 제가 조건검색기반 자동 매수와 자동 매도를 진행할 때 참고 및 주의 사항에 대해서도 많은 조언을 해주신다면 감사하겠습니다. var timer5 = 1; // 타이머 주기: 1초var 매수금 = 100000; // 매수금액 설정var OrderList = []; // 매수 후보 종목 리스트var MKList = []; // 오늘 매수한 종목 관리 리스트var req; // 종목 요청 인덱스function Main_OnStart(){ // 1번 타이머를 2초 간격으로 실행 Main.SetTimer(1, timer5*1000); // 오늘 매수한 종목 관리 배열 초기화 MKList = [];}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(); // 09:04 ~ 09:40 사이 매수 조건 실행 if (nEventID == 1 && HHMMSS >= 090400 && HHMMSS < 094000) { // 종목검색 수행 Main.ReqPowerSearch("나의 자동 매수") } // *** 추가된 부분: 09:49:10 이후 자동 매도 조건 *** if (nEventID == 1 && HHMMSS >= 094910) { var num = Account1.GetTheNumberOfBalances(); if (num > 0) { // 모든 보유 종목 전량 매도 for (var i = 0; i < num; i++) { Account1.SetBalance(i); if (Account1.Balance.count > 0) { // 기존 시장가 매도 (모의투자에서는 지원되지 않음, 실전에서는 즉시 전량 체결됨) Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1); // 지정가 매도 (모의투자에서는 정상적으로 동작, 현재가 기준으로 전량 매도) //Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, Account1.Balance.current, 0); Main.MessageList(Account1.Balance.code + " 전량 매도합니다."); // 매도 메시지 출력 } } } // 매도 후 타이머 종료 Main.KillTimer(1); } // *** 여기까지 자동매도 조건 추가 부분 *** 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 && !IsStockInAccount(aItemList[a])) { OrderList.push(aItemList[a]); } } } } if (OrderList.length == 0) { Main.SetTimer(1, timer5*1000); } else { req = 0; Main.ReqMarketData(OrderList[req]); }}function Main_OnRcvMarketData(MarketData){ if (MarketData.code == OrderList[req]) { MKList.push(MarketData); // 계좌에 같은 종목이 있는지 확인 if (!IsStockInAccount(MarketData.code)) { // 계좌에 없는 경우에만 매수 //Account1.OrderBuy(MarketData.code,1,0,1); // 시장가 1주 매수 (모의투자에서는 지원되지 않음) Account1.OrderBuy(MarketData.code, 1, MarketData.Ask(1), 0); // 지정가 1주 매수 (모의투자에서는 정상적으로 동작) // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),0,1); // 시장가 매수 예시 // Account1.OrderBuy(MarketData.code,Math.floor(매수금/MarketData.Ask(1)),MarketData.Ask(1),0); // 지정가 매수 예시 Main.MessageList(MarketData.code + " 주식을 매수합니다."); } else { Main.MessageList(MarketData.code + " 주식은 이미 계좌에 있으므로 매수하지 않습니다."); } req = req+1; if (req < OrderList.length) { var aa = Main.ReqMarketData(OrderList[req]); if (aa == -1) { Main.SetTimer(2, 15000); } } else { Main.SetTimer(1, timer5*1000); } }}function IsStockInAccount(stockCode) { // 계좌에 해당 종목이 있는지 확인하는 함수 var numberOfBalances = Account1.GetTheNumberOfBalances(); for (var i = 0; i < numberOfBalances; i++) { Account1.SetBalance(i); if (stockCode == Account1.Balance.code) { return true; // 계좌에 같은 종목이 있으면 true 반환 } } return false; // 계좌에 같은 종목이 없으면 false 반환}
프로필 이미지
wise3007
2026-03-23
376
글번호 231209