커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

예스종목검색식 변환 요청

항상 감사합니다.다음 신호수식을 예스 종목검색식으로 변환 부탁드립니다.감사합니다.A=(H(11) + H(10)+H(9) + H(8) + H(7) + H(6) + H(5)+H(4) + H(3) + H(2) +H(1)+ L+H(20)+H(40)+H(60)+H(100)+H(120)+H(150)+H(200)+H+H)/21;A1=(H(11) + H(10)+H(9) + H(8) + H(7) + H(6) + H(5)+H(4) + H(3) + H(2) +H(1)+ L+H(40)+H(60)+H(100)+H(120)+H(150)+H(200)+H+H)/20;A2=(H(11) + H(10)+H(9) + H(8) + H(7) + H(6) + H(5)+H(4) + H(3) + H(2) +H(1)+ L+H(60)+H(100)+H(120)+H(150)+H(200)+H+H)/19;A3=(H(11) + H(10)+H(9) + H(8) + H(7) + H(6) + H(5)+H(4) + H(3) + H(2) +H(1)+ L+H(100)+H(120)+H(150)+H(200)+H+H)/18;B=max(A, A1, A2, A3);D=min(A, A1, A2, A3);HH=(B+D)/2;조건1=L>=HH;조건2=L<HH;Q=valuewhen(1, 조건1, if(조건1, HH, if(조건2, HH, 0)));조건3=Q>HH;!조건3 && 조건3(1)
프로필 이미지
자유만세
2026-08-25
270
글번호 233370
종목검색
답변완료

종목 검색식 부탁드립니다.

1. 아래 수식을 참조하여, 일봉차트에서 수식 2) 가 꼭 " 첫 봉 " ( 예시 참조 ) 으로 나오는 종목 검색식 을 알고 싶습니다. 검색식 세세하게 부탁드려요. ( 예시 ) 수식 2) 가 연속 2개 발생 X (안됨) 수식2 ) 가 연속 3개, 4개, 5개 발생 ...... X (안됨) 수식 2) 가 첫봉 1개 발생 O (가능) 수식 2) 가 1개 발생후 "몇 봉 (1,2,3......)" 있다고 또 1개 발생시 O (가능) 수식2) 가 1개 발생후 "1개 띄고 (1봉 띄고)" 또 1개 발생 O (가능) 오직 "첫 봉" 만 OK ( 수식 2 ) 가 1개봉만 있는 종목 ) 2. 아래 수식을 참조하여, 일봉차트에서 수식 2) 가 꼭 " 첫 봉 " ( 예시 참조 ) 으로 나오는 0봉전~5봉전까지의 모든 종목 검색식 을 알고 싶습니다. 검색식 세세하게 부탁드려요. ( 예시 ) 수식 2) 가 연속 2개 발생 X (안됨) 수식2 ) 가 연속 3개, 4개, 5개 발생 ...... X (안됨) 수식 2) 가 첫봉 1개 발생 O (가능) 수식 2) 가 1개 발생후 "몇 봉 (1,2,3......)" 있다고 또 1개 발생시 O (가능) 수식2) 가 1개 발생후 "1개 띄고 (1봉 띄고)" 또 1개 발생 O (가능) 오직 "첫 봉" 만 OK ( 수식 2 ) 가 1개봉만 있는 종목 ) ----아래-------(수식1)i_wvf = ((high - lowest(C, 22)) / lowest(C, 22)) * 100;i_sDev = 2.0 * stdev(i_wvf, 20);i_midLine = avg(i_wvf, 20);i_upperBand = i_midLine + i_sDev;i_rangeHigh = (highest(i_wvf, 50)) * ph;i_wvf;(수식2)i_wvf = ((high - lowest(C, 22)) / lowest(C, 22)) * 100;i_sDev = 2.0 * stdev(i_wvf, 20);i_midLine = avg(i_wvf, 20);i_upperBand = i_midLine + i_sDev;i_rangeHigh = (highest(i_wvf, 50)) * ph;if(i_wvf >= i_upperBand or i_wvf >= i_rangeHigh, i_wvf, 0);(수식3)i_wvf = ((H - lowest(C, 22)) / lowest(C, 22)) * 100;i_sDev = 2.0 * stdev(i_wvf, 20);i_midLine = avg(i_wvf, 20);i_upperBand = i_midLine + i_sDev;i_rangeHigh = (highest(i_wvf, 50)) * ph;ob = (i_wvf >= i_upperBand) or (i_wvf >= i_rangeHigh);if(ob,1,0); //os : OverBuy// 과매수 4회이상 연속후 이탈)if( ((ob(1)>0 and ob(2)>0 and ob(3)>0 and ob(4)>0) and ob == 0), i_wvf, 0);-지표조건설정PH : 0.35
프로필 이미지
일지매7
2026-08-24
241
글번호 233369
종목검색
답변완료

