커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

MACD 12 26 9 골든 크로스 매수 진입 손절은 20틱, 익절은 20틱 으로 한다. MACD 12 26 9 데드 크로스 매도 진입 손절은 20틱, 익절은 20틱 으로 한다. 각각 분리해서 부탁드립니다.
프로필 이미지
선물대장
2020-04-20
502
글번호 138127
시스템
답변완료

다시 부탁 드립니다

input : StartTime(90000),EndTime(120000); Input: AccelFactor(0.02); Variables: ParabolicValue(0); var : Tcond(false); if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then Tcond = true; if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False; ParabolicValue = SAR(AccelFactor, 0.2); If Tcond == true and High <= ParabolicValue Then Buy ("Pblc", AtStop, ParabolicValue); SetStopEndofday(EndTime); 위수식을 선물 매수매도 진입 할수있게 부탁드립니다
프로필 이미지
거암
2020-04-20
549
글번호 138126
시스템
답변완료

67089 재문의

1개의 봉 거래량을 세분해서 합치려는 방식이 아닙니다. 이해를 돕기위해 그림을 첨부합니다. <원본 글> 최근 n개의 봉을 기준으로 n개의 봉의 고가~저가 범위에서 가장 거래량이 많았던 가격을 나타내주는 지표를 만들고 싶습니다. n개의 봉의 최고가~최저가 범위를 세로축으로 하고 해당가격범위에 해당하는 봉들의 거래량을 합산하여 합산된 거래량이 가장 많은 가격이 선그래프로 표시되었으면 좋겠습니다. <첨부 그림 설명> 예를들어 크루드오일 종목에서 봉 5개를 기준으로 보고 봉5개의 최고가가 21.09 최저가가 21.01 이라면, 세로축은 21.01~21.09 으로 되는것이고, 가격대별로 해당가격에 걸치는 봉들의 거래량을 합해보면 21.01 -> 10 = 10 21.02 -> 10 = 10 21.03 -> 10 + 20 = 30 21.04 -> 20 = 20 21.05 -> 20 + 15 + 5 = 40 21.06 -> 15 + 5 = 20 21.07 -> 15 + 30 + 5 = 50(최대) 21.08 -> 30 = 30 20.09 -> 30 = 30 이런식으로 계산이 되고, 현재봉에서의 거래량 지표는 거래량합계 최고치 '50' 에 해당하는 가격인 21.07을 가리키게 됩니다. 만약 거래량합계가 같은 가격대가 나온다면, 그중 큰 가격을 표시하면 됩니다. 해당 내용의 지표 구현이 가능하다면 도움을 요청합니다.
프로필 이미지
노인
2020-04-20
617
글번호 138125
지표
답변완료

시스템 수식전환

다음 수식을 예스 시스템 수식전환 부탁드려요. 매수진입 T=tsf valuewhen(1,T<T(1),저점) Crossup(C,저점) 매도진입 T=tsf valuewhen(1,T>T(1),고점) Crossup(C,고점) 기간 20 고점 T 저점 T
프로필 이미지
장안퀙쿠르드
2020-04-20
581
글번호 138124
시스템
답변완료

문의 드립니다.

안녕하세요 항상 빠른 답변 감사드립니다. 2개의 종목검색식을 희망 합니다. 장중 5분봉에서 검색하고자 합니다. [1] 검색 실시간 해당 종목만 검색 1, 거래량 순위 상위 100 2, 거래량 회전율 상위 100 3. 거래대금 상위 100 4. 5분봉상 시초가 상승 or 하락후 시초가 돌파, 이후 눌림(5이평선과 20이평선이 같거나 수렴) 5. 시초가는 5% 갭상승 이하 종목만 6, 거래량 오름순으로 ps. 4번의 경우는 구현이 가능한 범위내에서 식을 구현해 주셨으면 합니다. [2] 장마감이후 검색시 장중에 한번이라도 시초가 돌파된 종목 검색 [1]조건에 추가하여 장마감이후 장중에 시초가를 돌파했던 종목을 따로 검색 가능한 식을 요청 드립니다. 가령 종가가 시초가 아래에 위치 하더라도 장중에 시초가를 돌파했던 종목을 검색하고자 합니다. 그럼 좋은 하루 되세요^^
프로필 이미지
느와르
2020-04-21
588
글번호 138116
종목검색

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

프로필 이미지
새벽에
2020-04-21
8
글번호 138113
지표

물고기 님에 의해서 삭제되었습니다.

프로필 이미지
물고기
2020-04-20
0
글번호 138110
지표
답변완료

문의드립니다.

