커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

재문의요~~

항상 수고가 많으심니다 다시한번 검토 부탁합니다( 첨부파일 참조) 수고 하세요~~ 안녕하세요 예스스탁입니다. 1. 지표 var : HH(0),LL(0),HH1(0),LL1(0); var1 = ma(c,5);#5이평 var2 = ma(c,120);#120이평 value1 = NthHighestBar(1,H,5);#5개봉 최고가 발생봉 value2 = C[value1];#5개봉 최고가 발생봉의 종가 #이평 하락반전일때 value2를 고점으로 저장 if var1 < var1[1] and var1[1] > var1[2] Then{ HH = value2; HH1 = HH[1];#이전고점 } #이평 상승반전일때 value2를 저점으로 저장 if var1 > var1[1] and var1[1] < var1[2] Then{ LL = value2; LL1 = LL[1];#이전저점 } plot1(HH); plot2(LL); 2, 시스템 var : HH(0),LL(0),HH1(0),LL1(0); var1 = ma(c,5);#5이평 var2 = ma(c,120);#120이평 value1 = NthHighestBar(1,H,5);#5개봉 최고가 발생봉 value2 = C[value1];#5개봉 최고가 발생봉의 종가 #이평 하락반전일때 value2를 고점으로 저장 if var1 < var1[1] and var1[1] > var1[2] Then{ HH = value2; HH1 = HH[1];#이전고점 } #이평 상승반전일때 value2를 저점으로 저장 if var1 > var1[1] and var1[1] < var1[2] Then{ LL = value2; LL1 = LL[1];#이전저점 } if (LL > var2 and countif(var2 > var2[1],4) == 4) or crossup(var1,HH) or (var1 > var1[1] and var1[1] < var1[2] and LL > LL1) Then buy(); if var1 < var1[1] and var1[1] > var1[2] Then exitlong();
프로필 이미지
상큼한아침
2012-04-16
414
글번호 50106
지표
답변완료

수식문의..

