커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

문의 드립니다.

같은 때에 중복이 아니고 아래수식(2개수식)들이 60분봉차트(하루7개)중 2개의 수식이 다 뜨면 검색식에 나오도록 하고 싶습니다. 죄송합니다.^^ input : period(5),shortperiod(9),midperiod(26),longPeriod(52); var : M1(0),M2(0),MM(0); var : P1(0),P2(0),nn(0); M1=((6*Dayclose())+(5*dayclose(1))+(4*dayclose(2))+(3*dayclose(3))+(2*dayclose(4))+(1*dayclose(5)))/21; M2=((12*Dayclose())+(11*dayclose(1))+(10*dayclose(2))+(9*dayclose(3))+(8*dayclose(4))+(7*dayclose(5))+(6*dayclose(6))+(5*dayclose(7))+(4*dayclose(8))+(3*dayclose(9))+(2*dayclose(10))+(1*dayclose(11)))/78; MM=ema(M1-M2,3); Condition1 = MM>MM[1] && MM[1]<MM[2] && C > highest(C, Period)[1] && C >= (highest(high[midPeriod-1],shortPeriod)+lowest(low[midPeriod-1],shortPeriod)+highest(high[midPeriod-1],midPeriod)+lowest(low[midPeriod-1],midPeriod))/4 && C >= (highest(high[midPeriod-1],longPeriod)+lowest(low[midPeriod-1],longPeriod))/2 ; P1=((12*Dayclose())+ (11*dayclose(1))+(10*dayclose(2))+(9*dayclose(3))+(8*dayclose(4))+(7*dayclose(5))+(6*dayclose(6))+(5*dayclose(7))+(4*dayclose(8))+(3*dayclose(9))+(2*dayclose(10))+(1*dayclose(11)))/78; P2=((26*Dayclose())+ (25*dayclose(1))+(24*dayclose(2))+(23*dayclose(3))+(22*dayclose(4))+(21*dayclose(5))+(20*dayclose(6))+(19*dayclose(7))+(18*dayclose(8))+(17*dayclose(9))+(16*dayclose(10))+(15*dayclose(11)) +(14*dayclose(12))+(13*dayclose(13))+(12*dayclose(14))+(11*dayclose(15))+(10*dayclose(16))+(9*dayclose(17))+(8*dayclose(18))+(7*dayclose(19))+(6*dayclose(20))+(5*dayclose(21))+(4*dayclose(22))+(3*dayclose(23))+(2*dayclose(24))+(1*dayclose(25)))/351; nn=ema(P1-P2,3); Condition2 = nn>nn[1] && nn[1]<nn[2]; if Condition1 == true and Condition2 == true and v >= 200000 Then find(1);
프로필 이미지
billiard
2020-02-21
396
글번호 136218
검색
답변완료

부탁드립니다

수고하십니다 아래수식 에서 1,(var1,var2업이면),양봉이면시가에,음봉이면종가에 빨간선, 2.(var1,var2다운이면),양봉이면종가에,음봉이면시가에 청색선,수식수정 부탁드립니다 **(plot1 한선으로만 표시 부탁드립니다)** var1 = ma(c,10); var2 = ma(c,20); if crossup(var1,var2) or CrossDown(var1,var2) Then value1 = C; plot1(value1,"10,20",iff(value1 == c,RED,BLUE));
프로필 이미지
파생돌이
2020-02-21
310
글번호 136209
지표
답변완료

수식 부탁드립니다

항상도움주신데 대하여 감사드립니다 첨부파일 1번과같이 60/70/80/90/100/110/120/130/140/150/160틱 동그라미친것과같이 "모두상승"시 적색선 모두 "하락"시 파란선으로 상승하락을 이평선으로 표현하고자 합니다. 단 한곳이 일치되지않으면 녹색선 으로 표현 되도록 부탁드립니다' 틱추가가 가능하도록 부탁드립니다 좋은하루 되세요 수고하시기 바랍니다
프로필 이미지
매일수익감사
2020-02-21
365
글번호 136208
지표
답변완료

안녕하세요

