커뮤니티

예스스팟 Q&A

답변완료

분할매도 수식 문의

안녕하세요? 현재 예스랭귀지 종목검색을 기반으로 예스스팟에서 자동매수를 하고 수동 매도를 하고 있습니다. 혹시, 매수 후 특정한 조건에서 매도를 할 수 있게 수식 부탁드립니다.(스팟에 추가) 1. 추가할 매도 조건 a. 5% 수익일때 50% 매도(1차 익절) b. 1차 매도 후 2% 도달하면 전량 매도 c. 10% 수익일때 잔량의 50% 매도(2차 익절) d. 10% 이후 고점에서 5% 하락시 2차 익절후 잔량 전부 스탑트레일링 전량 매도 e. 손절 -5% 이렇게 매도식을 추가 하고 싶습니다.(%조건은 수정가능) 매도식을 현재 있는 자동매매 스팟 제일 아래 붙여넣어야 하나요? 감사합니다.
프로필 이미지
리버피닉스
2025-06-10
271
글번호 226319

골드33 님에 의해서 삭제되었습니다.

프로필 이미지
골드33
2025-06-11
2
글번호 226318
답변완료

지정가 매도 수식 부탁드립니다

Account1.SetBalance(i); if (Account1.Balance.count > 0) { Account1.OrderSell(Account1.Balance.code,Account1.Balance.count,0,1); } 위의 시장가 매도주문을 지정가(매도1호가 & 매수1호가)매도로 부탁드립니다. 감사합니다.
프로필 이미지
강자친구
2025-06-10
231
글번호 226317

골드33 님에 의해서 삭제되었습니다.

프로필 이미지
골드33
2025-06-10
13
글번호 226316
답변완료

문의드립니다.

9시10분에서20분까지 검색해서, 종목이 나오면 시장가 매수하고, 25분에 미체결이 있으면 취소하고, 30분에 잔고가 있으면 전량 시장가매도하는 건데... 잘 안됩니다... 어디가 문제일까요??? 프로그램이 문제일까...아님 뭐가 문제일까요??? 확인 부탁드립니다... 감사합니다...ㅎㅎㅎ var timer5 = 9; // 9초 간격 var OrderList = []; var MKList = []; var req; function Main_OnStart() { // 1번 타이머로 검색 시작 Main.SetTimer(1, timer5 * 1000); MKList = []; // 99번 타이머는 5초마다 09:30:00 여부 확인 Main.SetTimer(99, 5000); // 55번 타이머는 5초 간격으로 작동 Main.SetTimer(55, 5000); } function Main_OnTimer(nEventID) { var d = new Date(); var HHMMSS = d.getHours() * 10000 + d.getMinutes() * 100 + d.getSeconds(); if (nEventID == 1 && HHMMSS >= 91000 && HHMMSS <= 92000) { Main.ReqPowerSearch("매수조건"); } if (nEventID == 2) { Main.ReqMarketData(OrderList[req]); } if (nEventID == 99 && HHMMSS >= 93000) { Main.KillTimer(99); // 한 번만 실행 var num = Account1.GetTheNumberOfBalances(); if (num > 0) { for (var i = 0; i < num; i++) { Account1.SetBalanceIndex(i); if (Account1.Balance.count > 0) { Account1.OrderSell(Account1.Balance.code, Account1.Balance.count, 0, 1); Main.MessageList(Account1.Balance.code + " 주식을 전량 시장가로 매도합니다."); } } } } if (nEventID == 55 && HHMMSS >= 92500) { Main.KillTimer(55); Main.MessageLog("취소"); num = Account1.GetTheNumberOfUnfills(); // 미체결주문 갯수 for (var i = 0; i < num; i++) { Account1.SetUnfillIndex(i); // i순번의 미체결객체 셋팅 if (Account1.Unfill.count > 0) { // 미체결객체의 수량이 0이상이면 Account1.OrderCancel(Account1.Unfill.orderNum); // 해당주문번호 취소주문 } } } } 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, 19, 0, 1); Main.MessageList(MarketData.code + " 주식을 19주 시장가로 매수합니다."); } 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; } } return false; }
프로필 이미지
시온사랑
2025-06-09
229
글번호 226315

관리자 님에 의해서 삭제되었습니다.

프로필 이미지
오아시스3
2025-06-07
30
글번호 226314

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

프로필 이미지
노던라이트
2025-06-02
12
글번호 226310
0
답변완료

예스스팟 문의요

예스스팟에 파워종목 검색 조건식을 여러개 실행 시켜도 되나요 예를 들어서 돌파 돌파1 돌파2 돌파3 돌파4 돌파5 이러식으로 실행해도 되는건지 궁궁하구요 넥스트레이드에서 예스스팟 사용할수 있나요 ??? 안되면 언제부터 넥스트레이드에서 사용할수 있나요 궁금하네요
프로필 이미지
뽀스뽀스
2025-05-30
271
글번호 226306
답변완료

매일 아침 9시에 옵션 양매수 하는 스팟수식 부탁드립니다.

