커뮤니티

예스스팟 Q&A

답변완료

질문드립니다.

다음 수식 문의드립니다. 항상 좋은 답변 감사드립니다. 1. 1분봉 차트(차트1)에서 봉이 완성될때마다 차트2(60분봉)에서의 X지표값을 기억한다. GetIndicatorData함수 활용 (ex: X1, X2, X3...., 메세지 함수로 X지표값 표시) 2. 차트1에서 봉이 완성되는 시점마다 직전봉(-1봉)과 직전전봉(-2봉)의 X지표값이 직전봉이 크다면 -> con=1 직전전봉(-2봉)과 직전전전봉(-3봉)의 X지표값이 직전전봉이 크다면 -> con=2 3. 차트2(60봉)에서 가격이 변동(1틱 상승 또는 하락)될때마다(만약 1틱이 너무 짧다면 5틱의 가격변동) 차트2의 Y지표값을 기억한다. (시계열순서대로 Y1, Y2,, 메시지 함수로 현재 최종 Y지표값 표시) 4. 차트2(60봉)에서 당일 고가인 경우 차트2의 Z지표값을 기억한다.(Z high 1) 또한 당일 저가인 경우 차트2의 Z지표값을 기억한다. (Z Low 1, 메시지 함수 표시) 당일 고가나 저가가 갱신되는 경우 기존의 지표값을 삭제하지 않고 Z지표값을 새롭게 기억한다.(Z high 2 표시) 감사합니다.
프로필 이미지
지나리
2023-09-22
925
글번호 225842

트라이 님에 의해서 삭제되었습니다.

프로필 이미지
트라이
2023-09-16
10
글번호 225841

배움이 님에 의해서 삭제되었습니다.

프로필 이미지
배움이
2023-09-11
13
글번호 225838

베어샘 님에 의해서 삭제되었습니다.

프로필 이미지
베어샘
2023-09-10
6
글번호 225837
답변완료

종목검색 후 자동매매(3) _ 검색종목의 선별작업

안녕하세요. 약 5년전에(2018년5월) 질문드리고 다시 돌아왔습니다. ^^;; 요점을 간단하게 말씀드리면, 아래의 방법이 파워종목검색식으로 종목을 검색하고, 확장차트를 생성한 다음에, 시스템식으로 시그널이 발생하면 바로바로 매수하는 로직인데요. 여기서 발전해서 종가에 매수를 하려고 합니다. 15시10분에 파워종목검색식으로 종목을 검색하고, , 확장차트를 생성한 다음에, 시스템식으로 시그널이 발생하는데요. 약 20개 종목에서 동시에 시그널이 발생하고 있습니다. 이 중에서 특정 선별조건으로(예, RSI가 가장 큰 순으로) 5개 종목만 골라서 매수하려고 하는데, 이 부분을 예스스팟에서 구현할 수 있을까요? 언제나 감사드립니다. 수고하세요. ######################################################################### ######################################################################### 1. 2분간격으로 사용자 종목검색을 지속적으로 수행 2. 새로 검색된 종목에 대해 차트 생성, 기존 검색된 차트는 유지 3. 종목검색에서 새로 파악된 종목을 종목차트로 시스템 적용 4. 생성된 차트에 시스템 적용 5. 차트 생성이 50개가 되면 새 종목 추가 완료 아래 내용은 다른분이 이전에 질문한 답변입니다. 여기에서 파워종목검색이 2분간격시간에 따라 추가되는 종목에 대한 추가 매수는 어떻게 하면 좋을까요? var ItemList; var Count; var ReqCount; function Main_OnStart() { Main.MessageLog("스팟시작"); Main.MessageLog("종목검색시작"); Main.ReqPowerSearch("전략1"); } function Main_OnRcvItemList(aItemList, nCount) { ItemList = aItemList; Count = nCount; Main.SetTimer(1, 1000); ReqCount = 0; } function Main_OnTimer(nEventID) { if (nEventID == 1) { var StopSet = new SystemStopInfo(new StopLoss(4, CALCMETHOD_PERCENT, 0xFFDA93), new StopTrailing(2, 5, CALCMETHOD_PERCENT, 0), //new StopProfitTarget(10, CALCMETHOD_PERCENT, 0xFFDA93), //new StopInactivity(0.5, 6, CALCMETHOD_PERCENT, 0xFFDA93), new StopEndOfDay(151500)); var ChartSet = new ReqChartItem(ItemList[ReqCount],3,CHART_PERIOD_MINUTE,5000,CHART_REQCOUNT_BAR,false,StopSet); var SystemSet = new SystemInfo("10전략1", YL_TYPE_NORMAL, null, null, null); Main.ReqChartEx(ChartSet,SystemSet); Main.MessageLog("확장차트생성_"+ItemList[ReqCount]); ReqCount = ReqCount+1; if (ReqCount == Count) { Main.KillTimer(1); Main.MessageLog("종목검색완료"); } } } //신호발생 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),Math.floor(100000/ChartEx.GetClose(1,0)),0,1); Main.MessageLog("매수주문"); } if (Signal.signalKind == 2) { //전체미체결주문 갯수 var num = Account1.GetTheNumberOfUnfills(); //전체 미체결수 만큼 루프를 돌면서 for (var i = 0; i < num; i++) { //미체결을 하나씩 셋팅하고 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),Account1.Balance.count,0,1); Main.MessageLog("매도주문"); } } } ######################################################################### #########################################################################
프로필 이미지
아름다운사람들
2023-09-10
1239
글번호 225836
답변완료

오류사항 수정 부탁드립니다.

안녕하세요. 완전초보라서 잘 모릅니다. 복사해서 붙여넣기 했는데, 첨부와 같이 오류라고 나옵니다. 수정해 주시면 대단히 감사하겠습니다.
프로필 이미지
리처드기
2023-09-09
941
글번호 225835

히익 님에 의해서 삭제되었습니다.

프로필 이미지
히익
2023-09-08
0
글번호 225834

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

프로필 이미지
미서니
2023-08-26
9
글번호 225832
0

목포댁 님에 의해서 삭제되었습니다.

프로필 이미지
목포댁
2023-08-25
21
글번호 225830
답변완료

문의 드립니다.

안녕하세요? 예스트레이더에서 차트에 지정해 놓은 전략을 전체 주식 종목으로 적용을 하려면 어떻게 해야 하나요? 예를 들어 20이동 평균이 60이동 평균을 상향 돌파하는 종목을 매수하라 라고 한다면, 예스 랭귀지로 식을 만들고, 예스 스팟에서 어떻게 적용을 해야 모든 종목에 적용이 되나요? 기능? 메뉴가 있나요? 아래와 같은 답을 찾았는데 상세한 메뉴나 기능을 부탁 드립니다. --------------------- 이전 답변------------------------- 안녕하세요? 예스스탁입니다. 예스트레이더의 시스템트레이딩 기능은 차트에 지정해 놓은 종목에 대해서 시스템매매전략을 적용해서 매매를 하는 방식입니다. 따라서 전종목을 대상으로 종목을 검색해서 자동매매하는 것은 차트를 이용한 시스템트레이딩 방식으로는 가능하지 않습니다. 참고로 예스트레이더에서 제공하는 예스스팟 기능을 이용하시면 전종목을 대상으로 검색해서 매매하는 기능을 구현하실 수 있습니다. 다만, 이 기능은 시뮬레이션이 되지 않고 자바스크립트 랭귀지를 사용하실 수 있어야 됩니다. 감사합니다.
프로필 이미지
수식악마
2023-08-24
961
글번호 225829