커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

종목검색식 요청드립니다.

수정하여 재요청 드립니다. 죄송합니다. ㅠㅠ 아래키움수식라인을 돌파하는 종목을 검색하는 검색식을 만들고 싶습니다. 도움 부탁드립니다.a=bbandsup(20,2);b=eavg(a,52);d=bbandsup(60,2);e=eavg(d,52);f=(b+e)/2;g=(c-o)/5;if(c>o,(f-g),f)
프로필 이미지
onlypsn
2026-02-24
56
글번호 230751
종목검색
답변완료

종목검색식 요청드립니다.

아래키움수식라인을 돌파하는 종목을 검색하는 검색식을 만들고 싶습니다. 도움 부탁드립니다.a=(20,2,10);b=eavg(a,52);d=bbandsup(60,2,7);e=eavg(d,52);f=(b+e)/2;g=(c-o)/5;if(c>o,(f-g),f)
프로필 이미지
onlypsn
2026-02-24
62
글번호 230741
종목검색
답변완료

감사합니다

A 캔들연속발생:[일]0봉전 1봉 연속 양봉발생B 신고가:[일]0봉전 고가가 5봉중 신고가C 주가등락률:[일]1봉전(중) 종가대비 0봉전 시가등락률 5.0%이하D 거래량비율:[일]5봉 평균(0봉전)거래대금대비 동일주기 5봉전 300.0%이하E 거래량비율(n봉):[일]1봉전 거래량 대비 0봉전 거래량 비율 200.0%이상F 기간내 주가변동폭:[일]0봉전까지 10봉간 최고최저폭 150.0%이하G 주가돌파:[일]1봉(전) 고가를 현재가가 상향돌파H [일]0봉전 5봉중 신고거래량I 주가비교:[일]0봉전 시가 < 0봉전 종가J 최고종가:[일]0봉전 종가가 5봉중 최고종가K [일]1봉 연속증가L 기간내 거래대금:[일]0봉전 1봉이내 거래대금(일/주:백만, 분:천원) 10000이상 1회 이상M 가격-이동평균 비교:[일]0봉전 (종가 20)이평 < 종가N 이평이격도:[일]0봉전(종가 5, 종가 20) 2%이내 근접 1회이상O 주가이평추세:[일]0봉전 (종가 20)이평 상승추세유지 1회 이상 A and B and C and D and E and F and G and H and I and J and K and L and M and N and O
프로필 이미지
나석
2026-02-24
58
글번호 230731
종목검색
답변완료

종목검색 부탁드립니다.

안녕하세요. 늦은 새해 복 많이 받으시길 바랍니다.아래 조건 검색식 부탁드립니다.1. 일봉에서1) CrossUp(C,Supertrend 20,3) 가 발생 2) 1~60봉전 CrossUp(C,Supertrend 20,1) 발생한 종목2. 120분봉에서 1) 당일내 CrossUp(C,Supertrend 20,3) 가 발생 2) 1~60봉전 CrossUp(C,Supertrend 20,1) 발생한 종목감사합니다..
프로필 이미지
다리
2026-02-24
33
글번호 230730
종목검색
답변완료

230679

230679에 추가질문 있읍니다.
프로필 이미지
ksks
2026-02-24
28
글번호 230726
종목검색

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

프로필 이미지
조민철
2026-02-24
3
글번호 230724
시스템
답변완료

AI-Weighted RSI 타주기 변환

