커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식 수정 좀 부탁드립니다.

안녕하세요? 추세구간과 비추세구간에 대하여 알아보려고합니다. 아래의 파동식을 ADX[ADXv=ADX(period)] 지표에 대한 파동식으로 수정 부탁드립니다. =========================================================================== #==========================================# # 지 표 명 : 고저라인 지그재그 파동선 # 버 전 : 1.2 # 작 성 자 : 수식지왕 # 블 로 그 : http://yahoosir.blog.me # 업데이트 : 2017-03-10 #==========================================# Input:length(10),종가사용여부(0),파동선두께(3),수치표시(1),고점파동선색(MAGENTA),저점파동선색(GREEN); Var:j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(고[1,3],고[1,4],고[1,1],NumToStr(고[1,1],2)); Text_SetStyle(Text1, 2, 1); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,고점파동선색); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 If 수치표시 == 1 Then { Text_SetLocation(Text1,고[1,3],고[1,4],고[1,1]); Text_SetString(Text1,NumToStr(고[1,1],2)); } } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text1 = Text_New(저[1,3],저[1,4],저[1,1],NumToStr(저[1,1],2)); Text_SetStyle(Text1, 2, 0); } TL_SetSize(TL1,파동선두께); TL_SetColor(TL1,저점파동선색); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); If 수치표시 == 1 Then { Text_SetLocation(Text1,저[1,3],저[1,4],저[1,1]); Text_SetString(Text1,NumToStr(저[1,1],2)); } } 최종꼭지점 = "저점"; }
프로필 이미지
매버릭
2017-09-04
243
글번호 112464
지표

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

프로필 이미지
wscamtk
2017-09-04
11
글번호 112463
시스템
답변완료

문의

3가지를 부탁 드립니다. if bdate != bdate[1] Then{ var1 = 0; var2 = 0; } var1 = var1+Upvol; var2 = var2+DownVol; var3 = var1/var2*100; var4 = ma(var3,P); if var3 >= 100 Then plot1(var3,"체결강도",RED); Else plot1(var3,"체결강도",blue); 이걸 좀 편집을 부탁드리겠습니다. 만약에 최고점이130 이면 130에 선이나오고 최저점이 70 이면 70에 선이 나오고 중심점은 100나오면 100 에 나오게 해주세요. 즉 최고점 최저점 중심점에 선이 나오도록 부탁드릴게요. 그리고 추가로 시간을 9시20분 이후에서 15시까지 최고점 최저점 중심점에 선이 나오도록 부탁드릴게요. 즉 최고점은 130이더라도 9시20분이후에 최고점이 120이면 120에 선이 나오고 최저점이 70이더라도 9시20분이후에 80이 최저점이면 80에 그리고 그중간점에 선이 나오도록 부탁드릴게요. 그리고 시간은 외부변수로해서 부탁드릴게요. 시스템에서 var : sumUp(0),sumDn(0); if Bdate != Bdate[1] Then{ sumup = 0; sumdn = 0; } sumup = sumup + Upvol; sumdn = sumdn + DownVol; sumup이 sumdn위로 올라가면 매수신호 sumdn이 sumup위로 올라가면 매도 신호도 부탁드릴게요
프로필 이미지
레전드
2017-09-04
154
글번호 112462
지표
답변완료

문의 드립니다.

미리 감사드립니다. 금융시장이 이렇게 힘든 상황에서도 한결같이 자리를 지켜주는 예스에 감사드립니다. 질문드릴께요... if MarketPosition == 1 Then{ if CountIF( var3 > var3[1], 20) < 1 Then exitlong("정리",atlimit,EntryPrice+PriceScale*10); } 위에서 보듯이 정리신호 입니다. 위 식은 국내선물이고 1분차트 기준입니다. 진입가에서 10틱 상승시 기계적으로 청산하는 것으로 작성 하였습니다. 위 식을 질문 : 현재가가 30분전까지의 당일 고점 마이너스 0.2 보다 크다면 정리하지 마시오. 그리고 현재가가 당일고점 -0.2 보다 높다가 -0.2보다 밑으로 내려가면 10틱보다 낮아도 바로 정리하시오 즉, 현재 시간은 1시이고 현재가는 310 포인트 입니다. 당일고점은 12시에 형성되었고 310.15 입니다. 진입가 대비 10틱의 수익이 나는 시점이 310 포인트 이면 정리해야 하는데 당일고점 -0.2 보다 현재가가 높으므로 정리를 하지 않습니다. 그리고, 309.95보다 같거나 높으면 계속 유지를 하다가 현재가가 309.95 밑에서 1분종가가 형성된다면 10틱이 안되어도 바로 정리하는 식으로 부탁드립니다. 감사 합니다.
프로필 이미지
지킴이
2017-09-03
144
글번호 112461
시스템

