커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

종목 검색식 관련 문의 드립니다.

안녕하세요 항상 빠른 답변 감사 드립니다. 검색시간에 대한 식을 문의 드립니다. 1. 장 마감 이후에 검색을 할때(당일 113000 이후에) 당일 113000 이전을 검색 시간으로 설정을 하려면 어떤 식을 작성 해야 하는지요 2. 30분에서 30분봉 당일 첫분봉의 저가 보다 0봉의 종가가 높다 위식의 작성식을 요청 드립니다. 그럼 좋은 하루 되세요
프로필 이미지
느와르
2025-02-22
412
글번호 188440
종목검색

관리자에 의해 예스스팟 QnA로 이동되었습니다

프로필 이미지
님이랑
2025-02-24
32
글번호 188439
종목검색

신의천기사 님에 의해서 삭제되었습니다.

프로필 이미지
신의천기사
2025-02-21
8
글번호 188436
종목검색
답변완료

수식수정요청

수고 많습니다 이베스트때 가입 LS증권에 사용 하고자 합니다 트레이딩뷰 지표입니다 indicator("오실레이터", max_labels_count = 500, max_lines_count = 500) // ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ int &#160; length &#160; = input.int(50, minval=1, title="Filter Length") bool &#160;disp_lvl = input.bool(true, "Levels") color up_color = input.color(color.rgb(70, 236, 200), "", inline = "color") color dn_color = input.color(#fc6c37, "", inline = "color") var buy_line = line(na) var sell_line = line(na) // } // ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ float sma1 &#160; = ta.sma(close, 25) float sma_n1 = ((close - sma1) - ta.sma(close - sma1, 25)) / ta.stdev(close - sma1, 25) float area &#160; = ta.sma(high-low, 100) // Two-pole smooth filter function f_two_pole_filter(source, length) => &#160; &#160; var float smooth1 = na &#160; &#160; var float smooth2 = na &#160; &#160; alpha = 2.0 / (length + 1) &#160; &#160; if na(smooth1) &#160; &#160; &#160; &#160; smooth1 := source &#160; &#160; else &#160; &#160; &#160; &#160; smooth1 := (1 - alpha) * smooth1 + alpha * source &#160; &#160; if na(smooth2) &#160; &#160; &#160; &#160; smooth2 := smooth1 &#160; &#160; else &#160; &#160; &#160; &#160; smooth2 := (1 - alpha) * smooth2 + alpha * smooth1 // Osc two_p = f_two_pole_filter(sma_n1, length) two_pp = two_p[4] // Colors color buy_col1 &#160;= color.from_gradient(two_p, -1, 0.5, up_color, na) color buy_col2 &#160;= color.from_gradient(two_p, -1, 0.5, color.new(up_color, 50), na) color sell_col1 = color.from_gradient(two_p, -0.5, 1, na, dn_color) color sell_col2 = color.from_gradient(two_p, -0.5, 1, na, color.new(dn_color, 50)) color color &#160; &#160; = two_p > two_pp &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; ? color.from_gradient(two_p, -1,1, up_color, color.new(up_color, 0)) &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; : color.from_gradient(two_p, -1,1,color.new(dn_color, 0), dn_color) // Signals bool buy &#160;= ta.crossover(two_p, two_pp) and two_p < 0 and barstate.isconfirmed bool sell = ta.crossunder(two_p, two_pp) and two_p > 0 and barstate.isconfirmed // } //――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ if buy //and two_p < -0.5 &#160; &#160; sell_line := line(na) &#160; &#160; if disp_lvl &#160; &#160; &#160; &#160; buy_line := line.new( &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;bar_index-1 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, low[1] - area &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, bar_index &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, low[1] - area &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, force_overlay = true &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, color = buy_col1 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, style = line.style_dashed &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;) &#160; &#160; label.new(bar_index-1, low[1] - area &#160; &#160; &#160; &#160; &#160; &#160; &#160;, color = buy_col1, style = label.style_label_up, force_overlay = true, size = size.tiny) if ta.crossunder(low, buy_line.get_y1()) and barstate.isconfirmed &#160; &#160; label.new( &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;bar_index-1 &#160; &#160; &#160; &#160; &#160; &#160; &#160;, buy_line.get_y1() &#160; &#160; &#160; &#160; &#160; &#160; &#160;, color = color.new(up_color, 100) &#160; &#160; &#160; &#160; &#160; &#160; &#160;, style = label.style_label_center &#160; &#160; &#160; &#160; &#160; &#160; &#160;, force_overlay = true &#160; &#160; &#160; &#160; &#160; &#160; &#160;, size = size.large &#160; &#160; &#160; &#160; &#160; &#160; &#160;, text = "&#10006;" &#160; &#160; &#160; &#160; &#160; &#160; &#160;, textcolor = up_color &#160; &#160; &#160; &#160; &#160; &#160; &#160;) &#160; &#160; buy_line := line(na) if sell //and two_p > 0.5 &#160; &#160; buy_line := line(na) &#160; &#160; if disp_lvl &#160; &#160; &#160; &#160; sell_line := line.new( &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;bar_index-1 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, high[1] + area &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, bar_index &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, high[1] + area &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, force_overlay = true &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, color = sell_col1 &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;, style = line.style_dashed &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;) &#160; &#160; label.new(bar_index-1, high[1] + area &#160; &#160; &#160; &#160; &#160; &#160; &#160;, color = sell_col1, style = label.style_label_down, force_overlay = true, size = size.tiny) if ta.crossover(high, sell_line.get_y1()) and barstate.isconfirmed &#160; &#160; label.new( &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;bar_index-1 &#160; &#160; &#160; &#160; &#160; &#160; &#160;, sell_line.get_y1() &#160; &#160; &#160; &#160; &#160; &#160; &#160;, color = color.new(dn_color, 100) &#160; &#160; &#160; &#160; &#160; &#160; &#160;, style = label.style_label_center &#160; &#160; &#160; &#160; &#160; &#160; &#160;, force_overlay = true &#160; &#160; &#160; &#160; &#160; &#160; &#160;, size = size.large &#160; &#160; &#160; &#160; &#160; &#160; &#160;, text = "&#10006;" &#160; &#160; &#160; &#160; &#160; &#160; &#160;, textcolor = dn_color &#160; &#160; &#160; &#160; &#160; &#160; &#160;) &#160; &#160; sell_line := line(na) switch &#160; &#160; not na(buy_line) &#160;=> buy_line. set_x2(bar_index) &#160; &#160; not na(sell_line) => sell_line.set_x2(bar_index) plotshape(buy ? two_p[1] : na, "Buy", shape.circle, location.absolute, buy_col2, -1, size = size.small) plotshape(buy ? two_p[1] : na, "Buy", shape.circle, location.absolute, buy_col1, -1, size = size.tiny) plotshape(sell ? two_p[1] : na, "Sell", shape.circle, location.absolute, sell_col2, -1, size = size.small) plotshape(sell ? two_p[1] : na, "Sell", shape.circle, location.absolute, sell_col1, -1, size = size.tiny) p11 = plot(1, color = color.new(chart.fg_color, 80)) plot(0.5, color = color.white) p00 = plot(0, color = color.new(bar_index % 2 == 0 ? chart.fg_color : na, 0)) plot(-0.5, color = color.white) p_1 = plot(-1, color = color.new(chart.fg_color, 80)) fill(p11, p00, 2, -1, color.new(chart.fg_color, 80), na) fill(p_1, p00, 1, -2, na, color.new(chart.fg_color, 80)) p1 = plot(two_p, color = color, linewidth = 1) p2 = plot(two_pp, display = display.none) fill(p1, p2, two_p, two_pp, color, na) // }
프로필 이미지
한아나
2025-02-21
561
글번호 188435
지표

한아나 님에 의해서 삭제되었습니다.

프로필 이미지
한아나
2025-02-21
0
글번호 188434
지표

한아나 님에 의해서 삭제되었습니다.

프로필 이미지
한아나
2025-02-21
0
글번호 188433
지표
답변완료

수식 변환 부탁드립니다.

안녕하세요 아침저녁으로 일교차가 크네요. 감기 조심하시구요. 예스랭귀지 수식으로 변환 부탁드립니다. A=LinearRegressionvalue(C,20,0) + LinearRegressionSlope(C,20); B=ma(C,5); A(2)>=A(1) && A(1)<A 즐거운 주말 보내세요~
프로필 이미지
스톰82
2025-02-21
412
글번호 188431
종목검색
답변완료

수식

다음의 사용자함수 변환을 부탁드립니다 감사합니다 제목 : 이평상승(n) if(n>n(1),1,0)
프로필 이미지
김승빈
2025-02-21
399
글번호 188414
사용자 함수
답변완료

검색식

검색식 부탁합니다 n일전 거래금액 높은 순으로 정렬
프로필 이미지
jsi
2025-02-21
403
글번호 188407
검색