study("ES", shorttitle="E", overlay=false, precision=3) src=input(hl2, title="Source") a=input(.07, title="Alpha") co=input(8.0, title="Cutoff") pi=4*atan(1.0), dtr=pi/180.0, rtd=1/dtr s = (src + 2*src[1] + 2*src[2] + src[3])/6.0 c = nz(((1 - 0.5*a)*(1 - 0.5*a)*(s - 2*nz(s[1]) + nz(s[2])) + 2*(1-a)*nz(c[1]) - (1 - a)*(1-a)*nz(c[2])), (src - 2*src[1] + src[2])/4.0) q1 = (.0962*c + 0.5769*nz(c[2]) - 0.5769*nz(c[4]) - .0962*nz(c[6]))*(0.5+.08*nz(ip[1])) I1 = nz(c[3]) dp_ = iff(q1 != 0 and q1[1] != 0, (I1/q1 - nz(I1[1])/nz(q1[1])) / (1 + I1*nz(I1[1])/(q1*nz(q1[1]))),0) dp = iff(dp_ < 0.1, 0.1, iff(dp_ > 1.1, 1.1, dp_)) med(x,y,z) => (x+y+z) - min(x,min(y,z)) - max(x,max(y,z)) md = med(dp,dp[1], med(dp[2], dp[3], dp[4])) //dc = iff(md == 0, 15, 6.28318 / md + 0.5) dc = iff(md == 0, 15, 2*pi / md + 0.5) ip = .33*dc + .67*nz(ip[1]) p = .15*ip + .85*nz(p[1]) pr=round(abs(p-1)) vx0=0 vx1=pr==1?(src - src[1]):vx0 vx2=pr==2?(src - src[2]):vx1 vx3=pr==3?(src - src[3]):vx2 vx4=pr==4?(src - src[4]):vx3 vx5=pr==5?(src - src[5]):vx4 vx6=pr==6?(src - src[6]):vx5 vx7=pr==7?(src - src[7]):vx6 vx8=pr==8?(src - src[8]):vx7 vx9=pr==9?(src - src[9]):vx8 vx10=pr==10?(src - src[10]):vx9 vx11=pr==11?(src - src[11]):vx10 vx12=pr==12?(src - src[12]):vx11 vx13=pr==13?(src - src[13]):vx12 vx14=pr==14?(src - src[14]):vx13 vx15=pr==15?(src - src[15]):vx14 vx16=pr==16?(src - src[16]):vx15 vx17=pr==17?(src - src[17]):vx16 vx18=pr==18?(src - src[18]):vx17 vx19=pr==19?(src - src[19]):vx18 vx20=pr==20?(src - src[20]):vx19 vx21=pr==21?(src - src[21]):vx20 vx22=pr==22?(src - src[22]):vx21 vx23=pr==23?(src - src[23]):vx22 vx24=pr==24?(src - src[24]):vx23 vx25=pr==25?(src - src[25]):vx24 vx26=pr==26?(src - src[26]):vx25 vx27=pr==27?(src - src[27]):vx26 vx28=pr==28?(src - src[28]):vx27 vx29=pr==29?(src - src[29]):vx28 vx30=pr==30?(src - src[30]):vx29 vx31=pr==31?(src - src[31]):vx30 vx32=pr==32?(src - src[32]):vx31 vx33=pr==33?(src - src[33]):vx32 vx34=pr==34?(src - src[34]):vx33 vx35=pr==35?(src - src[35]):vx34 vx36=pr==36?(src - src[36]):vx35 vx37=pr==37?(src - src[37]):vx36 vx38=pr==38?(src - src[38]):vx37 vx39=pr==39?(src - src[39]):vx38 vx40=pr==40?(src - src[40]):vx39 vx41=pr==41?(src - src[41]):vx40 vx42=pr==42?(src - src[42]):vx41 vx43=pr==43?(src - src[43]):vx42 vx44=pr==44?(src - src[44]):vx43 vx45=pr==45?(src - src[45]):vx44 vx46=pr==46?(src - src[46]):vx45 vx47=pr==47?(src - src[47]):vx46 vx48=pr==48?(src - src[48]):vx47 vx49=pr==49?(src - src[49]):vx48 vx50=pr==50?(src - src[50]):vx49 vx51=pr==51?(src - src[51]):vx50 vx52=pr==52?(src - src[52]):vx51 vx53=pr==53?(src - src[53]):vx52 vx54=pr==54?(src - src[54]):vx53 vx55=pr==55?(src - src[55]):vx54 vx56=pr==56?(src - src[56]):vx55 vx57=pr==57?(src - src[57]):vx56 vx58=pr==58?(src - src[58]):vx57 vx59=pr==59?(src - src[59]):vx58 vx60=pr==60?(src - src[60]):vx59 vx61=pr==61?(src - src[61]):vx60 vx62=pr==62?(src - src[62]):vx61 vx63=pr==63?(src - src[63]):vx62 vx64=pr==64?(src - src[64]):vx63 vx65=pr==65?(src - src[65]):vx64 vx66=pr==66?(src - src[66]):vx65 vx67=pr==67?(src - src[67]):vx66 vx68=pr==68?(src - src[68]):vx67 vx69=pr==69?(src - src[69]):vx68 vx70=pr==70?(src - src[70]):vx69 vx71=pr==71?(src - src[71]):vx70 vx72=pr==72?(src - src[72]):vx71 vx73=pr==73?(src - src[73]):vx72 vx74=pr==74?(src - src[74]):vx73 vx75=pr==75?(src - src[75]):vx74 v1=vx75 a1=exp(-pi/co) b1=2.0*a1*cos((1.738*180/co)*dtr) c1=a1*a1 coef2=b1+c1 coef3= -(c1+b1*c1) coef4=c1*c1 coef1=1-coef2-coef3-coef4 f3=nz(coef1*v1+coef2*nz(f3[1])+coef3*nz(f3[2])+coef4*nz(f3[3]), v1) ml=plot(0, color=gray, title="ZeroLine") pl=plot(f3>0?f3:0,title="DummyP",color=gray, linewidth=0, style=circles) nl=plot(f3<0?f3:0,title="DummyN",color=gray, linewidth=0, style=circles) plot(f3, title="Ehlers SAMI", color=black, linewidth=2) fill(pl, ml, green, title="PositiveFill", transp=70), fill(nl, ml, red, title="NegativeFill", transp=70) ebc=input(false, title="Enable bar colors") bc=ebc?(f3>0?f3>nz(f3[1])?lime:green:f3<f3[1]?red:orange):na barcolor(bc) 긴 수식 문의드려서 죄송합니다. 변환 문의드립니다. 감사합니다.
프로필 이미지
물고기
2020-04-20
640
글번호 138109
지표
답변완료

