커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1507
글번호 230811
답변완료
수식 부탁드립니다.
R=RSI(7);wma1 = wavg(C, len);// TEMA 계산ema1_1 = eavg(wma1, len);ema1_2 = eavg(ema1_1, len); ema1_3 = eavg(ema1_2, len);TEWMA1 = 3 * ema1_1 - 3 * ema1_2 + ema1_3;len2 = len * multi;wma2 = wavg(C, len2);ema2_1 = eavg(wma2, len2);ema2_2 = eavg(ema2_1, len2);ema2_3 = eavg(ema2_2, len2);TEWMA2 = 3 * ema2_1 - 3 * ema2_2 + ema2_3;TEWMA = (TEWMA1 + TEWMA2) / 2;최종신호=TEWMA > TEWMA(1) && IsRsiCrossUp70 = CrossUp(R, 70)&&Vcond = V > (Avg(V, 기간) * 비율);AmtCond = 거래대금 > (Avg(거래대금, 기간) * 비율)&&최종신호 && !최종신호(1)변수len 120 multi 3 기간 480 비율 6항상 감사드립니다. 2026년에도 항상 건승하십시요..
2025-12-23
254
글번호 229319
답변완료
지표 부탁 드립니다
//@version=6indicator("Williams Fractals — Goldilocks Edition [NPR21]", shorttitle="Fractals Goldilocks [NPR21]", overlay=true, precision=0, format=format.price)// ===================== Inputs =====================n = input.int(title="Periods (n)", defval=2, minval=2)showLabels = input.bool(title="Show BUY/SELL Labels", defval=true)showShapes = input.bool(title="Show Shapes", defval=true)// Offset: 25 is the middle ground between 'too short' and 'too wide'buyOffsetTicks = input.int(title="BUY offset (ticks)", defval=25, minval=0)sellOffsetTicks = input.int(title="SELL offset (ticks)", defval=25, minval=0)// High-contrast colorsbuyLabelBgColor = input.color(title="BUY label background", defval=color.rgb(0, 50, 45)) sellLabelBgColor = input.color(title="SELL label background", defval=color.rgb(80, 0, 0)) buyTextColor = input.color(title="BUY text color", defval=color.white) sellTextColor = input.color(title="SELL text color", defval=color.yellow) labelSizeOpt = input.string(title="Label size", defval="normal", options=["tiny","small","normal","large","huge"])lblSize = labelSizeOpt == "tiny" ? size.tiny : labelSizeOpt == "small" ? size.small : labelSizeOpt == "normal" ? size.normal : labelSizeOpt == "large" ? size.large : size.huge// ===================== Fractals Logic =====================upPivot = ta.pivothigh(high, n, n)downPivot = ta.pivotlow(low, n, n)upFractal = not na(upPivot)downFractal = not na(downPivot)// ===================== Labels =====================// Removed extra character spacing for better readabilityif showLabels and downFractal label.new(bar_index - n, low[n] - buyOffsetTicks * syminfo.mintick, "BUY", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_up, color=buyLabelBgColor, textcolor=buyTextColor, size=lblSize)if showLabels and upFractal label.new(bar_index - n, high[n] + sellOffsetTicks * syminfo.mintick, "SELL", xloc=xloc.bar_index, yloc=yloc.price, style=label.style_label_down, color=sellLabelBgColor, textcolor=sellTextColor, size=lblSize)// ===================== The "Long V" Extensions =====================plotshape(showLabels and upFractal, title="Long V Sell", style=shape.arrowdown, location=location.abovebar, offset=-n, color=sellLabelBgColor, size=size.normal)plotshape(showLabels and downFractal, title="Long V Buy", style=shape.arrowup, location=location.belowbar, offset=-n, color=buyLabelBgColor, size=size.normal)
2025-12-23
338
글번호 229318
답변완료
수식 문의
안녕하세요?일봉에 적용할 수식입니다.무포지션이고 매수조건이 여전히 유지중이고 Highest(C, m(8)) 대비 k(10)% 이상 떨어졌고, 양봉이면 매수 진입. 진입 후 st(7)% 손절 또는 tp(8)% 익절, 또는 진입 후 n(5)일이 지나면 청산.매도 진입은 대칭적으로.테스트용으로: 매수조건 = 5, 20 골든크로스 매도조건 = 5,20 데드크로스감사합니다.
2025-12-23
254
글번호 229317
답변완료
수정문의
input : length(26), period(25);var : a(0),b(0),up(False);var : scr(0), M1(0), M2(0), base(0), diff(0);scr = (h+l)/2;M1 = Ema(C, Period);M2 = Ema(M1, Period);Base = Ema(M2, Period);diff = Base - Base(2);a = wma(2*wma(scr,length/2) - wma(scr,length), floor(sqrt(length)));b = wma(wma(close,(length/2)/3)*3 - wma(close,(length/2)/2) - wma(close,(length/2)),(length/2));up = b > a and b[1] < a[1];if UP && UP[1] == False && diff>0 && a<b && b<base && O<base Then Find(1);좀 응용해서 첨부파일 한화오션차트의 2025.7.11과 같은 것을 검색하려고((2025.5.28, 10.2같은 신호는 제외하고)위 수식을 만들어봤는데 검증에서 diff = Base - Base(2);줄에 대해 함수만이 값을 가질 수 있다고 나옵니다.수정부탁드립니다.
2025-12-23
304
글번호 229312
답변완료
수식문의
아래 수식을 예스수식으로 만들어봐도 도저히 안되어 변환요청드립니다.a = wavg(2*wavg(scr,length/2) - wavg(scr,length), floor(sqrt(length)));b = wavg(wavg(close,(length/2)/3)*3 - wavg(close,(length/2)/2) - wavg(close,(length/2)),(length/2));up = b > a and b(1) < a(1);UP && !UP(1)length 26,scr (h+l)/2
2025-12-23
151
글번호 229308
답변완료
문의드립니다.
아래 식에서 볼린져 밴드 20. 2를 추가해서 매수 경우 볼린져 하단선을 닿거나 돌파 한 후에 TRIX 0선 아래이고 골든 크로스 발생 할 때 매수 (피라미딩 방식)청산은 제가 직접 할 것입니다.매도 경우 볼린져 상단선을 닿거나 돌파 한 후에 TRIX 0선 위이고 데드 크로스 발생 할 때 매도 (피라미딩 방식)청산은 제가 직접 할 것입니다.부탁드립니다.Input : Period(5), sigPeriod(3);var : TRIXv(0),TRIXs(0);TRIXv = TRIX(Period);TRIXs = ema(TRIXv,sigPeriod);if CrossUp(TRIXv,TRIXs) and TRIXv < 0 Then Buy("B",OnClose,def);Input : Period(5), sigPeriod(3);var : TRIXv(0),TRIXs(0);TRIXv = TRIX(Period);TRIXs = ema(TRIXv,sigPeriod);if CrossDown(TRIXv,TRIXs) and TRIXv > 0 Then Sell("S",OnClose,def)
2025-12-23
140
글번호 229291
답변완료
수식 작성 요청
아래 조건을 만족하는 수식작성 부탁드립니다. <매수조건>- 1차 매수신호당일 시가가 전일종가대비 -4% ~ 4%이내일 때 금액기준으로 100만원 매수(매수 시간은 시가 확인하자마자 즉시로 하고 싶습니다)- 2차 매수신호손절 후 당일 시가를 재돌파할 경우(만약 1차 진입 후 손절이 없다면 2차 진입은 하지 않습니다. 또 1차 진입 후 수익 청산된 경우에도 진입하지 않습니다. 끝으로 2차 진입 후 손절이나 수익청산이 된 경우에도 다시 진입하지 않습니다. 즉, 하루 최대 2번만 매수합니다). <청산조건>- 수익청산신호1차든 2차든 매수 후 5%이상 수익일 경우 청산합니다<손절조건>- 손절신호손절은 1차든 2차든 매수 후 -4%일때 손절합니다. <기타 당일 청산>- 당일청산매수 후 3시15분까지 청산이나 손절이 되지 않아 포지션이 존재한다면 3시15분에 청산합니다.
2025-12-23
222
글번호 229290
답변완료
추세선 전저
박스 하단 부분을 가로선으로 표시. (전저 -0.5 에 가로선)For j = 0 To 19 이 수식은 어떤 용도이며, 꼭 필요한가요? 감사합니다.input : Period(10);Var:j(0),T(0),TL(0),box1(0),box2(0);Var: date11(0),date12(0),time11(0),time12(0), date21(0),date22(0),time21(0),time22(0); Array: HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);Plot1(value12,"value12",IFf(t==1,Red,Blue));For j = 0 To 19{ HiBar[j] = HiBar[j] + 1; LoBar[j] = LoBar[j] + 1;}if crossup(H,highest(H,Period)[1]) and (T == 0 or (T==-1 and H >= Loval[0]+0.8)) Then T = 1;if CrossDown(L,Lowest(L,Period)[1]) and (T == 0 or (T==1 and L <= Hival[0]-0.8)) Then T = -1;If T == -1 Then{ If T[1] != -1 Then { For j = 18 DownTo 0 { LoVal[j+1] = LoVal[j]; LoBar[j+1] = LoBar[j]; } LoVal[0] = L; LoBar[0] = 0; date11 = date[HiBar[0]]; time11 = stime[HiBar[0]]; Value11 = HiVal[0]; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; box1 = Box_New(sdate,stime,LoVal[0]-0.25,NextBarSdate,NextBarStime,LoVal[0]-0.50); Box_SetColor(box1,Yellow); Box_SetFill(box1,true,90); box2 = box1[1]; Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50); } If LoVal[0] > L Then { LoVal[0] = L; LoBar[0] = 0; date12 = date[LoBar[0]]; time12 = stime[LoBar[0]]; Value12 = LoVal[0]; Box_SetBegin(box1,sDate,sTime,LoVal[0]-0.25); Box_SetEnd(box2,Sdate,Stime,LoVal[1]-0.50); } } Box_SetEnd(box1,NextBarSdate,NextBarStime,LoVal[0]-0.50); If T == 1 Then{ If T[1] != 1 Then { For j = 18 DownTo 0 { HiVal[j+1] = HiVal[j]; HiBar[j+1] = HiBar[j]; } HiVal[0] = H; HiBar[0] = 0; date11 = date[LoBar[0]]; time11 = stime[LoBar[0]]; Value11 = LoVal[0]; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; } If HiVal[0] < H Then { HiVal[0] = H; HiBar[0] = 0; date12 = date[HiBar[0]]; time12 = stime[HiBar[0]]; Value12 = HiVal[0]; } }
2025-12-23
262
글번호 229278
답변완료
종목검색식 부탁드립니다
1. sigma 보조지표에서, sigma 60 이 0선 을 돌파할때 종목검색식 부탁드립니다. (지표변수 60)
2025-12-23
137
글번호 229277