종목 검색 질문입니다

음+양양양양양양+음 종목검색식 부탁드립니다감사합니다
프로필 이미지
para
2026-08-24
112
글번호 233368
종목검색
답변완료

예스종목검색식 변환 요청

죄송하지만 아래 조건식을 예스 종목검색식으로 변환부탁드립니다. 죄송하고 감사합니다.A=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(20)+L(40)+L(60)+L(100)+L(120)+L(150)+L(200)+L+L)/21;A1=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(40)+L(60)+L(100)+L(120)+L(150)+L(200)+L+L)/20;A2=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(60)+L(100)+L(120)+L(150)+L(200)+L+L)/19;A3=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(100)+L(120)+L(150)+L(200)+L+L)/18;B=max(A, A1, A2, A3);D=min(A, A1, A2, A3);E=(B+D)/2;Q=E*0.88;Z=L<=Q;분기 = (floor(date/100)%100)%3;A=LowestSince(1, 분기==1 && 분기(1)==0, L);Z1=A==L;Z && Z1
프로필 이미지
자유만세
2026-08-24
288
글번호 233359
종목검색
답변완료

예스종목검색식 변환요청

항상 감사드립니다.다음 신호조건식을 예스 종목검색식으로 변환부탁드립니다.수고하십시오..A=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(20)+L(40)+L(60)+L(100)+L(120)+L(150)+L(200)+L+L)/21;A1=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(40)+L(60)+L(100)+L(120)+L(150)+L(200)+L+L)/20;A2=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(60)+L(100)+L(120)+L(150)+L(200)+L+L)/19;A3=(L(11) + L(10)+L(9) + L(8) + L(7) + L(6) + L(5)+L(4) + L(3) + L(2) +L(1)+ L+L(100)+L(120)+L(150)+L(200)+L+L)/18;B=max(A, A1, A2, A3);D=min(A, A1, A2, A3);E=(B+D)/2;Q=E*0.88;Z=L<=Q;M=floor(date/100)%100;B1=Lowestsince(1, M!=M(1), L);Z1=L==B1;Z && Z1
프로필 이미지
자유만세
2026-08-22
304
글번호 233358
종목검색
답변완료

요청 드립니다.

