커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

분할매도에서 재진입 하는 시스템 문의드립니다.

안녕하세요~ 분할 매도에서 매수 조건 충족시 재진입하는 식을 구현하고자 합니다.다음과 같은 예제 부탁드립니다.매수: 볼린저밴드 상단선 위1차 매도: 최근 20일 최고가 대비 ATR x 1.5 만큼 하락시 보유량의 25% 매도2차 매도: 최근 20일 최고가 대비 TR x 2.5 만큼 하락시 보유량의 50% 매도3차 매도: 최근 20일 최고가 대비 ATR x 3.5 만큼 하락시 보유량의 100% 매도1차나 2차 매도된 상태에서 다시 주가가 볼린저밴드 상단선 위를 만족하면 다시 매수해서 100% 상태로 변경항상 감사합니다!
프로필 이미지
일목초인
2026-02-05
348
글번호 230346
시스템
답변완료

수정 부탁드립니다.

60분봉으로 평상시는 아래의 식으로 손절과 익절을 하고 mvar1 = Sarv+(AF_value)*(EP-SAR_Value); mvar2 = Max(mvar1,EntryPrice-EntryATR*ATr1);#최대손실폭이 약100p줄어듬 mvar3 = Min(mvar1,EntryPrice+ EntryATR*ATr2);#최대손실폭이 약100p줄어듬#매수진입후 파라볼릭 매도구간에 들어가면 즉시 청산 if marketPosition == 1 and Direction == 1 Then { Exitlong("bx1",AtStop,mvar2); Exitlong("bx3",AtLimit,EntryPrice+매수목표1,"",1,1); }만약전5거래일중 -5%이상 하락하는 일이 있으면 위의 식으로 익절을 하지 않고 아래의 식으로 익절한다^^(참조차트 일봉을 추가하지 않고 60분봉 차트만) if 2000 < H-Sarv Then Exitlong("bx4",AtStop,Sarv+2000); 로 수정부탁드립니다
프로필 이미지
산수유
2026-02-05
208
글번호 230338
시스템
답변완료

수식문의

아래 수식의 선을 돌파하는 종목검색 수식을 문의드립니다.(각기 다른 두개의 수식입니다)======================================1.매물대돌파; 아래 수식의 선을 돌파A1=Dayhigh() - Daylow();A2=Max(Dayclose(), Dayopen())-Daylow();A3=A1/A2>진폭 &&Dayhigh()/nPredayclose(1)>(1+비율/100);Valuewhen(1, A3, Dayhigh());진폭 3, 배율 152.장기 볼밴선, 55이평선돌파. 볼밴(420,2)의 중심선. 55일 단순이평선. 이격도 강세약세(period 5, LPercent 81.96, SPercent 114.9425)--->종가가 볼밴중심선>55이평선 시 볼밴중심선을, 또는 볼밴중심선<55이평 시 55이평을 돌파하고 동시에 이격도 첫강세봉인 종목을 검색.(2nd 이하 강세봉은 무시)
프로필 이미지
ksks
2026-02-05
431
글번호 230337
종목검색
답변완료

부탁합니다.

