커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

검색식 부탁 드립니다

avg((highest(high,기간)),기간) 지표조건 기간 240 1.분봉 돌파 검색식 부탁 드립니다 A=(C- lowest(C, period))/C*100;// GOLDENPOWER 지표 GB=max(A, 0); B=(highest(C, period) -C)/C*100; GS=max(B, 0); BB=(C-lowest(L,Period))/(highest(H,Period)-lowest(L,Period))*100; // 스토F 지표 SS=Sum(C-lowest(L,기간1),기간2) //스토 슬루우 지표 /Sum((highest(H,기간1)-lowest(L,기간1)),기간2)* 100; //스토케스틱 슬로우 본선 AA=eavg(SS, 기간3); //스토케스틱 시그널선 D=CROSSUP(GB,GS) && CROSSUP(BB,50) && SS>AA && V>MA(V,period)*배수; valuewhen(1,D,C) 지표조건 period 14 기간1 12 기간2 5 기간3 배수 1 2. 분봉상 첫번째돌파 검색식 부탁 드립니다 첫번째만 검색 돌도록 부탁 드립니다
프로필 이미지
님이랑
2025-03-12
293
글번호 189069
종목검색
답변완료

수식 변환

안녕하세요. 하기 키움수식을 예스랭귀로 변환 요청드립니다. 감사합니다. RWL = max( (H(1)-LOW ) / ( (ref( sum( atr(1), 2), 1) / 2) * sqrt(2) ), ( H(2)-LOW ) / ( (ref( sum( atr(1), 3), 1) / 3) * sqrt(3) ), ( H(3)-LOW ) / ( (ref( sum( atr(1), 4), 1) / 4) * sqrt(4) ), ( H(4)-LOW ) / ( (ref( sum( atr(1), 5), 1) / 5) * sqrt(5) ), ( H(5)-LOW ) / ( (ref( sum( atr(1), 6), 1) / 6) * sqrt(6) ), ( H(6)-LOW ) / ( (ref( sum( atr(1), 7), 1) / 7) * sqrt(7) ), ( H(7)-LOW ) / ( (ref( sum( atr(1), 8), 1) / 8) * sqrt(8) ), ( H(8)-LOW ) / ( (ref( sum( atr(1), 9), 1) / 9) * sqrt(9) ) ); RWL RWH = max( (H-LOW(1) ) / ( (ref( sum( atr(1), 2), 1) / 2) * sqrt(2) ), ( H-LOW(2) ) / ( (ref( sum( atr(1), 3), 1) / 3) * sqrt(3) ), ( H-LOW(3) ) / ( (ref( sum( atr(1), 4), 1) / 4) * sqrt(4) ), ( H-LOW(4) ) / ( (ref( sum( atr(1), 5), 1) / 5) * sqrt(5) ), ( H-LOW(5) ) / ( (ref( sum( atr(1), 6), 1) / 6) * sqrt(6) ), ( H-LOW(6) ) / ( (ref( sum( atr(1), 7), 1) / 7) * sqrt(7) ), ( H-LOW(7) ) / ( (ref( sum( atr(1), 8), 1) / 8) * sqrt(8) ), ( H-LOW(8) ) / ( (ref( sum( atr(1), 9), 1) / 9) * sqrt(9) ) ); RWH
프로필 이미지
gap
2025-03-12
352
글번호 189068
지표
답변완료

종목검색식 부탁드립니다

1. 캔들(양봉캔들,음봉캔들 모두포함)의 몸통이 전체길이의 절반이하 이고, 윗꼬리는 전체길이의 절반 이상인 종목검색식 부탁드립니다. (전체길이의 캔들몸통은 절반이하,캔들 윗꼬리는 절반이상)
프로필 이미지
일지매7
2025-03-12
312
글번호 189066
종목검색
답변완료

수식변환 부탁드립니다.

