커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

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

항상 노고에 감사드림니다. 체결강도 5일선이 20일선 골든크로스될때 검색되는 종목검색식 부탁드림니다.
프로필 이미지
존슨비치
2025-07-13
231
글번호 192463
종목검색
답변완료

수식전환

수고하십니다 아래수식을 예스수식으로 변혼부탁드립니다 a=avg(c,120); ㄱ=valuewhen(1,crossup(c,a)&&o<c,H); ㄴ=valuewhen(1,crossup(c,a)&&o<c,a); ㄱ+(ㄱ-ㄴ) a=avg(c,120); ㄱ=valuewhen(1,crossup(c,a)&&o<c,H); ㄴ=valuewhen(1,crossup(c,a)&&o<c,a); ㄱ+(ㄱ-ㄴ)*2
프로필 이미지
트라이
2025-07-13
253
글번호 192462
지표
답변완료

부탁드립니다.

도움에 감사 드립니다. 아래의 즉 일자가 바뀌면 새로 계산하는것을 주(week)가 바뀌면 새로 계산 하는것으로 수정 부탁 드립니다. 미리 감사 드립니다. If bdate != bdate[1] Then //break on session에 해당, 즉 일자가 바뀌면 새로 계산 { 수식) input:renkoSize(0.5),length(10), NumATRs(1.5); var:j(0),k(0),renkoCnt(0),gubun(0),Sum(0),mav(0); array:OO[50](0),HH[50](0),LL[50](0),CC[50](0); //이평선 If bdate != bdate[1] Then //break on session에 해당, 즉 일자가 바뀌면 새로 계산 { gubun = 0; //방향을 초기화한다. 이후 형성되는 가격에 의해 방향이 계산 For j = 49 DownTo 1 //금일 시가봉을 신규 추가 { OO[j] = OO[j-1]; HH[j] = HH[j-1]; LL[j] = LL[j-1]; CC[j] = CC[j-1]; } OO[0] = C; //분봉의 종가를 기반으로 계산하기 때문에 당일 시초가 아니다 HH[0] = C; LL[0] = C; CC[0] = C; } Else { If gubun == 0 and CC[0] > 0 Then //일 첫봉이 완성되지 않은 시점 { If OO[0] - renkoSize >= C Then { gubun = -1; //하락 방향 CC[0] = OO[0] - renkoSize; //음봉 HH[0] = OO[0]; LL[0] = CC[0]; j = 0; } Else If OO[0] + renkoSize <= C Then { gubun = 1; //상승 방향 CC[0] = OO[0] + renkoSize; //양봉 HH[0] = CC[0]; LL[0] = OO[0]; j = 0; } } If LL[0] - renkoSize >= C Then { gubun = -1; renkoCnt = Int(Round((LL[0]-C)/renkoSize,9)); if renkoCnt > 49 then renkoCnt = 49; For j = 49 DownTo renkoCnt { OO[j] = OO[j-renkoCnt]; HH[j] = HH[j-renkoCnt]; LL[j] = LL[j-renkoCnt]; CC[j] = CC[j-renkoCnt]; } For j = renkoCnt-1 DownTo 0 { OO[j] = LL[j+1]; CC[j] = LL[j+1] - renkoSize; HH[j] = OO[j]; LL[j] = CC[j]; } } Else If HH[0] + renkoSize <= C Then { gubun = 1; renkoCnt = Int(Round((C-HH[0])/renkoSize,9)); if renkoCnt > 49 then renkoCnt = 49; For j = 49 DownTo renkoCnt { OO[j] = OO[j-renkoCnt]; HH[j] = HH[j-renkoCnt]; LL[j] = LL[j-renkoCnt]; CC[j] = CC[j-renkoCnt]; } For j = renkoCnt-1 DownTo 0 { OO[j] = HH[j+1]; CC[j] = HH[j+1] + renkoSize; HH[j] = CC[j]; LL[j] = OO[j]; } } Else If (sdate != sdate[1] and nextbarStime >= 070000) or (sdate == sdate[1] and nextbarStime >= 070000 and stime < 070000) Then { //당일 종가봉에서 For j = 49 DownTo 1 { OO[j] = OO[j-1]; HH[j] = HH[j-1]; LL[j] = LL[j-1]; CC[j] = CC[j-1]; } If LL[1] > C Then { //종가가 이전 봉보다 아래 형성 OO[0] = LL[1]; CC[0] = C; HH[0] = OO[0]; LL[0] = CC[0]; } Else If HH[1] < C Then { //종가가 이전 봉보다 위에 형성 OO[0] = HH[1]; CC[0] = C; HH[0] = CC[0]; LL[0] = OO[0]; } Else { //종가가 이전 봉의 중간에 형성 OO[0] = C; CC[0] = C; HH[0] = C; LL[0] = C; } j = 0; //채널 값을 새로이 계산 } } if CC[length] > 0 then { sum = 0 ; for j = 0 to length - 1 { sum = sum + CC[j]; } mav = sum/length; plot5(maV,"MidLine"); }
프로필 이미지
yes
2025-07-13
256
글번호 192461
지표
답변완료

