커뮤니티

예스스팟 Q&A

저스틴e 님에 의해서 삭제되었습니다.

프로필 이미지
저스틴e
2025-02-16
9
글번호 226212
답변완료

예스 스팟

var 타이머간격 = 3; //5초 var 매수금 = 1000000; var OrderList = []; var MKList = []; var MKOD = []; 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("CC") } 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); MKOD.push(0); //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); } } } 매수후 -1%하락하면 추가매수 수식 추가 부탁 드립니다
프로필 이미지
님이랑
2025-02-21
379
글번호 226210

느린거북 님에 의해서 삭제되었습니다.

프로필 이미지
느린거북
2025-02-11
3
글번호 226208
답변완료

문의 드립니다.

안녕하세요. 수고 많으십니다. 일전에 도움 주신 수식 잘 사용하고 있습니다. 현재 사용자 지정 조건 검색식 중에 당일 분봉에서 최고 고가를 추가하여 스팟 종목 검색을 이용중입니다. 여기에서 오전9시 시작후 처음 검색 되느 종목(각 종목들의 당일날 신고가) 들은 해당 당일 최고 고가에서 검색이 되고있습니다. 문제는 검색된 종목들이 익절, 손절 되면서 종목들이 실시간 계좌에서 사라지고 나서 사라진 해당종목들이 당일 최고 고가를 갱신 하면 스팟에 다시 매수 되게 할수있는 방법은 없을까요? 도움 부탁 드리겟습니다. 항상 감사 드리면서 수고하십시오.
프로필 이미지
하루삼프로
2025-02-12
328
글번호 226207
답변완료

문의

코스피 옵션 거래용 입니다. Option1 사용 093000 이후 콜옵션의 행사가 중에 0.05 체결이 발생하면 내가격쪽으로 1행사가 차이인 옵션의 현재가를 기준으로 상대호가+5로 지정가 주문을 냅니다. 익절은 2.50, 시간청산은 151500 입니다. 위 수식을 요청드립니다. ************************************************************************** 사례) 094538 시점에 콜 330.00에서 0.05 체결이 발생합니다. 094538 시점에 콜 327.50의 현재가는 0.25 입니다. 그 때 현재가 기준 상대호가+5(0.30)로 매수 주문을 냅니다. 익절 2.50 시간청산 151500 항상 고맙습니다.
프로필 이미지
좌오비우오비
2025-02-11
357
글번호 226206
답변완료

문의드립니다.

수고하십니다... 이거는, 공부하려고 캡처한 다른분들 질문내용중의 일부인데요... 궁금한게 있어서 질문합니다... ================================================================================= var timer5 = 2; //5초 var 매수금 = 100000; 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 < 151500) { //종목검색 수행 Main.ReqPowerSearch("매수조건") } =========================================================================== 1. 1번타이머는 2초 아닌가요??? 2. 년월일을 받아오는 부분...혹시 sdate != sdate[1]...랭귀지처럼 이렇게 하면 안되나요? 꼭 저렇게 해야하는 이유가 따로 있나요? 궁금합니다. 미리 감사합니다...ㅎ
프로필 이미지
시온사랑
2025-02-08
339
글번호 226205
답변완료

종목 검색 후 트레이딩 적용 - 시험적용 표시가 뜹니다

