커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

시스템식에서 매수부분 다시한번만 부탁드려요!

어려웠던 부분을 이렇게나 답변을 잘해주셔셔 너무 감사합니다! 마지막부분이 이해 안된다고 하셨는데 제가 만든지표가 아니라서 제가 잘못 설명했네요! 마지막 부분을 꼭 좀 추가해 주셨으면 하는데 부탁드려요! 그리고 색깔이 변환 안된다는 걸 제가 몰랐네요! 전고점 돌파부분이에요! <아래부분이 올려주신 답변인데요!> 지그재그식 반전 매수 매도에서 색이 파란색일때 매수 매도 금지부분은 잘됩니다! 아쉬운 부분이 딱 하나있는데 전고점 돌파에 매수를 안하는게 아쉽네요! if 색깔 == 빨강 and var1 < var1[1] Then buy("b1"); if 색깔 == 빨강 and var1 > var1[1] Then sell("s1"); if 색깔 == 빨강 and 색깔[1] == 파랑 and var1 < var1[1] Then buy("b2"); 지표에서 값이 빨간색일때만 매수와 매도를 합니다. 추가된 내용은 b2로 추가했지만 직전값보다 떨어지면 매수하고 올라가면 매도하므로 해당식에서 b1과 항상 겹쳐지므로 신호가 발생하지는 않습니다. 해당 부분은 정확히 이해가 안되므로 수정해 사용하시기 바랍니다. <여기서 제가 문의드리고자하는 부분은...> if 색깔 == 빨강 and 색깔[1] == 파랑 and var1 < var1[1] Then buy("b2"); 이부분을 지우고 b2 즉 매수신호를 반전신호(b1)외에 전고점 돌파(지그재그상) 전고점 하락반전부분을 넘어서는 부분에서 또다른 매수신호를 넣고 싶습니다! 꺽은선차트상 전고점꺽은선부분을 돌파했을시(이경우색깔이 파란색에서 빨간색으로 전환) 매수신호가 나옵니다! 예를들면 이중바닥시 돌파후 매수를 하는 전략인데, 답변해주신 내용으로 만든 시스템으로는 이 한가지가 부족합니다! 단순히 최근 고점 돌파시 b2를 설정후 s2는 s1과 동일합니다! 이게 가능할까요? <<<<<실시간 지표상(현재값) 바로 전 지그재그고점(하락반전)값보다 높은 가격이 오면 b2를 실행하는 시스템식입니다! 그리고 s1(매도전략)은 같습니다! >>> ((최근 지그재그 지표상 신고가돌파가 되면 매수하는 부분입니다) 꼭 부탁드려요! <아래는 전에 답변해주신 시스템 원본입니다> 2. 시스템 #==========================================# # 지표명 : 지그재그차트 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:상승률(1),하락률(1); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { var1 = 이중파동; #Plot1(이중파동,"Zigzag",Iff(색깔==빨강,RED,BLUE)); 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > C && 기준저 * (1 + (상승률/100)) < C Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > C Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < C Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else var1 = 고[1]; //plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) >C Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var1 = 저[1]; #plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else var1 = 저[1]; //plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) <C Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; #plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; #Plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var1 = 저[1]; #Plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE)); If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } #==========================================# # 마무리 #==========================================# If LastBarOnChart == 1 && 기준고Bar > 0 && 기준저Bar > 0 Then { If 추세 == 상승 Then { If 고[1] < 기준고 Then 색깔 = 빨강; var1 = 기준고; #Plot1(기준고,"Zigzag",Iff(색깔==빨강,RED,BLUE)); } Else { If 저[1] > 기준저 Then 색깔 = 파랑; var1 = 기준저; #Plot1(기준저,"Zigzag",Iff(색깔==빨강,RED,BLUE)); } } if 색깔 == 빨강 and var1 < var1[1] Then buy("b1"); if 색깔 == 빨강 and var1 > var1[1] Then sell("s1"); if 색깔 == 빨강 and 색깔[1] == 파랑 and var1 < var1[1] Then buy("b2"); 지표에서 값이 빨간색일때만 매수와 매도를 합니다. 추가된 내용은 b2로 추가했지만 직전값보다 떨어지면 매수하고 올라가면 매도하므로 해당식에서 b1과 항상 겹쳐지므로 신호가 발생하지는 않습니다. 해당 부분은 정확히 이해가 안되므로 수정해 사용하시기 바랍니다. 즐거운 하루되세요
프로필 이미지
회원
2012-11-15
469
글번호 56514
시스템
답변완료

수식부탁드립니다.

연봉시초가의 5 이동평균을 구하려고 합니다. if sdate > sdate[1]+300 Then var1 = O; plot1(var1,"년봉시초가"); 위 식이 년봉시초가 수식인데 어떻게 추가하면 되나요?
프로필 이미지
무지개나날들
2012-11-15
389
글번호 56513
지표
답변완료

지표식을 작성했는데, 에러가 납니다. 수정부탁드려요.

var: pibo(0),fx(0),1r(0),1s(0); pibo= dayclose(1); fx= highest(h,5)-lowest(l,5); 1r = pibo+fx*0.382; 1s = pibo-fx*0.382; plot1(pibo); 위 지표식에서 어디가 잘못되었나요? 에러가 나네요. 에러메시지는 첨부파일로 올립니다.
프로필 이미지
제우스
2012-11-15
382
글번호 56512
지표
답변완료

매매신호 건너뛰기...

1. 시스템식에서 7회 연속 손실일경우 그 다음에 오는 매매신호 10회는 건너뛰고 그다음 11번째 신호부터 다시 진입하는 전략을 식으로 구현하면 ?? 2. 매수 진입이 7회 연속 손실일때 매수진입만 10회 진입 건너뛰기 전략? 3. 매수 진입이 7회 연속 손실일때 매수진입만 10회 진입 건너뛰기 전략?
프로필 이미지
유아독존
2012-11-15
351
글번호 56511
시스템
답변완료

매매식 부탁드립니다

항상 빠르고 친절하게 답변해 주셔서 고맙습니다. ADX를 이용하여 추세장에서만 매매하고, 비추세장에서는 매매를 하지 않는 로직을 만들고 싶은데 도와주세요. ㅇ ADX 라인이 30 이상일때를 추세장으로, 30미만을 비추세장으로 설정하고 DMI(14), ADX(30),스토캐스틱(12) 일때 ㅇ 추세장에서의 매수조건은 ADX 라인이 30 이상이고, 스토캐스틱(12)가 50 이상이며 , -DI가 30 미만이며, -DI가 ADX 라인을 하향 돌파하고, 3개봉이 지나기 전에 ADX 라인이 하향시에 매수 ㅇ 매매중지 조건은 ADX 라인이 30 미만이고, +DI가 30 미만이며, 스토캐스틱(12)가 50 미만시 매매중지 하는 매매식 부탁드립니다.
프로필 이미지
민기삼촌
2012-11-14
413
글번호 56510
시스템
답변완료

지표식 부탁드립니다.

input : P1(20), N(1.03); var1 = highest(H,P1); var2 = lowest(L,P1); if var1 <= var2*N Then { value1 = var1+atr(P1); value2 = var2-atr(P1); } Else { value1 = value1; value2 = value2; } plot1(value1); plot2(value2); 위의 수식은 10분봉에서 사용하는 수식입니다. 1분봉에서 위의 수식을 사용하고 싶습니다. Data를 이용하지 않고 사용 가능하도록 변환 부탁드립니다. 단, 1분마다 값이 바뀌는 것이 아니라 10분 단위로만 값이 계산되어서 지표로 표시되게 부탁드리겠습니다. 초봉에서도 그대로 사용하면 되는지도 알려주세요~ 감사합니다.
프로필 이미지
엠제이
2012-11-14
391
글번호 56509
지표
답변완료

문의 드립니다.

var1 = accumn( Upvol,DayIndex+1); var2 = accumn(DownVol,DayIndex+1); var3 = var1/var2 * 100; Plot1(var3); 위 식을 복합장에 이용하려고 합니다. 자정 12시에 새롭게 다시 셋팅 되는 느낌이더군요. 제가 원하는건 자정 12시가 아니라 오전장 시작하는 9시에 처음부터 데이타가 시작하고 다시 야간장 시작하는 18시에 새롭게 데이타가 시작되는 지표식 좀 부탁드립니다. 결론은 주간장 야간장 시작시 각각 무조건 새로 시작하는 것이지요... 수고하세요~~
프로필 이미지
비츠로
2012-11-14
347
글번호 56508
지표
답변완료

다시문의드립니다.

아래 27112번질문에서 음봉지지,저항은 차트에 표시되는데.. 양봉 지지,저항은 표시가 안되네요. 2. 양봉저항 var : 중심값(0),G2(0),H2(0),양봉저항(0); 중심값 = (dayclose(1)+dayhigh(1)+daylow(1))/3; G2=2*중심값-daylow(1); H2=중심값+dayhigh(1)-daylow(1); 양봉저항 =(G2+H2)/2; plot1(양봉저항); 3. 양봉지지 var : 중심값(0),양봉지지(0); 중심값 = (dayclose(1)+dayhigh(1) +daylow(1))/3; 양봉지지 = 중심값+((중심값*2)-dayhigh(1))/2; plot1(양봉지지); 차트표시에도 plotno1의 표시없이 빈페이지로 표시되네요. 수정부탁드립니다.
프로필 이미지
천외일성
2012-11-14
397
글번호 56507
지표
답변완료

문의드립니다.

참조데이타의 보조지표조건을 가져올&#46468;는 어떻게 해야 하는지요? 가령, 현재 틱봉챠트에서 60분챠트의 보조지표인 RSI값이 전봉의 RSI값보다 크다는 조건을 가져와서 사용할려면 어떻게 해야 하는지요? 감사합니다.
프로필 이미지
족구마왕
2012-11-14
376
글번호 56506
시스템