study("EMES", shorttitle="EMA", overlay=true, precision=3) src=input(hl2, title="Source") fl=input(.5, title="Fast Limit") sl=input(.05, title="Slow Limit") sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0 dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54) q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54) i1 = nz(dt[3]) jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54) jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54) i2_ = i1 - jq q2_ = q1 + jI i2 = .2*i2_ + .8*nz(i2[1]) q2 = .2*q2_ + .8*nz(q2[1]) re_ = i2*nz(i2[1]) + q2*nz(q2[1]) im_ = i2*nz(q2[1]) - q2*nz(i2[1]) re = .2*re_ + .8*nz(re[1]) im = .2*im_ + .8*nz(im[1]) p1 = iff(im!=0 and re!=0, 360/atan(im/re), nz(p[1])) p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1)) p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2)) p = .2*p3 + .8*nz(p3[1]) spp = .33*p + .67*nz(spp[1]) phase = atan(q1 / i1) dphase_ = nz(phase[1]) - phase dphase = iff(dphase_< 1, 1, dphase_) alpha_ = fl / dphase alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_)) mama = alpha*src + (1 - alpha)*nz(mama[1]) fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1]) pa=input(false, title="Mark crossover points") plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers") fr=input(false, title="Fill MAMA/FAMA Region") duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL") mamal=plot(mama, title="MAMA", color=red, linewidth=2) famal=plot(fama, title="FAMA", color=green, linewidth=2) fill(duml, mamal, red, transp=70, title="NegativeFill") fill(duml, famal, green, transp=70, title="PositiveFill") ebc=input(false, title="Enable Bar colors") bc=mama>fama?lime:red barcolor(ebc?bc:na) 매번 부탁드리게 되어 죄송하고 감사합니다. 예스랭귀지로 변환 문의드립니다. Fill region이 구현이 예스에서 가능할지 모르겠으나 가능하다면 포함시켜주시면 감사드리겠습니다.
프로필 이미지
물고기
2020-02-21
408
글번호 136202
지표
답변완료

부탁합니다

input : g(13),r(25),s(2); var1 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/ (0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)); plot1(var1); plot2(40); plot3(-40); 위 지표를 상승, 하락을 하나의 선으로 색상으로 표현할수 있게 부탁합니다.
프로필 이미지
as8282
2020-02-21
298
글번호 136200
지표
답변완료

66148 추가 답변요

66148에 대한 추가답변 부탁드려요
프로필 이미지
장안퀙쿠르드
2020-02-21
272
글번호 136199
시스템
답변완료

안녕하세요

study(title="T", shorttitle="T", overlay=true) length = input(title="Length", type=integer, defval=5) factor = input(title="Factor", type=float, minval=0, maxval=1, defval=0.7) highlightMovements = input(title="Highlight Movements ?", type=bool, defval=true) src = input(title="Source", type=source, defval=close) gd(src, length) => ema(src, length) * (1 + factor) - ema(ema(src, length), length) * factor t3 = gd(gd(gd(src, length), length), length) t3Color = highlightMovements ? (t3 > t3[1] ? green : red) : #6d1e7f plot(t3, title="T3", linewidth=2, color=t3Color, transp=0) 예스트레이더 수식으로 변경 문의드립니다. ------------------------------------------------------------------------- study("TFactor", shorttitle="B") length=input(15) bt = input( 100, title="Buy Trigger") st = input( -100, title="Sell Trigger") markCrossovers=input(false, type=bool) prev(s,i) => y=abs(round(i)) s[y] calc_ttf( periods ) => bp = highest( high, periods ) - prev( lowest( low, periods ), - periods ) sp = prev( highest( high, periods ), - periods ) - lowest( low, periods ) 100 * (bp - sp) / ( 0.5*( bp + sp) ) ttf = calc_ttf( length ) plot(0, color=gray) btl=plot(bt, color=gray, style=3) stl=plot(st, color=gray, style=3) long_f = cross( ttf, st ) and rising(ttf, 1) short_f = cross(ttf, bt ) and falling(ttf, 1) bs = (ttf > bt) ? bt : ttf us = (ttf < st) ? st : ttf bl=plot(bs, color=white) ul=plot(us, color=white) tl=plot(ttf, title="TTF", color=markCrossovers ? (long_f ? green : short_f ? red : blue) : maroon, linewidth=2) fill(bl, tl, color=green, transp=75) fill(ul, tl, color=red, transp=75) 예스랭귀지로 변환 문의드립니다. 감사합니다.
프로필 이미지
물고기
2020-02-21
330
글번호 136198
지표

바다사당 님에 의해서 삭제되었습니다.

프로필 이미지
바다사당
2020-02-21
15
글번호 136197
지표
답변완료

DATA2의 기술적지표 적용방법 문의드립니다.

안녕하세요. 1) DATA2에 DATA1과 같은종목의 30분봉을 적용하고 DATA2의 기술적 지표를 이용해 매수와 매도 신호를 얻고자 합니다. 아래와같이 수식을 작성하였는데 매수와 매도 시점이 의도한바와 매우 다르게 나오고 있어 문의드립니다. DATA2를 적용한 기술적 지표의 정의가 맞는지 확인부탁드립니다. Input : Period1(14),Period2(5),SHORT(3),LONG(10); var : CCIv(0),CCIsig(0),XCCIv(0),XCCIsig(0),GET(0); CCIv = CCI(Period1); CCIsig = ema(CCIv,Period2); XCCIv = DATA2(CCI(Period1)); XCCIsig = data2(ema(XCCIv,Period2)); 2) 10틱 수익시 익절하고자 할때 수식을 부탁드립니다. 3) 조건만족시 매도포지션 청산후 매수포지션 진입하는 수식을 작성했습니다만 에러가 나고 있습니다. 수정을 부탁드립니다. IF CROSSUP(XCCIV,XCCISIG) AND CCIV<-100 THEN EXITSHORT() AND BUY(); 감사합니다.
프로필 이미지
flextone
2020-02-21
357
글번호 136196
시스템