안녕하세요 예스스탁입니다. var : maxCO(0),idx(0); if dayindex == 0 Then value1 = 0; if value1 == 0 Then{ if dayindex > 0 and C[1] > O[1] and C > O and C > C[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] > O[1] and C < O and C > C[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] > O[1] and C == O and C > C[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] < O[1] and C > O and C > O[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] < O[1] and C < O and C > O[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] < O[1] and C == O and C > O[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] == O[1] and C > O and C > C[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] == O[1] and C < O and C > C[1] Then{ var1 = c; value1 = 1; } if dayindex > 0 and C[1] == O[1] and C == O and C > C[1] Then{ var1 = c; value1 = 1; } } if value1 == 1 Then{ if C > O and C > var1 Then{ var2 = C; value1 = value1+1; } if C < O and C > var1 Then{ var2 = O; value1 = value1+1; } if C == O and C > var1 Then{ var2 = C; value1 = value1+1; } } if value1 == 1 Then{ if C[1] > O[1] and C > O and C < O[1] Then{ var1 = 0; value1 = 0; } if C[1] > O[1] and C < O and C < O[1] Then{ var1 = 0; value1 = 0; } if C[1] > O[1] and C == O and C < O[1] Then{ var1 = 0; value1 = 0; } if C[1] < O[1] and C > O and C < C[1] Then{ var1 = 0; value1 = 0; } if C[1] < O[1] and C < O and C < C[1] Then{ var1 = 0; value1 = 0; } if C[1] < O[1] and C == O and C < C[1] Then{ var1 = 0; value1 = 0; } if C[1] == O[1] and C > O and C < C[1] Then{ var1 = 0; value1 = 0; } if C[1] == O[1] and C < O and C < C[1] Then{ var1 = 0; value1 = 0; } if C[1] == O[1] and C == O and C < C[1] Then{ var1 = 0; value1 = 0; } } if value1 == 2 Then{ if C > O and C > var2 Then{ var3 = C; value1 = value1+1; } if C < O and C > var2 Then{ var3 = O; value1 = value1+1; } if C == O and C > var2 Then{ var3 = C; value1 = value1+1; } } if value1 == 2 Then{ if C[1] > O[1] and C > O and C < O[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] > O[1] and C < O and C < O[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] > O[1] and C == O and C < O[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] < O[1] and C > O and C < C[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] < O[1] and C < O and C < C[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] < O[1] and C == O and C < C[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] == O[1] and C > O and C < C[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] == O[1] and C < O and C < C[1] Then{ var1 = 0; var2 = 0; value1 = 0; } if C[1] == O[1] and C == O and C < C[1] Then{ var1 = 0; var2 = 0; value1 = 0; } } if value1 == 3 Then{ if C > O and C > var3 Then{ var3 = C; value1 = 3; } if C < O and C > var3 Then{ var3 = O; value1 = 3; } if C == O and C > var3 Then{ var3 = C; value1 = 3; } } if value1 == 3 Then{ if C[1] > O[1] and C > O and C < O[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] > O[1] and C < O and C < O[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] > O[1] and C == O and C < O[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] < O[1] and C > O and C < C[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] < O[1] and C < O and C < C[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] < O[1] and C == O and C < C[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] == O[1] and C > O and C < C[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] == O[1] and C < O and C < C[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } if C[1] == O[1] and C == O and C < C[1] Then{ var1 = 0; var2 = 0; var3 = 0; value1 = 0; } } maxCO = max(c,O); if value1 == 1 and value1 != 0 Then idx = index; if dayindex > 0 and value1 == 0 and value1[1] != 0 Then var10 = highest(maxCO,(index-idx)+1); plot1(var10); 즐거운 하루되세요 > 타고난스캘퍼 님이 쓴 글입니다. > 제목 : 수식문의사항 > 매일첫봉에서 모든 조건 초기화 전봉 양봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 크면 현재봉 종가를 var1에 저장. value1=1 전봉 양봉. 현재봉 음봉. 현재봉 종가가 전봉종가보다 크면 현재봉 시가를 var1에 저장. value1=1 전봉 양봉. 현재봉 도지봉. 현재봉 종가가 전봉종가보다 크면 현재봉 종가를 var1에 저장. value1=1 전봉 음봉. 현재봉 양봉. 현재봉종가가 전봉시가보다 크면 현재봉 종가를 var1에 저장. value1=1 전봉 음봉. 현재봉 음봉. 현재봉종가가 전봉시가보다 크면 현재봉 시가를 var1에 저장. value1=1 전봉 음봉. 현재봉 도지봉. 현재봉종가가 전봉시가보다 크면 현재봉 종가를 var1에 저장. value1=1 전봉도지봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 크면 현재봉 종가를 var1에 저장 value1=1 전봉도지봉. 현재봉 음봉. 현재봉 종가가 전봉종가보다 크면 현재봉 시가를 var1에 저장. value1=1 전봉도지봉. 현재봉 도지봉. 현재봉 종가가 전봉종가보다 크면 현재봉 종가를 var1에 저장. value1=1 value1==1 이후 현재봉 양봉. 현재봉 종가가 var1 보다 크면 현재봉 종가를 var2에 저장. value1=value1+1 현재봉 음봉, 현재봉 종가가 var1 보다 크면 현재봉 시가를 var2에 저장. value1=value1+1 현재봉 도지봉. 현재봉 종가가 var1보다 크면 현재봉 종가를 var2에 저장. value1=value1+1 value1==1 이후 전봉양봉. 현재봉 양봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 value1=0 전봉 양봉. 현재봉 음봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 value1=0 전봉양봉. 현재봉 도지봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 value1=0 전봉음봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 value1=0 전봉 음봉. 현재봉 음봉 현재봉 종가가 전봉종가보다 작으면 var1=0 value1=0 전봉음봉. 현재봉 도지봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 value1=0 전봉 도지봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 value1=0 전봉 도지봉. 현재봉 음봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 value1=0 전봉도지봉. 현재봉도지봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 value1=0 value1==2 이후 현재봉 양봉. 현재봉 종가가 var2 보다 크면 현재봉 종가를 var3에 저장. value1=value1+1 현재봉 음봉, 현재봉 종가가 var2 보다 크면 현재봉 시가를 var3에 저장. value1=value1+1 현재봉 도지봉. 현재봉 종가가 var2보다 크면 현재봉 종가를 var3에 저장. value1=value1+1 value1==2 이후 전봉양봉. 현재봉 양봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 var2=0 value1=0 전봉 양봉. 현재봉 음봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 var2=0 value1=0 전봉양봉. 현재봉 도지봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 var2=0 value1=0 전봉음봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 value1=0 전봉 음봉. 현재봉 음봉 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 value1=0 전봉음봉. 현재봉 도지봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 value1=0 전봉 도지봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 value1=0 전봉 도지봉. 현재봉 음봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 value1=0 전봉도지봉. 현재봉도지봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 value1=0 value1==3 이후 현재봉 양봉. 현재봉 종가가 var3 보다 크면 <var3이후부터는 계속 var3에 누적저장> 현재봉 종가를 var3에 저장. value1=value1 < value3 이후에는 value1도 계속3으로 유지됨 > 현재봉 음봉, 현재봉 종가가 var3 보다 크면 현재봉 시가를 var3에 저장. value1=value1 현재봉 도지봉. 현재봉 종가가 var3보다 크면 현재봉 종가를 var3에 저장. value1=value1 value1==3 이후 전봉양봉. 현재봉 양봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉 양봉. 현재봉 음봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉양봉. 현재봉 도지봉. 현재봉 종가가 전봉시가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉음봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉 음봉. 현재봉 음봉 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉음봉. 현재봉 도지봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉 도지봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉 도지봉. 현재봉 음봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 var3=0 value1=0 전봉도지봉. 현재봉도지봉. 현재봉 종가가 전봉종가보다 작으면 var1=0 var2=0 var3=0 value1=0 여기에서 value1생성~value3 초기화되는 봉 생성까지의 시가와 고가중 최고가를 나타내고싶습니다. 한 4번질문했는데 신호가 다 제가 지정한대랑 다른곳이나와서요...상세하게적었습니다. HTS로 설명드리자면 KOSPI200 연결선물지수 1분봉차트 4월13일자에 14:03 ~ 14:07 시간까지보시면 14:03(음봉) 14:04 (양봉) 전봉이 음봉. 현재봉 양봉. 현재봉 종가가 전봉종가보다 크면 현재종가를 var1에저장 value1=1 <조건만족 value1=1> 14:04(양봉) 14:05(양봉) value1==1이고 현재봉양봉. 현재봉종가가 var1보다 크면 현재봉의 종가를 var2에 저장 value1=value1+1 <조건만족 value1=2> 14:05(양봉) 14:06(도지봉) value1==2 이고 현재봉 도지봉. 현재봉종가 var2보다 크면 현재봉 종가를 var3에 저장 value1=value1+1 <조건만족 value1=3> 14:06(도지봉) 14:07(음봉) value1==3이고 전봉도지봉. 현재봉음봉. 현재봉 종가가 전봉종가보다작으면 var1=0 var2=0 var3=0 value1=0 그리고 14:04분(value1=1이된 첫시발점)부터 14:06분(value1=0 초기화봉 완성) 까지의 시가와 종가중 최고가를 var10에 저장. 그러니깐여기서보시면은 14:06분(도지봉)의 종가. 14:07분(음봉)의 시가 이값이 var10이 되는거죠. 음봉이나와도 전봉종가보다 종가가 큰 음봉이 나올수있잖아요? 그런거유의해서생각해보시고.....작성해주셨으면합니다... 글이 길지만...중복되는 내용이많아서 요약가능하시면 요약도 좀해주시면좋겠습니다. ----------------------------------------------------------------------------- 글썼는데 위와 같이 작성해주셨는데 적용해보니 또 신호가 이상한데서 잡히네요ㅡ.ㅡ; HTS 연결지수 1분봉차트 사진찍어서 첨부파일올려놨습니다. 오류나는게 너무많아서 잘좀 읽어주시고 수정부탁드립니다.. 전제를 말씀드리면. 종가의 3회상승인데 종가가 전봉 몸통보다 바깥쪽에위치해야합니다. 그러니깐 양봉 양봉 양봉 나오면 종가만 상승하면되지만 양봉 음봉 양봉 나와도 음봉이 전봉양봉보다 큰 종가면 인정되는겁니다. (그러니깐 갭이 있단소리죠.) 하지만 음봉뒤에 양봉은 음봉의 시가보다 큰 값을 같는 종가를 가져야 조건이 만족입니다. 이해좀해주시고 수정부탁드립니다. 감사합니다.
프로필 이미지
타고난스캘퍼
2012-04-16
352
글번호 50104
시스템
답변완료