안녕하세요.아래 트레딩뷰 지표 변환부탁 드리며, 추운 날씨에 건강관리 잘하세요.//@version=4// MACDsrc1 = closewindow_len = 28v_len = 14price_spread = stdev(high-low, window_len)v = cum(sign(change(src1)) * volume)smooth = sma(v, v_len)v_spread = stdev(v - smooth, window_len)shadow = (v - smooth) / v_spread * price_spreadout = shadow > 0 ? high + shadow : low + shadowlen10=input(1,title="OBV Length ")obvema=ema(out,len10)//src = obvematype = input(defval="DEMA", title="MA Type", options=["TDEMA", "TTEMA", "TEMA", "DEMA", "EMA", "AVG", "THMA", "ZLEMA", "ZLDEMA", "ZLTEMA", "DZLEMA", "TZLEMA", "LLEMA", "NMA"])showma = truelen = input(9, title="MA Length ")showma1 = falselen1 = 26showma2 =falselen2 = 52nma(src, length1, length2) => lambda = length1 / length2 alpha = lambda * (length1 - 1) / (length1 - lambda) ma1 = ema(src, length1) ma2 = ema(ma1, length2) nma = (1 + alpha) * ma1 - alpha * ma2 dema(src, len) => ma1 = ema(src, len) ma2 = ema(ma1, len) 2 * ma1 - ma2tema(src, len) => ma1 = ema(src, len) ma2 = ema(ma1, len) ma3 = ema(ma2, len) 3 * (ma1 - ma2) + ma3tdema(src, len) => ma1 = dema(src, len) ma2 = dema(ma1, len) ma3 = dema(ma2, len) 3 * (ma1 - ma2) + ma3ttema(src, len) => ma1 = tema(src, len) ma2 = tema(ma1, len) ma3 = tema(ma2, len) 3 * (ma1 - ma2) + ma3tnma(src, len) => ma1 = nma(src, len, 3) ma2 = nma(ma1, len, 3) ma3 = nma(ma2, len, 3) 3 * (ma1 - ma2) + ma3hma(src, len) => wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))thma(src, len) => ma1 = hma(src, len) ma2 = hma(ma1, len) ma3 = hma(ma2, len) 3 * (ma1 - ma2) + ma3zlema(src, len) => lag = round((len - 1) / 2) zlsrc = src + (src - src[lag]) ema(zlsrc, len)zldema(src, len) => lag = round((len - 1) / 2) zlsrc = src + (src - src[lag]) dema(zlsrc, len) zltema(src, len) => lag = round((len - 1) / 2) zlsrc = src + (src - src[lag]) tema(zlsrc, len) dzlema(src, len) => ma1 = zlema(src, len) ma2 = zlema(ma1, len) 2 * ma1 - ma2tzlema(src, len) => ma1 = zlema(src, len) ma2 = zlema(ma1, len) ma3 = zlema(ma2, len) 3 * (ma1 - ma2) + ma3llema(src, len) => srcnew = 0.25*src + 0.5*src[1] + 0.25*src[2] ema(srcnew, len) lltema(src, len) => srcnew = 0.25*src + 0.5*src[1] + 0.25*src[2] tema(srcnew, len)myma(src, len) => if type == "EMA" ema(src, len) else if type == "DEMA" dema(src, len) else if type == "TEMA" tema(src, len) else if type == "TDEMA" tdema(src, len) else if type == "TTEMA" ttema(src, len) else if type == "THMA" thma(src, len) else if type == "ZLEMA" zlema(src, len) else if type == "ZLDEMA" zldema(src, len) else if type == "ZLTEMA" zltema(src, len) else if type == "DZLEMA" dzlema(src, len) else if type == "TZLEMA" tzlema(src, len) else if type == "LLEMA" llema(src, len) else if type == "NMA" nma(src, len, len1) else avg(ttema(src, len), tdema(src, len)) ma = showma ? myma(src, len) : naslow_length = input(title="MACD Slow Length", type=input.integer, defval=26)//signal_length = input(title="MACD Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)src12=closeplot(0,linewidth=3,color=color.black)// Calculating MACDslow_ma = ema(src12, slow_length)macd =ma-slow_ma//signal_length=input(9)//signal = ema(macd, signal_length)//plot(signal,linewidth=2)src5 = macdlen5 = input(2)offset = 0calcSlope(src5, len5) => sumX = 0.0 sumY = 0.0 sumXSqr = 0.0 sumXY = 0.0 for i = 1 to len5 val = src5[len5-i] per = i + 1.0 sumX := sumX + per sumY := sumY + val sumXSqr := sumXSqr + per * per sumXY := sumXY + val * per slope = (len5 * sumXY - sumX * sumY) / (len5 * sumXSqr - sumX * sumX) average = sumY / len5 intercept = average - slope * sumX / len5 + slope [slope, average, intercept]var float tmp = na[s, a5, i] = calcSlope(src5, len5)tt1=(i + s * (len5 - offset))//---p = 1,src15=tt1b5 = 0.,dev5 = 0.,oc = 0n5 = cum(1) - 1a15 = cum(abs(src15 - nz(b5[1],src15)))/n5*pb5 := src15 > nz(b5[1],src15) + a15 ? src15 : src15 < nz(b5[1],src15) - a15 ? src15 : nz(b5[1],src15)//----dev5 := change(b5) ? a15 : nz(dev5[1],a15)//----oc := change(b5) > 0 ? 1 : change(b5) < 0 ? -1 : nz(oc[1])//----cs = oc == 1 ? color.blue : color.red//change(oc)>0plot(b5,color=cs,linewidth=4,transp=50)//down = change(oc)<0 up = change(oc)>0showsignal=input(false)plot(showsignal and up ?tt1 :na, style=plot.style_cross, color=color.blue, linewidth=4, transp=0,offset=-1)plot(showsignal and down ?tt1 :na, style=plot.style_cross, color=color.red, linewidth=4, transp=0,offset=-1)
프로필 이미지
newstory
2026-02-05
723
글번호 230336
지표
답변완료