OpenPositionProfit

수고하십니다. OpenPositionProfit은 원화인가요? 포인트인가요? 원화로 생각하고 계산하니..자꾸 오작동해서요. 포인트로 생각하니 정상 작동하고.. 포인트 값인가요?
프로필 이미지
상수리나무
2025-07-12
237
글번호 192460
시스템
답변완료

문의드립니다

if data1(sTime >= StartTime) Then { if D1 > D2 Then Buy("b"); if D1 < D2 Then ExitLong("bx"); } SetStopEndofday(150000); ---------------------- 위식에서 3시 이후에는 신호가 안나오게 하려면 뭘 추가해줘야 하나요? 당일청산 3시에 했는데도 신호요건이 충족되면 또 신호가 나옵니다 감사합니다
프로필 이미지
러블리
2025-07-12
219
글번호 192459
시스템
답변완료

문의

늘 감사 드립니다 아래 수식에서 당일최고와 당일중심, 당일최저 3등분선을 5등분으로 만들고 싶습니다. 최고와 중심선 사이에 2/1선을 넣고 중심선과 최저 사이에 또 2/1선을 넣을 수 있게 중심선을 기준으로 위로 2칸, 아래로 2칸 부탁드립니다. 감사합니다. Input : Period(1); Var : value(0); value = ma(bids,period)-ma(asks,period);#호가잔량이동평균오실레이터 if date != date[1] Then{ value1 = value; value2 = value; } if value > value1 Then value1 = value; if value < value2 Then value2 = value; If value > value[35] Then Plot1(value, "호가잔량이평오실레이터",RED); Else Plot1(value, "호가잔량이평오실레이터",BLUE); plot2(value1,"당일최고"); plot3(value2,"당일최저"); plot4((value1+value2)/2,"당일중심"); PlotBaseLine1(0,"기준선");
프로필 이미지
타이밍승부사
2025-07-12
229
글번호 192458
지표
답변완료

예스종목검색으로 요청합니다..

요즘 많이 더운데 수고가 많으세요... ((종목 검색 조건)) 200일 신저가 발생하고 일목균형표 음운구름대 관통하는 장대양봉 캔들을 찾고 싶어요... 부탁드립니다...
프로필 이미지
서민순
2025-07-12
214
글번호 192457
종목검색
답변완료

부틱드립니다