항상 감사드립니다1.아래시스템식을 타주기에 적용하도록 변환부탁드립니다#### AI-Weighted RSI ###input : rsiLen(14);input : sigLen(20);input : learnLen(20);var : retLog(0),rsiVal(0),alpha(0),ATRV(0),atrPct(0),vol(0),volLogChg(0),y_rsi(0);var : x_ret(0),x_rsi(0),x_atrp(0),x_vchg(0),x_vol(0);retLog = log(close / iff(isnan(close[1])==true, close,close[1]));rsiVal = rsi(rsiLen);alpha = 1 / 200 ;ATRV = IFf(IsNan(ATRV[1]) == true, ema(TrueRange,200) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATRV[1])==true,0,ATRV[1]));atrPct = ATRV / close;vol = volume;volLogChg = log(vol / iff(isnan(vol[1])==true, vol,vol[1]));y_rsi = rsiVal[1];x_ret = iff(IsNan(retLog[1])==true,0,retLog[1]);x_rsi = iff(IsNan(rsiVal[1])==true,0,rsiVal[1]); x_atrp = iff(IsNan(atrPct[1])==true,0,atrPct[1]);x_vchg = iff(IsNan(volLogChg[1])==true,0,volLogChg[1]);x_vol = iff(IsNan(vol[1])==true,0,vol[1]);var1 = CoefficientR(y_rsi, x_ret, learnLen);var2 = CoefficientR(y_rsi, x_rsi, learnLen);var3 = CoefficientR(y_rsi, x_atrp, learnLen);var4 = CoefficientR(y_rsi, x_vchg, learnLen);var5 = CoefficientR(y_rsi, x_vol, learnLen);var : corrs_abs_ret(0),corrs_abs_rsi(0),corrs_abs_atrp(0),corrs_abs_vchg(0),corrs_abs_vol(0);corrs_abs_ret = abs(iff(IsNan(var1)==true,0,var1));corrs_abs_rsi = abs(iff(IsNan(var2)==true,0,var2));corrs_abs_atrp = abs(iff(IsNan(var3)==true,0,var3));corrs_abs_vchg = abs(iff(IsNan(var4)==true,0,var4));corrs_abs_vol = abs(iff(IsNan(var5)==true,0,var5));Array : corrs[5](0);corrs[0] = corrs_abs_ret;corrs[1] = corrs_abs_rsi;corrs[2] = corrs_abs_atrp;corrs[3] = corrs_abs_vchg;corrs[4] = corrs_abs_vol;var : i(0),j(0),n(0);Array : tmp[5](0),topIdx[5](0);var : maxI(0),maxV(0),vj(0),take(False);for i = 0 to 4{ tmp[i] = iff(IsNan(corrs[i])==true,0,corrs[i]); topIdx[i] = 0;}for n = 0 to 4{ maxI = 0; maxV = tmp[0]; for j = 1 to 4 { vj = tmp[j]; take = isnan(maxV) == true or (IsNan(vj) == False and vj > maxV); if take Then { maxV = vj; maxI = j; } } topIdx[n] = maxI; tmp[maxI] = nan;}var : xz_ret(0),xz_rsi(0),xz_atrp(0),xz_vchg(0),xz_vol(0);var : m1(0),s1(0),fz1(0);var : m2(0),s2(0),fz2(0);var : m3(0),s3(0),fz3(0);var : m4(0),s4(0),fz4(0);var : m5(0),s5(0),fz5(0);Array : featz[5](0);m1 = ema(x_ret, learnLen);s1 = std(x_ret, learnLen);fz1 = iff(s1 > 0 , (x_ret - m1) / s1 , 0);m2 = ema(x_rsi, learnLen);s2 = std(x_rsi, learnLen);fz2 = iff(s2 > 0 , (x_rsi - m2) / s2 , 0);m3 = ema(x_atrp, learnLen);s3 = std(x_atrp, learnLen);fz3 = iff(s3 > 0 , (x_atrp - m3) / s3 , 0);m4 = ema(x_vchg, learnLen);s4 = std(x_vchg, learnLen);fz4 = iff(s4 > 0 , (x_vchg - m4) / s4 , 0);m5 = ema(x_vol, learnLen);s5 = std(x_vol, learnLen);fz5 = iff(s5 > 0 , (x_vol - m5) / s5 , 0);xz_ret = iff(isnan(fz1) ==true,0,fz1);xz_rsi = iff(isnan(fz2) ==true,0,fz2);xz_atrp = iff(isnan(fz3) ==true,0,fz3);xz_vchg = iff(isnan(fz4) ==true,0,fz4);xz_vol = iff(isnan(fz5) ==true,0,fz5);featZ[0] = xz_ret;featZ[1] = xz_rsi;featZ[2] = xz_atrp;featZ[3] = xz_vchg;featZ[4] = xz_vol;value1 = CoefficientR(y_rsi, x_ret, learnLen);value3 = CoefficientR(y_rsi, x_atrp, learnLen);value4 = CoefficientR(y_rsi, x_vchg, learnLen);value5 = CoefficientR(y_rsi, x_vol, learnLen);var : coef_ret(0),coef_rsi(0),coef_atrp(0),coef_vchg(0),coef_vol(0);coef_ret = iff(IsNan(value1)==true,0,value1);coef_rsi = 1.0; // Hardcoded: always 1, since x_rsi == y_rsicoef_atrp = iff(IsNan(value3)==true,0,value3);coef_vchg = iff(IsNan(value4)==true,0,value4);coef_vol = iff(IsNan(value5)==true,0,value5);Array : coef[5](0);coef[0] = coef_ret;coef[1] = coef_rsi;coef[2] = coef_atrp;coef[3] = coef_vchg;coef[4] = coef_vol;var : s(0),idx(0),g(0),z(0),pred_rsi_z(0);s = 0.0;pred_rsi_z = 0;for i = 0 to 4{ idx = topIdx[i]; g = coef[idx]; z = featZ[idx]; pred_rsi_z = pred_rsi_z + (iff(isnan(g)==true,0,g) * IFf(IsNan(z)==true,0,z));}var : rsi_mean(0),rsi_std(0),pred_rsi(0);var : rsiWeight(0),ema_rsi(0);rsi_mean = ema(y_rsi, learnLen);rsi_std = std(y_rsi, learnLen);pred_rsi = iff(isnan(rsi_mean)==true,0,rsi_mean) + iff(isnan(rsi_std)==true,0,rsi_std) * pred_rsi_z;rsiWeight = max(-2, min(2, (50 - iff(isnan(pred_rsi)==true,0,pred_rsi)) / 50)) * -1;ema_rsi = ema(rsiWeight,sigLen);//종목검색 IF (rsiWeight[1]<=-0.5 OR rsiWeight<=-0.5) && CrossUP(rsiWeight,-0.5) && C>O TheN Find(1); //지표식if CrossUp(rsiWeight,ema_rsi) Then var91=0.5 ;if CrossDown(rsiWeight,ema_rsi) Then var91=-0.5 ;
프로필 이미지
조민철
2026-02-24
50
글번호 230723
시스템
답변완료