안녕하세요항상 빠른 답변 감사 드립니다.아래 식을 지표식, 종목검색식 변환 요청 드립니다.혹 분봉 및 일봉 적용시 설정 값 변경을 해줘야 한다면 자세한 안내 부탁드립니다.그럼 좋은 하루 되세요// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/// © LuxAlgo//@version=5indicator("Liquidity Swings [LuxAlgo]" , overlay = true , max_lines_count = 500 , max_labels_count = 500 , max_boxes_count = 500)//------------------------------------------------------------------------------//Settings//-----------------------------------------------------------------------------{length = input(14, 'Pivot Lookback')area = input.string('Wick Extremity', 'Swing Area', options = ['Wick Extremity', 'Full Range'])intraPrecision = input(false, 'Intrabar Precision', inline = 'intrabar')intrabarTf = input.timeframe('1', '' , inline = 'intrabar')filterOptions = input.string('Count', 'Filter Areas By', options = ['Count', 'Volume'], inline = 'filter')filterValue = input.float(0, '' , inline = 'filter')//StyleshowTop = input(true, 'Swing High' , inline = 'top', group = 'Style')topCss = input(color.red, '' , inline = 'top', group = 'Style')topAreaCss = input(color.new(color.red, 50), 'Area', inline = 'top', group = 'Style')showBtm = input(true, 'Swing Low' , inline = 'btm', group = 'Style')btmCss = input(color.teal, '' , inline = 'btm', group = 'Style')btmAreaCss = input(color.new(color.teal, 50), 'Area', inline = 'btm', group = 'Style')labelSize = input.string('Tiny', 'Labels Size', options = ['Tiny', 'Small', 'Normal'], group = 'Style')//-----------------------------------------------------------------------------}//Functions//-----------------------------------------------------------------------------{n = bar_indexget_data()=> [high, low, volume][h, l, v] = request.security_lower_tf(syminfo.tickerid, intrabarTf, get_data())get_counts(condition, top, btm)=> var count = 0 var vol = 0. if condition count := 0 vol := 0. else if intraPrecision if n > length if array.size(v[length]) > 0 for [index, element] in v[length] vol += array.get(l[length], index) < top and array.get(h[length], index) > btm ? element : 0 else vol += low[length] < top and high[length] > btm ? volume[length] : 0 count += low[length] < top and high[length] > btm ? 1 : 0 [count, vol]set_label(count, vol, x, y, css, lbl_style)=> var label lbl = na var label_size = switch labelSize 'Tiny' => size.tiny 'Small' => size.small 'Normal' => size.normal target = switch filterOptions 'Count' => count 'Volume' => vol if ta.crossover(target, filterValue) lbl := label.new(x, y, str.tostring(vol, format.volume) , style = lbl_style , size = label_size , color = #00000000 , textcolor = css) if target > filterValue label.set_text(lbl, str.tostring(vol, format.volume))set_level(condition, crossed, value, count, vol, css)=> var line lvl = na target = switch filterOptions 'Count' => count 'Volume' => vol if condition if target[1] < filterValue[1] line.delete(lvl[1]) else if not crossed[1] line.set_x2(lvl, n - length) lvl := line.new(n - length, value, n, value , color = na) if not crossed[1] line.set_x2(lvl, n+3) if crossed and not crossed[1] line.set_x2(lvl, n) line.set_style(lvl, line.style_dashed) if target > filterValue line.set_color(lvl, css)set_zone(condition, x, top, btm, count, vol, css)=> var box bx = na target = switch filterOptions 'Count' => count 'Volume' => vol if ta.crossover(target, filterValue) bx := box.new(x, top, x + count, btm , border_color = na , bgcolor = css) if target > filterValue box.set_right(bx, x + count)//-----------------------------------------------------------------------------}//Global variables//-----------------------------------------------------------------------------{//Pivot highvar float ph_top = navar float ph_btm = navar bool ph_crossed = navar ph_x1 = 0var box ph_bx = box.new(na,na,na,na , bgcolor = color.new(topAreaCss, 80) , border_color = na)//Pivot lowvar float pl_top = navar float pl_btm = navar bool pl_crossed = navar pl_x1 = 0var box pl_bx = box.new(na,na,na,na , bgcolor = color.new(btmAreaCss, 80) , border_color = na)//-----------------------------------------------------------------------------}//Display pivot high levels/blocks//-----------------------------------------------------------------------------{ph = ta.pivothigh(length, length)//Get ph counts[ph_count, ph_vol] = get_counts(ph, ph_top, ph_btm)//Set ph area and levelif ph and showTop ph_top := high[length] ph_btm := switch area 'Wick Extremity' => math.max(close[length], open[length]) 'Full Range' => low[length] ph_x1 := n - length ph_crossed := false box.set_lefttop(ph_bx, ph_x1, ph_top) box.set_rightbottom(ph_bx, ph_x1, ph_btm)else ph_crossed := close > ph_top ? true : ph_crossed if ph_crossed box.set_right(ph_bx, ph_x1) else box.set_right(ph_bx, n+3)if showTop //Set ph zone set_zone(ph, ph_x1, ph_top, ph_btm, ph_count, ph_vol, topAreaCss) //Set ph level set_level(ph, ph_crossed, ph_top, ph_count, ph_vol, topCss) //Set ph label set_label(ph_count, ph_vol, ph_x1, ph_top, topCss, label.style_label_down)//-----------------------------------------------------------------------------}//Display pivot low levels/blocks//-----------------------------------------------------------------------------{pl = ta.pivotlow(length, length)//Get pl counts[pl_count, pl_vol] = get_counts(pl, pl_top, pl_btm)//Set pl area and levelif pl and showBtm pl_top := switch area 'Wick Extremity' => math.min(close[length], open[length]) 'Full Range' => high[length] pl_btm := low[length] pl_x1 := n - length pl_crossed := false box.set_lefttop(pl_bx, pl_x1, pl_top) box.set_rightbottom(pl_bx, pl_x1, pl_btm)else pl_crossed := close < pl_btm ? true : pl_crossed if pl_crossed box.set_right(pl_bx, pl_x1) else box.set_right(pl_bx, n+3)if showBtm //Set pl zone set_zone(pl, pl_x1, pl_top, pl_btm, pl_count, pl_vol, btmAreaCss) //Set pl level set_level(pl, pl_crossed, pl_btm, pl_count, pl_vol, btmCss) //Set pl labels set_label(pl_count, pl_vol, pl_x1, pl_btm, btmCss, label.style_label_up)//-----------------------------------------------------------------------------}
프로필 이미지
느와르
2026-08-21
750
글번호 233357
지표
답변완료