1. 매일 아침 9시에(=9시가 안되면 9시 1분에..1분도 안되면 아무튼 가능한 가장 빠른 시간에) 옵션 콜풋 양합이 2.5가 되도록 양매수 진입하되.. 콜풋은 최대한 비슷한 가격으로 선택함. 2. 양합이 3 이 되면 25% 청산 3. 양합이 4가되면 25% 청산 4. 양합이 5가 되면 25% 청산 5. 나머지는 종가청산 6.양합이 위 가격에 안오면 모두 종가청산 위 조건이 구현되는 스팟 수식 부탁드립니다.
프로필 이미지
제우스
2025-05-22
251
글번호 226305
답변완료

유진선물예스트레이더 예스스팟 stime 오류

안녕하세요. 친절한 답변에 미리 감사드립니다. 유진선물예스트레이더 내 예스스팟에서 차트 객체의 stime를 불러다 데이터베이스 객체로 외부의 dbms로 stime을 수출해 보면 중간에 마이너스 음수가 나오는 오류가 발생합니다. stime을 수천봉 수입해다가 외부의 dbms로 내보낼때 중간중간에 마이너스 음수가 나옵니다. 해결 부탁드립니다! 사용 수식 ============================================== /* 2023년 9월 1일. 미9연미사 와 미12에서 쓰는 예스트레이더 예스스팟 날초마다 켜두는 실시간자료 ssj 수출 짠은 이 AD_nal_ssj_soochool_1.js 퍄일이다. 다른거 신경쓰지 않고 단순하게 오직 실시간자료 ssj 수출만 하는 것이 필요하기에 soochool.js 계열과 다르게 간결하게 정리한 것이 이 퍄일이다. 2023년 9월 1일. 후 3시1분. AD_nal_ssj_soochool_2.js 는 마리아디비 miBon_ssjGoEreum 생성시 첫째 컬럼을 `MMA` BIGINT NULL AUTO_INCREMENT 로 생성하였기에 그에 맞춰 ins**t 함수를 수정한 것이다. 2023년 9월 9일. 후 5시1분. 미9연미사나 완전 완성본의 것. 실인미진민참. */ var hhRoGoEreum="ADC_JJNASDAQ100_YESTRADER_SSJ"; // 손잡이- 줄리아 공유 실시간자료고 이름 var choKkuenSi_sseulMisaBongSu=8500; // 손잡이- 10000 하면 좋으나 줄여도 됨. var hhSseulGoId=1; // 손잡이 이나 고정- 봉번 ID는 날초 시 언제나 1번부터임. var hhSdate=0; var hhStime=0; var hhO=0; var hhH=0; var hhL=0; var hhC=0; var hhV=0; var sqlins**t="0"; var hhBongBun=0; function Main_OnStart() { Main.MessageList("AD yestrader ssj <soochool> sijac. hhSseulGoId=",hhSseulGoId); //////////////// 자료고 날 최초시 갈래 for (var ffa=choKkuenSi_sseulMisaBongSu; ffa>=0; ffa--){ // 손잡이 //////////////// 마련 hhSdate=Chart1.GetSDate(1,ffa); hhStime=Chart1.GetSTime(1,ffa); hhO=Chart1.GetOpen(1,ffa); hhH=Chart1.GetHigh(1,ffa); hhL=Chart1.GetLow(1,ffa); hhC=Chart1.GetClose(1,ffa); hhV=Chart1.GetVolume(1,ffa); //////////////// 로고 sql 마련 sqlins**t=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sqlins**t+=String(hhSseulGoId); sqlins**t+=","; sqlins**t+=String(hhSdate); sqlins**t+=","; sqlins**t+=String(hhStime); sqlins**t+=","; sqlins**t+=String(hhO); sqlins**t+=","; sqlins**t+=String(hhH); sqlins**t+=","; sqlins**t+=String(hhL); sqlins**t+=","; sqlins**t+=String(hhC); sqlins**t+=","; sqlins**t+=String(hhV); sqlins**t+=");"; //////////////// 로고 실행 DataBase1.ins**t(sqlins**t); hhSseulGoId+=1; // 1증. } } function Chart1_OnBarAppended(nData) { // Main.MessageList("Chart1_OnBarAppended / hhSseulGoId=",hhSseulGoId); if (nData==1){ hhBongBun=0; // 0부여. //////////////// 마련 hhSdate=Chart1.GetSDate(1,hhBongBun); hhStime=Chart1.GetSTime(1,hhBongBun); hhO=Chart1.GetOpen(1,hhBongBun); hhH=Chart1.GetHigh(1,hhBongBun); hhL=Chart1.GetLow(1,hhBongBun); hhC=Chart1.GetClose(1,hhBongBun); hhV=Chart1.GetVolume(1,hhBongBun); //////////////// 로고 sql 마련 sqlins**t=hhRoGoEreum+" (ID,SDATE,STIME,O,H,L,C,V) VALUES ("; sqlins**t+=String(hhSseulGoId); sqlins**t+=","; sqlins**t+=String(hhSdate); sqlins**t+=","; sqlins**t+=String(hhStime); sqlins**t+=","; sqlins**t+=String(hhO); sqlins**t+=","; sqlins**t+=String(hhH); sqlins**t+=","; sqlins**t+=String(hhL); sqlins**t+=","; sqlins**t+=String(hhC); sqlins**t+=","; sqlins**t+=String(hhV); sqlins**t+=");"; //////////////// 로고 실행 DataBase1.ins**t(sqlins**t); hhSseulGoId+=1; // 1증. } }
프로필 이미지
로봇짱
2025-05-20
232
글번호 226304