수식 부탁드립니다

// ─────────────────────────────// Inputs// ─────────────────────────────length1 = input.int(200, "Curved Trend Length", minval=1)multiplier = input.float(1.5, step=0.1, minval=0.01)prd = input.int(20, minval=1, title="Period")s1 = input.bool(true, title="Response")resp = input.int(7, minval=1)bull2 = input.color(color.lime, "Bull Line")bear2 = input.color(color.red, "Bear Line")// ─────────────────────────────// Curved Bands// ─────────────────────────────var float upperBand = 0var float lowerBand = 0var int barsSinceUpperIncrease = 0var int barsSinceLowerDecrease = 0adaptiveSize = ta.atr(length1)lengthSquared = math.pow(length1, 2)maxcloseUpper = math.max(high, na(upperBand)?close:upperBand)barsSinceUpperIncrease := close>upperBand?0:barsSinceUpperIncrease+1upperAdjustmentFactor = adaptiveSize/lengthSquared*(barsSinceUpperIncrease+1)*multiplierupperBand := maxcloseUpper - upperAdjustmentFactormincloseLower = math.min(low, na(lowerBand)?close:lowerBand)barsSinceLowerDecrease := close<lowerBand?0:barsSinceLowerDecrease+1lowerAdjustmentFactor = adaptiveSize/lengthSquared*(barsSinceLowerDecrease+1)*multiplierlowerBand := mincloseLower + lowerAdjustmentFactor// PivotUp = ta.highest(upperBand, prd)Dn = ta.lowest(lowerBand, prd)// ─────────────────────────────// Variables// ─────────────────────────────b = bar_indexvar int pos = 0var int iUp = navar int iDn = na// ─────────────────────────────// Functions// ─────────────────────────────CreateLine(x1,x2,y,col)=> pts = array.new<chart.point>() pts.push(chart.point.from_index(x1,x2)) pts.push(chart.point.from_index(b,y)) polyline.new(pts,false,false,line_color=col,line_width=4)// ─────────────────────────────// Structure Logic// ─────────────────────────────if Up > Up[1] iUp := b if pos <= 0 CreateLine(iUp[1],Up[b-iUp[1]],Up[1],bull2) pos := 1 else if pos >= 1 and Up[1]==Up[s1?resp:prd] CreateLine(iUp[1],Up[b-iUp[1]],Up[1],bull2) pos += 1else if Dn < Dn[1] iDn := b if pos >= 0 CreateLine(iDn[1],Dn[b-iDn[1]],Dn[1],bear2) pos := -1 else if pos <= -1 and Dn[1]==Dn[s1?resp:prd] CreateLine(iDn[1],Dn[b-iDn[1]],Dn[1],bear2) pos -= 1// ─────────────────────────────// Curved Polyline// ─────────────────────────────var UpperRange = array.new<chart.point>()var LowerRange = array.new<chart.point>()polyline a1 = napolyline a2 = naif Up>Up[1] UpperRange.clear()if Dn<Dn[1] LowerRange.clear()UpperRange.unshift(chart.point.from_index(b,Up))LowerRange.unshift(chart.point.from_index(b,Dn))a1 := polyline.new(UpperRange,line_color=bear2,line_width=4)a2 := polyline.new(LowerRange,line_color=bull2,line_width=4)(a1[1]).delete()(a2[1]).delete()// ─────────────────────────────// Marker// ─────────────────────────────bullChoCh = pos == 1 and pos[1] <= 0 and barstate.isconfirmedbearChoCh = pos == -1 and pos[1] >= 0 and barstate.isconfirmedplotchar(bullChoCh, char="🅑", location=location.belowbar, color=color.lime, size=size.small)plotchar(bearChoCh, char="🅢", location=location.abovebar, color=color.red, size=size.small)
프로필 이미지
사노소이
2026-02-24
96
글번호 230722
지표

당근인생 님에 의해서 삭제되었습니다.

프로필 이미지
당근인생
2026-02-24
3
글번호 230721
검색