수식수정부탁드립니다

input : 카운팅시작일자(20200420), 카운팅시작시간(070000); Input : 기준거래량(10000); var : 거래량(0), UDV(0), 거래량색(0), UDV색(0),Tcond(false); if sdate >= 카운팅시작일자 and stime >= 카운팅시작시간 Then Tcond = true; if Tcond == true Then { if (sdate != sdate[1] and stime >= 카운팅시작시간) or (sdate == sdate[1] and stime >= 카운팅시작시간 and stime[1] < 카운팅시작시간) Then { UDV = Upvol - DownVol; Plot1(0, "횡보구간", RGB(251, 251, 0), def, 30); if UDV > 0 then { 거래량 = V; 거래량색 = RGB(255, 128, 255); //연핑 UDV색 = RGB(170, 0, 0); //밤색 } if UDV <= 0 then { 거래량 = -V; 거래량색 = RGB(104, 206, 255); //연청 UDV색 = BLACK; } plot11(거래량, "거래량", 거래량색); plot12(UDV, "UDV", UDV색, def, 0); //==== 대량 거래 표시 if Tcond == true then { if bdate != bdate[1] Then if V >= 기준거래량-100 and UDV > 0 then plot21(기준거래량, "기준거래량-상위", RGB(206, 0, 103), def, 1); if V >= 기준거래량-100 and UDV <= 0 then plot22(-기준거래량, "기준거래량-하위", BLACK, def, 1); if Tcond == true then { if bdate != bdate[1] Then var : 봉수(0), 최대봉(0), 점크기(0); if dayindex+1 < 100 Then 봉수 = dayindex+1; 점크기 = v/600; If 점크기 < 1 Then 점크기 = 3; If 점크기 > 20 Then 점크기 = 20; if stime >= 070000 and stime <= 060000 and highest(V, 봉수)[1] <= V Then { if UDV > 0 then Plot61(V/2, "■최대거래터짐", black, def, 점크기); if UDV <= 0 then Plot62(-V/2, "■최대거래터짐", black, def, 점크기); playsound("C:₩____Mysound₩거래량당일 최대치 갱신.wav"); } if Tcond == true then { if bdate != bdate[1] Then Input : U점크기(1), UDV최대(2000), U점위치(700); Var : 출력위치(0), UDV대량색(0); if UDV >= UDV최대 then { 출력위치 = -U점위치; UDV대량색 = RED; } if UDV <= -UDV최대 then { 출력위치 = U점위치; UDV대량색 = BLUE; } if Tcond == true then { if bdate != bdate[1] Then if stime >= 070000 and stime <= 060000 and abs(UDV) >= UDV최대 then Plot71(출력위치, "●UDV 대량", UDV대량색, def, U점크기); }}}}}} 1. 상기수식 카운트일자 사용가능 2. 수식전체를 검토 부탁드립니다. 감사합니다
프로필 이미지
수색대대
2020-04-20
573
글번호 138107
지표