커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
6295
글번호 230811
지표
답변완료

cme 야간장 시간오류

고쳐주신 수식에서 1번과 3번은 cme시간적용이 정확합니다. 그런데 2번째 수식(자정 00시 ~ 새벽 3시45분)에서 오류가 있습니다. 대부분 위 시간대로 거래하는데 반복적으로 월요일과 가끔 다른 날에도 start time이 당겨지는 18시 이후 시간대가 포함되는 거래를 합니다 _ 그림1참조 자정부터 하는 거래이므로 월요일 오후는 거래를 안해야 합니다. 오류일 6월 7일 수요일 5월22일 월요일 5월15일 월요일 5월10일 수요일 5월 8일 수요일 5월 4일 목요일 4월24일 월요일 4월17일 월요일 살펴주세요. **************************** 안녕하세요 예스스탁입니다. 종료시간에 청산되게 추가해 드립니다. 강제청산 당일청산은 사용하시면 안됩니다. 당일청산은 당일 청산후 진입을 막기때문에 새벽에 청산하면 그날 밤 0시까지 진입을 하지 못하게 됩니다. 야간장과 같이 거래에서는 당일청산은 사용하면 안되고 if문으로 시간을 지정해 청산되게 하셔야 합니다. 1. input : 당일최대진입횟수(5),시작시간(180000),종료시간(0); var : C2(0,data1),T1(0,data1),entry(0,data1); var : Tcond(False,data1); if 시작시간 == 0 and date != date[1] Then{ tcond = true; T1 = TotalTrades; } if 시작시간 > 0 and (stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간)) Then{ tcond = true; T1 = TotalTrades; } if 종료시간 == 0 and date != date[1] Then{ tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } if 종료시간 > 0 and (stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간)) Then{ tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } C2 = data2(C); if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if Tcond == true then{ if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= 0.55) Then{ buy("b"); } if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and Lowd(0) < LowD(0)[1] and HighD(0)-LowD(0) >= 0.65) Then{ sell("s"); } } 2 input : 당일최대진입횟수(5),시작시간(0),종료시간(034500); var : C2(0,data1),T1(0,data1),entry(0,data1); var : Tcond(False,data1); if 시작시간 == 0 and date != date[1] Then{ tcond = true; T1 = TotalTrades; } if 시작시간 > 0 and (stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간)) Then{ tcond = true; T1 = TotalTrades; } if 종료시간 == 0 and date != date[1] Then{ tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } if 종료시간 > 0 and (stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간)) Then{ tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } C2 = data2(C); if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if Tcond == true then{ if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= 0.55) Then{ buy("b"); } if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and Lowd(0) < LowD(0)[1] and HighD(0)-LowD(0) >= 0.65) Then{ sell("s"); } } 3 input : 당일최대진입횟수(5),시작시간(180000),종료시간(034500); var : C2(0,data1),T1(0,data1),entry(0,data1); var : Tcond(False,data1); if 시작시간 == 0 and date != date[1] Then{ tcond = true; T1 = TotalTrades; } if 시작시간 > 0 and (stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간)) Then{ tcond = true; T1 = TotalTrades; } if 종료시간 == 0 and date != date[1] Then{ tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } if 종료시간 > 0 and (stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간)) Then{ tcond = false; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } C2 = data2(C); if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = TotalTrades-T1+1; if Tcond == true then{ if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= 0.55) Then{ buy("b"); } if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and Lowd(0) < LowD(0)[1] and HighD(0)-LowD(0) >= 0.65) Then{ sell("s"); } } 즐거운 하루되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 53143건 cme day 트레이딩 오류 > 제가 요청드린 내용은 cme day 트레이딩입니다. 금일 야간 18시00분01초부터 금일 오후 11시59분59초까지 익일 오전 00시00분01초부터 익일 오전 03시44분59초까지 금일 야간 18시00분01초부터 익일 오전 03시44분59초까지 그런데 정리해 주신 수식은 모두 다 오버나잇하면서 리버스를 거래하고 있습니다.(그림1,2,3 참조) 현재 시스템설정창 당일청산 기능으로는 cme 당일 거래가 한계가 있어 시간함수를 세팅하기 위해 요청드린 내용이오니 다시 살펴주시기 바랍니다. 항상 고맙습니다.
프로필 이미지
목마와숙녀
2017-06-12
195
글번호 110311
시스템
답변완료

수익률 저점추세선을 수동으로 추적함