그라시아스 님에 의해서 삭제되었습니다.

프로필 이미지
그라시아스
2017-09-03
1
글번호 112460
지표
답변완료

수식 부탁 드립니다.(더하기)

* 항상 많은 도움에 고맙 습니다. * 요청 사항 : 10일간 전일(dayclose(1)) 포함 보다 큰 날짜의 종가 합(sum) *현재일(당일) 제외 10일간 전일(dayclose(1)) 포함 큰 날짜의 평균가 *현재일(당일) 제외 10일간 전일(dayclose(1)) 포함 작은 날짜의 합(sum) *현재일(당일) 제외 10일간 전일(dayclose(1)) 포함 작은 날짜의 평균가 *현재일(당일) 제외 (현재일과 종가가 같으면 제외) (평균가격 계산시 전일 종가와 같은 날은 계산식에서 빼고 평균가격 계산 요청 드립니다.) * 부탁 드리고 항상 고맙 습니다. var1 = AccumN(iff(DayClose(1) > DayClose,1,0),10) 이게 아닌가요?
프로필 이미지
요타
2017-09-03
132
글번호 112459
시스템
답변완료

문의합니다.

예스랭귀지 익히려고 기본적인 것좀 짜봤습니다. 수식 좀 부탁합니다. 1. 진입 종가가 20개(변수) 전 봉 고가보다 높음 청산 종가가 20개(변수) 전 봉 저가보다 낮음 2 진입 20개(변수) 봉 가운데 최저가대비 현 종가가 10%(변수) 이상 올랐음 청산 20개(변수)봉 가운데 최고가 대비 현 종가가 10%이상 내렸음 3. 진입 20개 봉 동안 5개 봉 내에 20개 봉 동안의 고점을 돌파하는 모습이 두번 이상 나타났을 때 진입, 상승 하락률은 상관없으나 5개봉 이내에 무조건 20봉 동안의 고점을 돌파해야 함. 청산 진입의 정확히 반대로 4 진입 만약 40개봉 최고가 돌파한 뒤 10개봉 이내에 최고가 -ATR*3을 하향 돌파하지 않았거나 최저가가 10개봉 이내에 3회 이상 상승했을 때 진입 매도 최고가-ATR*3 5. 진입 40개봉 최고가 돌파시 청산 진입직전 10개봉 최저가 대비 40개봉 최고가 피보나치비율 0.5를 주가가 하향돌파시 청산 6. 2 진입 20개(변수) 봉 가운데 최저가대비 현 종가가 10%(변수) 이상 올랐음 청산 진입 시작봉의 저점을 피보나치비율 저점으로 잡고 진입시작봉을 시작봉으로 봤을 때 이후 20개봉 최고가를 고점으로 잡은 뒤 저가가 50% 이상을 하향돌파하면 청산 .(꼭 피보나치 는 아니어도 되고 처음 진입시점 대비 고점 가격을 토대로 비율로 만들어 주셔도 상관없습니다.)
프로필 이미지
잡다백수
2017-09-03
136
글번호 112458
시스템
답변완료

눌림목 종목 검색식 문의드립니다.

항상 빠르고 친절하신 답변 고맙습니다. 기존에 등록된 자료중 눌림목 검색식이 있어 사용해 보려했으나 오류가 나서 문의드립니다. # 눌림목 이후 상승하는 종목을 검색하는 식 # 검색에 필요한 최소기간: 61 Var: Formula0(0); if ma(C,5) > ma(C[1],5) && ma(C[1],5) <= ma(C[2],5) && ma(C,5) > ma(C,20) && ma(C[1],5) >= ma(C[1],20) && C>ma(C,5) && ma(C,5) > ma(C,60) && ma(C,60) > ma(C[1],60) && accumn(ma(C,5) > ma(C,20) && ma(C[1],5) <= ma(C[1],20),20) >=1 then var1 = 1; else var1 = 0; Find(var1);
프로필 이미지
민기삼촌
2017-09-02
201
글번호 112457
검색
답변완료

부탁 드립니다.

다음 수식에서 정배열이 시작되고 그 구간에서 최고점과 최저점 틱수 차이를 역배열이 시작되고 그 구간에서 최고점과 최저점 틱수 차이를 적당한 위치에 TEXT 로 나타 내고 싶습니다. 미리 감사 드립니다. var1 = ma(C,10); var2 = ma(C,20); var3 = ma(C,40); var4 = ma(C,60); //정배열 if var1 > var2 and var2 > var3 and var3 > var4 Then{ plot1(99999999,"L1"); plot2(0,"L2");} //역배열 if var1 < var2 and var2 < var3 and var3 < var4 Then{ plot1(0,"L1"); plot2(999999999,"L2");}
프로필 이미지
yes
2017-09-02
141
글번호 112456
지표