문의 드립니다

var : xClose(0),xOpen(0),xHigh(0),xLow(0);if Bdate != Bdate[1] Then { xOpen = open; xClose = (O+H+L+C+c)/5; xHigh = MaxList( high, xOpen, xClose); xLow = MinList( low, xOpen,xClose);}else{ xClose = (O+H+L+C+c)/5; xOpen = (xOpen [1] + xClose [1])/2 ; xHigh = MaxList(High, xOpen, xClose) ; xLow = MinList(Low, xOpen, xClose) ;} if date != date[1] Then{var1 = 0;var2 = 0;var3 = 0;}var1 = var1+1;if XClose > Xopen Thenvar2 = var2+1;if XClose < Xopen Thenvar3 = var3+1;Var4 = Var2 - Var3;if var4> 0 Thenplot1(var4,"1",REd);Elseplot1(var4,"1",BLUe);PlotBaseLine1(0, "기준선");--------------------------------위식을 야간선물용으로 수정 부탁드립니다저녁 6시부터 다음날 새벽 5시30분 까지의 데이타만 나오게..감사합니다
프로필 이미지
러블리
2026-02-04
251
글번호 230335
지표
답변완료

관심종목내에서 종목선정가능한가요?

관심종목내에서만종목선정하는 방법이 있는지 문의드립니다.
프로필 이미지
정현맘
2026-02-04
191
글번호 230334
종목검색
답변완료

NH트레이더에서는 종목검색문의

시스템트레이딩 메뉴에서 [6109]Yes Language에 종목검색으로 검색식을 추가까지는 하였는데, 이 추가한 검색식이 NH트레이더의 [5201] 종목검색에 검색식이 안 나옵니다.참고로 NH트레이더는 처음입니다.
프로필 이미지
스카이워크
2026-02-04
202
글번호 230333
종목검색
답변완료

검색식과 종목검색식 부탁 드립니다1

트레이딩뷰의 RSI DIVERGENCE 지표입니다.한번 더 검색식과 종목검색식 부탁드립니다 조건은 1) divergence 값이 0보다 작고 2) divergence 지표의 색상이 red에서 lime으로 바뀔 때 입니다input : len_fast(5),len_slow(14);var : src_fast(0),src_slow(0);var : alpha_fast(0),up_fast(0),down_fast(0),rsi_fast(0);var : alpha_slow(0),up_Slow(0),down_slow(0),rsi_slow(0);var : divergence(0);src_fast = C;var1 = max(src_fast-src_fast[1],0);Var2 = -min(src_fast-src_fast[1],0);src_slow = C;var3 = max(src_slow-src_slow[1],0);Var4 = -min(src_slow-src_slow[1],0);alpha_fast = 1/len_fast;up_fast = 0;up_fast = IFf(IsNan(up_fast[1])== true, ma(var1,len_fast),alpha_fast*var1+(1 - alpha_fast)*up_fast[1]);down_fast = 0;down_fast = IFf(IsNan(down_fast[1])== true, ma(var2,len_fast),alpha_fast*var2+(1 - alpha_fast)*down_fast[1]);rsi_fast = iff(down_fast == 0 , 100 , IFf( up_fast == 0 , 0 , 100 - (100 / (1 + up_fast / down_fast))));alpha_slow = 1/len_slow;up_slow = 0;up_slow = IFf(IsNan(up_slow[1])== true, ma(Var3,len_slow),alpha_slow*Var3+(1 - alpha_slow)*up_slow[1]);down_slow = 0;down_slow = IFf(IsNan(down_slow[1])== true, ma(Var4,len_slow),alpha_slow*Var4+(1 - alpha_slow)*down_slow[1]);rsi_slow = iff(down_slow == 0 , 100 , iff(up_slow == 0 , 0 , 100 - (100 / (1 + up_slow / down_slow))));divergence = rsi_fast - rsi_slow;plot1(divergence, "divergence",iff(divergence > 0 , lime,red));PlotBaseLine1(0);
프로필 이미지
행복만땅
2026-02-04
259
글번호 230332
종목검색
답변완료

부탁 드립니다.

주봉 배열에 담긴 신호를 가져와 제어를 하고 싶읍니다. 신호 종류가 매수 신호가 [[아닐 때]] 를 표현 하려고 하는데 !( Ronman[0].signalKind == 1) 표현이 맞는지? Ronman[0].signalKind != 1 표현이 맞는지? 제작중 질문 드립니다.항상 감사 합니다.
프로필 이미지
잼스딘
2026-02-04
186
글번호 230331
시스템