우리 TRADER에서 VKOSPI 지수

안녕하세요? 우리 Trader에서 VKOSPI를 이용해서 시스템 작성을 할려고 하는데, 지수 항목에 관련 Data가 없네요. 하이투자증권에서 사용하는 Yes Trader에는 VKOSPI 지수 데이터가 있는데, 왜 우리 Trader에는 없는지요? 조속한 시일내에 관련 Data를 이용 가능하도록 조치 부탁드립니다.
프로필 이미지
회원
2012-04-16
328
글번호 50103
지표
답변완료

"과거시점검색"한 번 더 질문합니다.

안녕하세요 예스스탁입니다. input : 기준일(20110401); value1 = ma(c,20); #과거 특정일의 20이평 if sdate == 기준일 Then var1 = value1; #현재 20이평이 과거 특정일 대비 상승 if value1 > var1 Then find(1); 위와 같이 작성하시면 됩니다. 종목검색시 과거 봉의 값이 많이 필요하므로 속성화면에서 검색에 필요한 봉갯수를 500으로 지정하고 검색하시면 됩니다. 종목검색에는 봉이 최대 500개까지만 제공됩니다. 즐거운 하루되세요 ======================================= 위는 저의 질문에 대한 예스스탁님의 답변인데요,감사하구요,...저의 질문의 요지는 "특정과거시점"에서 "과거시점"을 검색하는 것입니다. 즉,현재는 2012년인데, 과거인 2011년 4월11에서 볼때에 그 전의 상황을 검색하는 질문입니다. 예를 들어 현재는 2012년 4월 16일이지만,이건 저의 질문과는 상관이 없고, 과거시점인 2011년 4월11일을 기준으로 해서,더 과거인 2011년 3월11일의 상황보다 20일평균선이 높은 종목을 검색할려구요. 즉 2011년3월11일의 20일 평균선<2011년 4월11일의 20일 평균선이 되는 종목의 검색입니다.각각의 날짜만 넣으면 검색이 가능한 식으로 표현되는 지요? 성실한 답변에 미리 감사드립니다.
프로필 이미지
오륙도
2012-04-16
331
글번호 50098
검색
답변완료