안녕하세요 // 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("Nadaraya-Watson Envelope [LuxAlgo]", "LuxAlgo - Nadaraya-Watson Envelope", overlay = true, max_lines_count = 500, max_labels_count = 500, max_bars_back=500) //------------------------------------------------------------------------------ //Settings //-----------------------------------------------------------------------------{ h = input.float(8.,'Bandwidth', minval = 0) mult = input.float(3., minval = 0) src = input(close, 'Source') repaint = input(true, 'Repainting Smoothing', tooltip = 'Repainting is an effect where the indicators historical output is subject to change over time. Disabling repainting will cause the indicator to output the endpoints of the calculations') //Style upCss = input.color(color.teal, 'Colors', inline = 'inline1', group = 'Style') dnCss = input.color(color.red, '', inline = 'inline1', group = 'Style') //-----------------------------------------------------------------------------} //Functions //-----------------------------------------------------------------------------{ //Gaussian window gauss(x, h) => math.exp(-(math.pow(x, 2)/(h * h * 2))) //-----------------------------------------------------------------------------} //Append lines //-----------------------------------------------------------------------------{ n = bar_index var ln = array.new_line(0) if barstate.isfirst and repaint for i = 0 to 499 array.push(ln,line.new(na,na,na,na)) //-----------------------------------------------------------------------------} //End point method //-----------------------------------------------------------------------------{ var coefs = array.new_float(0) var den = 0. if barstate.isfirst and not repaint for i = 0 to 499 w = gauss(i, h) coefs.push(w) den := coefs.sum() out = 0. if not repaint for i = 0 to 499 out += src[i] * coefs.get(i) out /= den mae = ta.sma(math.abs(src - out), 499) * mult upper = out + mae lower = out - mae //-----------------------------------------------------------------------------} //Compute and display NWE //-----------------------------------------------------------------------------{ float y2 = na float y1 = na nwe = array.new<float>(0) if barstate.islast and repaint sae = 0. //Compute and set NWE point for i = 0 to math.min(499,n - 1) sum = 0. sumw = 0. //Compute weighted mean for j = 0 to math.min(499,n - 1) w = gauss(i - j, h) sum += src[j] * w sumw += w y2 := sum / sumw sae += math.abs(src[i] - y2) nwe.push(y2) sae := sae / math.min(499,n - 1) * mult for i = 0 to math.min(499,n - 1) if i%2 line.new(n-i+1, y1 + sae, n-i, nwe.get(i) + sae, color = upCss) line.new(n-i+1, y1 - sae, n-i, nwe.get(i) - sae, color = dnCss) if src[i] > nwe.get(i) + sae and src[i+1] < nwe.get(i) + sae label.new(n-i, src[i], '▼', color = color(na), style = label.style_label_down, textcolor = dnCss, textalign = text.align_center) if src[i] < nwe.get(i) - sae and src[i+1] > nwe.get(i) - sae label.new(n-i, src[i], '▲', color = color(na), style = label.style_label_up, textcolor = upCss, textalign = text.align_center) y1 := nwe.get(i) //-----------------------------------------------------------------------------} //Dashboard //-----------------------------------------------------------------------------{ var tb = table.new(position.top_right, 1, 1 , bgcolor = #1e222d , border_color = #373a46 , border_width = 1 , frame_color = #373a46 , frame_width = 1) if repaint tb.cell(0, 0, 'Repainting Mode Enabled', text_color = color.white, text_size = size.small) //-----------------------------------------------------------------------------} //Plot //-----------------------------------------------------------------------------} plot(repaint ? na : out + mae, 'Upper', upCss) plot(repaint ? na : out - mae, 'Lower', dnCss) //Crossing Arrows plotshape(ta.crossunder(close, out - mae) ? low : na, "Crossunder", shape.labelup, location.absolute, color(na), 0 , text = '▲', textcolor = upCss, size = size.tiny) plotshape(ta.crossover(close, out + mae) ? high : na, "Crossover", shape.labeldown, location.absolute, color(na), 0 , text = '▼', textcolor = dnCss, size = size.tiny) //-----------------------------------------------------------------------------}
프로필 이미지
이글루
2025-03-12
518
글번호 189065
지표
답변완료