안녕하세요, 예스트레이더 담당자님, 게시판에 있는 수식을 그대로 가져와서 제가 사용하는 트레이딩 식으로 적용했는데, 적용은 잘되었으나 몇가지 궁금한 적이 있습니다. 1. 종목들이 확장차트에 '시험적용'으로 적용되고 있습니다. 원래 '자동' 빨간색 아이콘으로 붙어야 실매매가 가능한 것으로 알고 있습니다. 실매매를 하고 싶습니다. 2. 실행하고 있는 스팟 옆에 'undefined 는 조회 대상 종목이 아닙니다' 라고 뜹니다. 원하는 종목들이 뜨는 것으로 보아 큰문제는 아니지만 확인 부탁드립니다. 3. 아래 이용식으로는 확장차트가 일봉으로 구현이 되는데, 3분봉/다른 봉으로 변환하는 구문예제 좀 부탁드립니다. 이용하고 있는 수식은 아래와 같고, 첨부파일도 혹시몰라 올려드립니다. 늘 감사드립니다, 심프로 ------------------------------------- var List; var ListCnt; var ReqCount; //스팟 첫 실행시 function Main_OnStart() { // 파워종목검색의 test Search라는 이름의 사용자검색조건 검색 요청 Main.ReqPowerSearch("WT 3MIN") } //종목검색 완료되어 리스트(검색된 종목코드) 수신 function Main_OnRcvItemList(aItemList, nCount) { //검색된 종목코드를 저장 List = aItemList; //검색된 종목수 저장 ListCnt = nCount; Main.SetTimer(1,2000);//2 타이머 ReqCount = 0; } function Main_OnTimer(nEventID) { //2초 단위로 한종목씩 차트 생성 if (nEventID == 1) { //요청이 검색된 종목수 만큼 되었으면 터이머 종료 if (ReqCount == ListCnt) Main.KillTimer(1); //ReqCount번째 종목요청 //종목검색 후 종목코드가 aItemList에 배열로 담겨오는데 [0]번방 부터 요청 //차트설정 : 연결선물,1분봉,5000개, 수정주가X, 갭보정X var C1 = new ReqChartItem(List[ReqCount],1,CHART_PERIOD_DAILY,5000,CHART_REQCOUNT_BAR,false,false); //시스템 설정 var S1 = new SystemInfo("WT"); //C1차트설정, S1시스템설정으로 첫번째 종목 차트 생성 Main.ReqChartEx(C1,S1); ReqCount = ReqCount+1;//요청횟수 1증가 } } //#생성된 차트에서 신호가 발생하면 function Main_OnRiseSignal(ChartEx, Signal) { //매수신호 발생하면 매수주문 if (Signal.signalKind == 1) { Account1.OrderBuy(Main.GetOrderCode(ChartEx.code),1,0,1); } //청산신호 발생하면 매도주문 if (Signal.signalKind == 2) { Account1.OrderSell(Main.GetOrderCode(ChartEx.code),1,0,1); } } ----------------------------------------------------------------------
프로필 이미지
심프로1
2025-02-07
477
글번호 226203

지나리 님에 의해서 삭제되었습니다.

프로필 이미지
지나리
2025-02-06
2
글번호 226201
답변완료

수식 문의드립니다.

안녕하세요. 시스템 전략A를 모니터링하고 있다가.. 수익거래후 손실거래를 하면 다음신호에 진입하는 수식 부탁드립니다. 전략A는 청산을 SetStopProfittarget와 SetStopLoss 으로만 하고 있습니다. 진입신호만 참조해서 청산은 예스스팟에서 따로 명령할수 있으면 좋겠습니다. 예스스팟에서 전략실행할때 변수로 익절과 손절 틱으로 조절했음합니다.
프로필 이미지
율담
2025-02-04
446
글번호 226199
답변완료

수식 수정 부탁합니다

수고하십니다. 1. 옵션 종목을 매수하고 청산신호 발생시 아래(예시1)와 같이 잔고 모든종목을 청산하는데 2종목을 매수한 경우 해당 종목만 청산하는 수식 부탁합니다. 예를 들어 시스템1 325.0 매수, 시스템2 327.5 매수 일 경우 시스템1은 325.0 만 청산되는 수식, 시스템2는 327.5만 청산 각자 독립적 청산되는 수식 2. 양매수, 매수 경우 잔고 손익 일정금액 초과시 청산되는 수식으로 수정 부탁합니다. 작동 안됨(예시 2) 예시1)---------------------------- if (Signal.signalKind == 2 ) { Main.MessageList("매수청산신호발생"); { //잔고를 세팅 A1.SetBalance(CallOrderCode, 0); //보유종목수 var num = A1.GetTheNumberOfBalances(); if (num > 0) { for (var i = 0; i < num; i++) { A1.SetBalance(i); if (A1.Balance.count > 0) { if (A1.Balance.position == 2) { A1.OrderSell(A1.Balance.code,A1.Balance.count,0,1); } } } } } } 예시2)---------------------------- // 옵션매수포지션 전체 손익계산 var num = A1.GetTheNumberOfBalances(); var PLsum = 0; for(var i = 0; i < num; i++) { //잔고셋팅 A1.SetBalanceIndex(i); //매수포지션이고 옵션종목이고 if (A1.Balance.position == 2 && (A1.Balance.code.substring(0,1) == "2" || A1.Balance.code.substring(0,1) == "3")) { //각 옵션매수종목의 (평균단가-현재가)*수량*50만원을 누적 PLsum = PLsum + ((A1.Balance.avgUnitCost - A1.Balance.current)*A1.Balance.count)*250000; } } //손익이 +50만원이상이거나 -50만원 이하이면 if (PLsum >= 500000 || PLsum <= -500000) { for(var i = 0; i < num; i++) { //잔고셋팅 A1.SetBalanceIndex(i); //매수포지션이고 옵션종목이고 if (A1.Balance.position == 2 && (A1.Balance.code.substring(0,1) == "2" || A1.Balance.code.substring(0,1) == "3")) { A1.OrderSell(A1.Balance.code, A1.Balance.count, 0,1); } } } }
프로필 이미지
팡팡
2025-02-03
374
글번호 226198