MACD 수식을 부탁드립니다.

수식부탁 청을 드립니다. [매수진입] 1.MACD가 반드시 기준선 아래에서 쌍바닥으로 GC 발생시 매수 =즉,MACD가 GC 발생했을 시 좌측 GC보다 Cross 지점이 높으면 됨. (다이버전스 여부 상관없음) 단,반드시 기준선 아래에서 발생한 GC에서만 매수진입. 상기 매수진입 식을 시스템식과 검색식 2가지로 부탁드립니다.
프로필 이미지
결사준수
2012-04-16
408
글번호 50097
시스템
답변완료

궁금합니다.

지표식을 작성해서 봉차트에 적용해보았습니다. 지표식의 내용은 분봉에서 일봉 지수이평을 그리는 식입니다. 그런데, 예스트레이더 화면에 나타나는 봉 개수에 따라 분홍색 20일선이 붙임의 그림처럼 봉의 위치와 비교해보면 다르게 나타납니다. 뭐가 잘못된 것일까요? 아니면 원래 그런가요? 선의 위치가 다르게 나오는 이유를 설명해주실 수 있나요? 초보라 죄송합니다.
프로필 이미지
에리조나
2012-04-16
325
글번호 50092
지표

불꼰놀이 님에 의해서 삭제되었습니다.

프로필 이미지
불꼰놀이
2012-04-16
14
글번호 50083
검색
답변완료

부탁드립니다..

전일고가와 저가의 중간값을 이용한 지표를 만들고 싶습니다.. 금일 시가가 전일고저의 중간값보다 크면 전일고가라인을 그리고 금일 시가가 전일고저의 중간값보다 작으면 전일저가 라인을 그리고 싶습니다.. 예를 들면 전일고가가 5이고 전일 저가가 2이면.. 중간값이 3.5 금일시가가 4이면 전일고가인 5에 선이 그려지고 금일시가가 3이면 전일저가인 2에 선이 그려지는겁니다... 부탁드립니다...
프로필 이미지
회원
2012-04-16
361
글번호 50082
지표
답변완료

지지와 저항

항상 신속하게 답변 주셔서 감사합니다. 많은 도움이되고 있습니다. 이번도 시스템식 하나 요청합니다. 선물 분봉에 적용하고자 합니다. 그런데 지표가 적당할지 시스템식이 적당할지 잘 모르겠습니다. 적당한 지도를 부탁드니다. 만약 지표로 구현한다면 최근 20봉 동안을 기준으로 고가가 5개 이상 20개 이하 일치하는 가격에 청색 저항라인을 긋고 저가가 5개 이상 20개 이하 일치하는 가격에 적색 지지라인을 나타나도록 하고자 합니다. 시스템식으로 한다면 최근 20봉 동안 고가가 5개 이상 20개 이하 일치하는 가격에 매도 저가가 5개 이상 20개 이하 일치하는 가격에 매수 를 표시되게 하고자 합니다. 그럼 부탁드립니다.
프로필 이미지
스퍼트시커
2012-04-16
404
글번호 50080
시스템