커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식

input : P(120); var : T(0); var1 = ma(c,P); if var1 > var1[1] Then T = 1; if var1 > var1[1] Then T = -1; if T == 1 Then plot1(var1,"이평",RED); Else plot1(var1,"이평",blue); ------------------------------------------------------------------- 120이평 상승시 레드 하락시 블루 수식 가르쳐준데로 했는데요 120 이평선이 저렇게만 한색으로만 나오네요 이렇게 나오네요
프로필 이미지
회원
2014-12-24
164
글번호 81632
지표
답변완료

다이버전스식

38810으로 부탁드렸던 건인데요, 추가로 부탁 드리겠습니다. 60틱 챠트에서 스톡캐스틱(35,12,12)를 사용하여 다이버전스를 찾고자합니다. 아래의 식을 스톡캐스틱에 맞게 수정 부탁드립니다. 많은 도움 주셔서 항상 감사드립니다. #==========================================# # 지표명 : RSI다이버전스 주가파동선 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:Period(14),Rsi변동폭(5); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),RsiV(0),추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); RsiV = RSI(Period); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RsiV || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RsiV || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RsiV[1] && Rsi저[0][1] + Rsi변동폭 <= RsiV Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RsiV[1] && Rsi고[0][1] - Rsi변동폭 >= RsiV Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RsiV[1] && Rsi고[0][1] - Rsi변동폭 > RsiV Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RsiV[1] && Rsi저[0][1] + Rsi변동폭 < RsiV Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } #==========================================# # 지표식 출력 #==========================================# If Rsi파동선[1] != Rsi파동선 Then Plot1(파동선); //적당껏 수평이동 Else If LastBarOnChart == 1 Then plot1(Iff(방향 == 상승,고[0],저[0])); #상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승 If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then { 추세선 = (저[1]-저[2])/(저Bar[2]-저Bar[1])*저Bar[2] + 저[2]; Plot2(추세선); /*PlaySound("C:₩예스트레이더₩data₩Sound₩sound9.wav");*/ } #하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락 if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then { 추세선 = (고[1]-고[2])/(고Bar[2]-고Bar[1])*고Bar[2] + 고[2]; Plot3(추세선); /*PlaySound("C:₩예스트레이더₩data₩Sound₩sound9.wav");*/ } #==========================================# # 지표명 : RSI다이버전스 지표파동선 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:Period(14),Rsi변동폭(5); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),RsiV(0),Rsi추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); RsiV = RSI(Period); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RsiV || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RsiV || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RsiV[1] && Rsi저[0][1] + Rsi변동폭 <= RsiV Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RsiV[1] && Rsi고[0][1] - Rsi변동폭 >= RsiV Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RsiV[1] && Rsi고[0][1] - Rsi변동폭 > RsiV Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RsiV; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RsiV[1] && Rsi저[0][1] + Rsi변동폭 < RsiV Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RsiV; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } #==========================================# # 지표식 출력 #==========================================# If Rsi파동선[1] != Rsi파동선 Then Plot1(Rsi파동선); //적당껏 수평이동 Else If LastBarOnChart == 1 Then plot1(Iff(방향 == 상승,Rsi고[0],Rsi저[0])); #상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승 If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then { Rsi추세선 = (Rsi저[1]-Rsi저[2])/(Rsi저Bar[2]-Rsi저Bar[1]) * Rsi저Bar[2] + Rsi저[2]; Plot2(Rsi추세선,"저점추세선"); } #하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락 if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then { Rsi추세선 = (Rsi고[1]-Rsi고[2])/(Rsi고Bar[2]-Rsi고Bar[1]) * Rsi고Bar[2] + Rsi고[2]; Plot3(Rsi추세선,"고점추세선"); }
프로필 이미지
회원
2014-12-24
331
글번호 81631
지표

조투 님에 의해서 삭제되었습니다.

프로필 이미지
조투
2014-12-24
0
글번호 81630
지표
답변완료

지표를 만들었는데요

지표를 새로 만들었는데요 만들고 차트에 불러오기를 하면 아래칸에 새로이 창이생겨서 거기에 지표가 나타나는데 기존 주가차트에 뜨게 하려면 어떻게하죠?
프로필 이미지
조투
2014-12-24
165
글번호 81629
지표
답변완료

간단한 검색식 부탁드립니다.

1.해당봉(일봉,60분봉등)의 윗꼬리가 몸통의 50%(변수입력) 이하인 종목 검색식 2.해당봉(일봉,60분봉등)의 현재가가 해당봉 시가보다 2%(변수입력)이상 상승한 종목 검색식 부탁드립니다.감사합니다~
프로필 이미지
부양가족
2014-12-24
169
글번호 81625
종목검색
답변완료

재문의 합니다

안녕하세요 번거롭게해서 죄송합니다 var : cnt(0),count(0); #당일 진입횟수 카운트 count = 0; for cnt = 0 to 20{ if sdate ==EntryDate(cnt) Then count = count+1; } if crossup(C , dayopen) and count < 2 Then buy(); 이수식을넣고 서 차트을보니 당일진입횟수을 두번만하게 부탁드렸는데 위식은 아닌것 같읍니다 차트에 계속신호표시가 되는데요 혹진입할때두번연속식인가요 재가원하는것은 장시작되고 두번만진입하게 제한을거는것입니다 부탁합니다
프로필 이미지
질갱이
2014-12-24
152
글번호 81621
시스템
답변완료

문의

아래식에서 매도 청산때에 마지막날 종가에 매수한 물량도 같은날 종가에 매도되고 있습니다. 매도청산날에 그날종가에 매수한 물량은 같은날 종가로 매도되지 않도록 식을 바꾸어주세요. Buy("B",OnClose); if MarketPosition == 1 and c > avgEntryPrice*1.015 Then ExitLong("bx");
프로필 이미지
erwe343
2014-12-24
147
글번호 81620
시스템
답변완료

타주기시스템수정

항상 감사드립니다 아래 타주기 시스템식이 제대로 구현이 되질않습니다. 수정부탁드립니다 매수= data2(c)<var93 and data2(c)>var92 and data2(c)>vv85 매도= data2(c)<var93 and data2(c)>var92 and data2(c)<vv85 ########################## ### 션샤인 중심값 매매 ### ########################## var : var83(0,data1),var84(0,data1),var85(0,data1) ; var : vv83(0,data2),vv84(0,data2),vv85(0,data2) ; ## data_1 ## #중심선# if stime == 93000 or (stime > 93000 and stime[1] < 93000) Then{ var83 = data1(dayhigh()); var84 = data1(daylow()); } if stime >= 90000 and stime < 93000 Then var85 = data1((dayhigh()+daylow())/2); Else var85 =data1((var83+var84)/2); ## data_2 ## #중심선# if stime == 93000 or (stime > 93000 and stime[1] < 93000) Then{ vv83 = data2(dayhigh()); vv84 = data2(daylow()); } if stime >= 90000 and stime < 93000 Then vv85 = data2((dayhigh()+daylow())/2); Else vv85 = data2((vv83+vv84)/2); var93 = data2(vv85+0.3); var92 = data2(vv85-0.3); 감사합니다
프로필 이미지
조민철
2014-12-24
154
글번호 81619
시스템

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

프로필 이미지
그린라이트
2014-12-24
6
글번호 81618
종목검색