첨부파일의 누적수익률 곡선에서 수익률 두번째 저점(A)의 시간 및 수익값과 수익률 첫번째 저점(B)의 시간 및 수익값을 각각 수동으로 정해주고 현재시점의 저점추세선값(C)를 찾는 지표를 구하고 싶습니다. 그러니까 새로운 수익저점값이 만들어지면 같은방법으로 A점값과 B점값을 수동으로 입력하여 C점을 찾아나가면됩니다. 부언하면 수익값의 저점추세선을 수동으로 계속 모니터링하고 싶어서 지표를 알고싶습니다. 또하나는 현재의 누적수익률을 표시하는 지표도 구하는 식을 알려주세요
프로필 이미지
phoebus
2017-06-10
278
글번호 110310
지표
답변완료

문의드립니다.

안녕하세요^ 6월 9일에 엠지메드라는 종목이 상한가를 진입했는데 아래 검색식에서 빠지네요... 설정란은 모두 비워 두웠는데도 안나오는 이유를 모르겠습니다. if C[1]*1.2<=H then var1=1; else var1=0; if var1>0 then find(1);
프로필 이미지
7007
2017-06-10
133
글번호 110309
검색
답변완료

수식요청 드립니다

* 주가가 볼린저 밴드(기본수치) 상단을 터치(혹은 돌파) 하고 5개봉 경과 이후 당일 최저가 보다는 크고 주가가 볼린저 밴드 하단에 터치 하면 매수 * 고맙습니다.
프로필 이미지
요타
2017-06-12
154
글번호 110308
시스템
답변완료

문의 드립니다.

당일 10분봉에서 첫봉이 갭상승한 양봉 검색식이 궁금합니다.
프로필 이미지
확실한수익
2017-06-10
142
글번호 110307
종목검색
답변완료

질문드립니다.

input : 당일출력(1); if 당일출력 == 1 Then if currentdate == sdate then 차트출력 = true; else 차트출력 = false; else 차트출력 = true; 이렇게 짜서 화면에 지표출력을 구현하는데요. 이게 웃긴게 국선, 현물에서는 잘뜨는데 해외선물에 적용하면 화면에 출력이 되지않습니다. 왜 그러는 건가요?
프로필 이미지
stockric
2017-06-10
150
글번호 110306
지표

세발낚지 님에 의해서 삭제되었습니다.

프로필 이미지
세발낚지
2017-06-11
28
글번호 110305
지표
답변완료

수식변환

늘 감사합니다. var : Ov(0),Hv(0),Lv(0); if (stime == 70000 or (stime > 70000 and stime[1] < 70000)) or (stime == 150000 or (stime > 150000 and stime[1] < 150000)) or (stime == 200000 or (stime > 200000 and stime[1] < 200000)) or (stime == 60000 or (stime > 60000 and stime[1] < 60000)) Then{ Ov = O; Hv = H; Lv = L; } if H > Hv Then Hv = H; if L < Lv Then Lv = L; plot1(Ov); plot2(Hv); plot3(Lv); 1. 위 수식을 data2에 사용될수 있는 수식으로 변환 2, 각 시간 마다 컬러을 달리하여 구분해 주세요 예를들면 시가를 각 시간 마다 3개의 컬러로 구분해 주세요 감사합니다.
프로필 이미지
상암동
2017-06-09
174
글번호 110304
지표
답변완료

문의드립니다~

var : scnt(0), T(0), Bcnt(0); if crossup(tic20,tic60) Then{ T = 1; Bcnt = 0; if MarketPosition == 1 Then Bcnt = 1; } if crossdown(tic20,tic60) Then{ T = -1; Scnt = 0; if MarketPosition == -1 Then Scnt = 1; } if MarketPosition != MarketPosition[1] and MarketPosition == 1 Then Bcnt = Bcnt+1; if MarketPosition != MarketPosition[1] and MarketPosition == -1 Then Scnt = Scnt+1; 이전글 문의내용에서 위 식을 받았습니다~ 시스템으로 잘 작동하고 있거든요~ 감사합니다^^ 여기서 한가지 조건을 더 추가하고 싶은데요~ 60일선이 240일선 위에 있으면 매수포지션은 20일선과 60일선 골든크로스 다음에 2번만진입 매도포지션은 20일선과 60일선 데드크로스 다음에 1번만진입 60일선이 240일선 아래에 있으면 매도포지션은 20일선과 60일선 데드크로스 다음에 2번만진입 매수포지션은 20일선과 60일선 골든크로스 다음에 1번만진입 60일선과 240일선 사이의 이격이 3틱이내이면 매도포지션은 20일선과 60일선 데드크로스 다음에 2번만진입 매수포지션은 20일선과 60일선 골든크로스 다음에 2번만진입 감사합니다~!
프로필 이미지
겐지
2017-06-09
160
글번호 110303
시스템