종목검색이 잘 되지 않아서 문의

[3202] 파워종목검색에서 일봉 기준봉 0으로 사용하고 있습니다.키움 조건식은AA=TEMA(C,60);BB=(Highest(H,26)+Lowest(L,26))/2;CrossUp(BB,AA);입니다.예스트레이더에서는 키움 TEMA를AA=EMA(EMA(EMA(C,60),60),60);로 변환하고 BB는 동일하게 사용했습니다.현재봉 신규 발생만 검색하기 위해Condition1=BB>AA;if Condition1==true and Condition1[1]==False Then Find(1);로 작성하고 일봉 기준봉 0으로 검색했습니다.그런데 탑코미디어는 2026년 8월 3일경 이미 해당 돌파가 발생한 것으로 확인되는데, 2026년 8월 21일 기준봉 0 검색결과에도 나타납니다.별도로 BB>AA와 BB[1]<=AA[1]을 각각 검색했을 때는 탑코미디어가 두 조건 모두 검색되지 않습니다.동일 종목에서 개별 조건은 False인데 이를 신규 발생 조건으로 구성한 검색에서는 종목이 검색되는 이유와, 당일(0봉) 신규 돌파 종목만 검색하는 정확한 파워종목검색 작성 방법을 확인 부탁드립니다.
프로필 이미지
승승장구_대풍
2026-08-21
523
글번호 233352
검색
답변완료

예스종목검색식 변환 요청

죄송하고 감사합니다.다음 조건식 예스 종목검색식으로 변환 부탁드립니다.분기 = (floor(date/100)%100)%3;A=Valuewhen(1, 분기==1 && 분기(1)==0, H);crossup(C, A)제가 한 번 해봤더니 엉뚱한 것들만 검색되네요..=====================var : 분기(0),A(Nan);분기 = (floor(date/100)%100)%3;if 분기==1 && 분기[1]==0 ThenA = H;if CrossUp(C, H) ThenFind(1);==================
프로필 이미지
자유만세
2026-08-21
196
글번호 233350
종목검색
답변완료

수고하십니다. 키움수식 파워종목 검색식 부탁드립니다.

A=(highest(high,9)+lowest(low,9))/2;B=(highest(high,26)+lowest(low,26))/2;B1=(avg(C*V,10)-avg(C*V,20))/avg(C*V,10)*100;B2=CMO(9);(CROSSUP(C,A) or CROSSUP(C,B) or CROSSUP(A,B)) AND B1>B1(1) AND (CROSSUP(B2,-50) OR CROSSUP(B2,0))감사합니다
프로필 이미지
foxdie08
2026-08-21
250
글번호 233342
종목검색