안녕하세요.

안녕하세요.. 지표에 시초가 가격을 왼쪽 상단에 보이게 할 수 있게 부탁드립니다... 시초가를 A 부분에요
프로필 이미지
구름달
2025-03-12
334
글번호 189064
지표

구름달 님에 의해서 삭제되었습니다.

프로필 이미지
구름달
2025-03-12
0
글번호 189063
지표

새벽에 님에 의해서 삭제되었습니다.

프로필 이미지
새벽에
2025-03-12
10
글번호 189062
지표
답변완료

함수요청

안녕하세요? 아래 스크립트에서 매수신호는 매도신호를 매도신호는 매수신호를 매수청산신호는 매도청산신호를 매도청산신호는 매수청산신호가 생성되도록 신호를 거꾸로 나오게 해주세요 input : n(5); input : cc(5), sm(4), lm(11); var1 = ma(c,cc); var2 = ma(c,sm); var3 = ma(c,lm); Condition1 = var1 < Var3 and Var2 > Var3; Condition2 = var1 > Var3 and Var2 < var3; if NextBarSdate != sDate Then { if DayClose(1) < DayOpen(1) and DayClose(0) > DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition2 == true Then Buy("b1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0)) and condition2 == true then Buy("b2",AtMarket); } if DayClose(1) > DayOpen(1) and DayClose(0) < DayOpen(0) Then { if max(DayClose(1),DayOpen(1)) > max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) < min(DayClose(0),DayOpen(0)) and condition1 == true Then Sell("s1",AtMarket); if max(DayClose(1),DayOpen(1)) < max(DayClose(0),DayOpen(0)) and min(DayClose(1),DayOpen(1)) > min(DayClose(0),DayOpen(0))and condition1 == true Then Sell("s2",AtMarket); } } if MarketPosition == 1 Then { if IsEntryName("b1",0) == true and BarsSinceEntry == n Then { if NextBarOpen >= EntryPrice Then ExitLong("bx1",AtMarket); Else Sell("s3",AtMarket); } if IsEntryName("b2",0) == true and BarsSinceEntry == n Then { if NextBarOpen >= EntryPrice Then ExitLong("bx2",AtMarket); Else Sell("s4",AtMarket); } if IsEntryName("b3",0) == true and BarsSinceEntry == n Then { ExitLong("bx3",AtMarket); } if IsEntryName("b4",0) == true and BarsSinceEntry == n Then { ExitLong("bx4",AtMarket); } } if MarketPosition == -1 Then { if IsEntryName("s1",0) == true and BarsSinceEntry == n Then { if NextBarOpen <= EntryPrice Then ExitShort("sx1",AtMarket); Else Buy("b3",AtMarket); } if IsEntryName("s2",0) == true and BarsSinceEntry == n Then { if NextBarOpen <= EntryPrice Then ExitShort("sx2",AtMarket); Else Buy("b4",AtMarket); } if IsEntryName("s3",0) == true and BarsSinceEntry == Then { ExitShort("sx3",AtMarket); } if IsEntryName("s4",0) == true and BarsSinceEntry == n Then { ExitShort("sx4",AtMarket); } }
프로필 이미지
흰둥이아빠
2025-03-11
346
글번호 189060
시스템
답변완료

안녕하세요~ 문의드립니다.

차트에 오늘 날짜를 기준으로 N일 전날을 차트에 후행스팬으로 표기하는 지표식 부탁드립니다. 가령 2025년 3월 11일 당일 종가를 60일전 2025년 1월 10일에 후행스팬처럼 차트에 표기하고 싶습니다. 감사합니다~^
프로필 이미지
바람의상처
2025-03-11
354
글번호 189059
지표