수고하심니다 아래수식을 예스로 부탁드립니다 // 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/ // &#169;LuxAlgo //@version=5 indicator("Inversion Fair Value Gaps (IFVG) [LuxAlgo]", "LuxAlgo - Inversion Fair Value Gaps (IFVG)", overlay = true, max_boxes_count = 500, max_lines_count = 500, max_labels_count = 500) //---------------------------------------------------------------------------------------------------------------------} //Settings //---------------------------------------------------------------------------------------------------------------------{ disp_num = input.int(5, maxval = 100, minval = 1, title = "Show Last", tooltip = "Specifies the amount of most recent inversion FVG to display in Bullish/Bearish pairs, starting at the current and looking back.") signal_pref = input.string("Close", title = "Signal Preference", options = ["Close","Wick"], tooltip = "Choose to send signals based on Wicks or Close Price.") wt = signal_pref == "Wick" atr_multi = input.float(0.25, step = 0.25,minval = 0, title = "ATR Multiplier", tooltip = "Filters FVGs based on ATR Width, Only displays Inversions that are Greater-Than the ATR*Multiplier.") //Colors green = input.color(color.new(#089981, 80), title = "Bull Color", group = "Colors") red = input.color(color.new(#f23645, 80), title = "Bear Color", group = "Colors") gray = input.color(#787b86, title = "Midline Color", group = "Colors") invis = color.rgb(0,0,0,100) //---------------------------------------------------------------------------------------------------------------------} //UDT's //---------------------------------------------------------------------------------------------------------------------{ type lab //Contains Necessary Label Data to Send to Label Function int x float y int dir type fvg //Contains Necessary FVG Data to Send to Chart. int left = na float top = na int right = na float bot = na float mid = na int dir = na int state = na array<lab> labs = na int x_val = na //---------------------------------------------------------------------------------------------------------------------} //Functions //---------------------------------------------------------------------------------------------------------------------{ //Basic Calcs buffer = 100 //How many FVGs to keep in memory. c_top = math.max(open,close) c_bot = math.min(open,close) label_maker(_x,_y,_dir) => //Used for making Labels switch _dir == 1 => label.new(_x,_y,"₩n▲", style = label.style_text_outline, color = invis, textcolor = color.new(green,0), size = size.small, xloc = xloc.bar_time) _dir == -1 => label.new(_x,_y, "▼₩n", style = label.style_text_outline, color = invis, textcolor = color.new(red,0), size = size.small, xloc = xloc.bar_time) fvg_manage(_ary,_inv_ary) => //First step filtering of FVG data, Not all FVGs will be displayed, only inversions. if _ary.size() >= buffer _ary.shift() if _ary.size() > 0 for i = _ary.size()-1 to 0 value = _ary.get(i) _dir = value.dir if _dir == 1 and (c_bot < value.bot) value.x_val := time _inv_ary.push(_ary.remove(i)) if _dir == -1 and (c_top > value.top) value.x_val := time _inv_ary.push(_ary.remove(i)) inv_manage(_ary) => //All inversions will be displayed. fire = false if _ary.size() >= buffer _ary.shift() if _ary.size() > 0 for i = _ary.size()-1 to 0 value = _ary.get(i) bx_top = value.top bx_bot = value.bot _dir = value.dir st = value.state if (st == 0 and _dir == 1) value.state := 1 value.dir := -1 if (_dir == -1 and st == 0) value.state := 1 value.dir := 1 if st >= 1 value.right := time if (_dir == -1 and st == 1 and close < bx_bot and (wt?high:close[1]) >= bx_bot and (wt?high:close[1]) < bx_top) value.labs.push(lab.new(time,bx_top,-1)) fire := true if (_dir == 1 and st == 1 and close > bx_top and (wt?low:close[1]) <= bx_top and (wt?low:close[1]) > bx_bot) value.labs.push(lab.new(time,bx_bot,1)) fire := true if st >= 1 and ((_dir == -1 and c_top > bx_top) or (_dir == 1 and c_bot < bx_bot)) _ary.remove(i) fire send_it(_ary) => // Draws Everything on the Chart last_index = _ary.size()-1 for [index,value] in _ary bx_top = value.top bx_bot = value.bot bx_left = value.left xval = value.x_val mid = value.mid col = value.dir == -1 ? green : red o_col = value.dir == -1 ? red : green if index > last_index - disp_num box.new(bx_left,bx_top,xval,bx_bot,bgcolor = col, border_color = invis, xloc = xloc.bar_time) box.new(xval,bx_top,time,bx_bot, bgcolor = o_col, border_color = invis, xloc = xloc.bar_time) line.new(bx_left,mid,time,mid, color = gray, style = line.style_dashed, xloc = xloc.bar_time) box.new(bar_index,bx_top,bar_index+50,bx_bot, bgcolor = o_col, border_color = invis) line.new(bar_index,mid,bar_index+50,mid, color = gray, style = line.style_dashed) for stuff in value.labs label_maker(stuff.x,stuff.y,stuff.dir) //---------------------------------------------------------------------------------------------------------------------} //Delete drawings //---------------------------------------------------------------------------------------------------------------------{ for boxes in box.all box.delete(boxes) for lines in line.all line.delete(lines) for labels in label.all label.delete(labels) //---------------------------------------------------------------------------------------------------------------------} //Data Arrays //---------------------------------------------------------------------------------------------------------------------{ var bull_fvg_ary = array.new<fvg>(na) // FVG Data, Not all will be Drawn var bear_fvg_ary = array.new<fvg>(na) var bull_inv_ary = array.new<fvg>(na) // Inversion Data, All will be Drawn var bear_inv_ary = array.new<fvg>(na) //---------------------------------------------------------------------------------------------------------------------} //FVG Detection //---------------------------------------------------------------------------------------------------------------------{ atr = nz(ta.atr(200)*atr_multi, ta.cum(high - low) / (bar_index+1)) fvg_up = (low > high[2]) and (close[1] > high[2]) fvg_down = (high < low[2]) and (close[1] < low[2]) if fvg_up and math.abs(low-high[2]) > atr array.push(bull_fvg_ary,fvg.new(time[1], low, time, high[2], math.avg(low,high[2]), 1, 0,array.new<lab>(na),na)) if fvg_down and math.abs(low[2]-high) > atr array.push(bear_fvg_ary,fvg.new(time[1], low[2], time, high, math.avg(high,low[2]),-1 ,0,array.new<lab>(na),na)) //---------------------------------------------------------------------------------------------------------------------} //Running Functions //---------------------------------------------------------------------------------------------------------------------{ // FVG_Data -> Inversion_Data -> Chart fvg_manage(bull_fvg_ary,bull_inv_ary) fvg_manage(bear_fvg_ary,bear_inv_ary) bear_signal = inv_manage(bull_inv_ary) bull_signal = inv_manage(bear_inv_ary) if barstate.islast send_it(bull_inv_ary) send_it(bear_inv_ary) //Alert Options alertcondition(bull_signal, "Bullish Signal") alertcondition(bear_signal, "Bearish Signal") //---------------------------------------------------------------------------------------------------------------------}
프로필 이미지
파생돌이
2025-07-12
432
글번호 192456
지표
답변완료

검색식 부탁드립니다. _(_ _)_

항상 도와주심에 감사드립니다._(__)_ 모든 이동평균선(5,20,60,120,240,480)이 20프로이내에 모여 있고 배열은 상관없지만 단 최상단 이평선이 480선인 상태에서 480선을 돌파한 종목검색식과 역시 20프로 이내구간과 단 최하단이평선이 240 ,최상단이평선 480상태에서 480선을 돌파하는 종목 검색식을 부탁드립니다
프로필 이미지
한칼부르스
2025-07-12
202
글번호 192455
종목검색