커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식요청

안녕하세요 늘 도움 감사합니다 다음의 조건으로 수식을 부탁드립니다 어떤 분 봉 이든지 가장 최근 봉 에서 양 봉은 (시가) 와 음 봉의 (고가) 에 만 수평선 과 가격이 표시 되도록 수식을 만들어 주시길 부탁드립니다.
프로필 이미지
알리섬
2024-12-30
688
글번호 186723
지표
답변완료

수식문의 드립니다.

문의 드립니다. -아래에서 1.조건을 1번 2번으로 나누어서 진입횟수가 5회까지는 1번조건 금액1만매수 2. 5~10회 까지는 2번조건 금액3만매수 3. 10회 이후는 3번조건으로 금액 5만매수 20회 이내에 매수후 토탈 평균가 a% 이상일때 일괄 시장가 매도수식도 가능할까요? 자꾸 질문드려서 죄송합니다. 잘 부탁드려요. ==올 한해 마무리 잘 하시고 새해 복 마니마니 받으세요! ~~^^== -아래 Input : Period1(50),Period2(9),period(30),n(30),진입횟수1(5),진입횟수2(10), 진입회수3(20),금액1(0000),금액2(0000),금액3(0000), percent(2); var :af(0.02), maxAF(0.2),f(0), CCIv(0),CCIsig(0),a(0),b(0),DMIv(0),dp(0),dm(0),DParity(0),DParity1(0),count(0); CCIv = CCI(Period1); CCIsig = ema(CCIv,Period2); var1 = SAR(af,maxAF); a=ma(c,120); b=ma(c,5); f=highest(h,2); value1 = MACD(12,26); value2 = ema(value1, 9); DMIv = DMI(Period); DP = DIPlus(Period); DM = DIMinus(Period); DParity = Disparity(120); DParity1 = Disparity(240); if CrossDown(CCIv,100) and CountIf(CCIV > 100,n) >= 1 Then { count = 0; } 1번조건 if cciv<100 and CrossUp(CCIv,CCIsig) Then { count = count+1; if count < 1.진입횟수*금액1 Then Buy("b"); } 2번 조건 if cciv<100 and CrossUp(CCIv,CCIsig) Then { count = count+1; if count < 2.진입횟수*금액2 Then Buy("b"); } 3번 조건 if cciv<100 and CrossUp(CCIv,CCIsig) Then { count = count+1; if count < 3.진입횟수*금액3 Then Buy("b"); } if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,AvgEntryPrice*(1+percent/100)); }
프로필 이미지
정도령7
2024-12-30
709
글번호 186720
시스템
답변완료

질문 드리겠습니다

안녕하세요 몇 가지 질문 좀 부탁드리겠습니다 1. 아래 수식은 현재 만족봉과 이전 만족봉 사이의 평균 구하는 식인데요 var: cnt(0), sum1(0), sumi(0); if h>l*1.05 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1= Index; Var2=Index[1]; sum1=0; sumi=0; For cnt = 1 to (var1-Var2)-1 { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; Plot11(value1); } For cnt = 1 to (var1-Var2)-1 이 부분에 따르면 현재 만족봉과 이전만족봉은 포함시키지 않고 평균을 구하는건데 둘 사이에 봉이 없을 경우 0이 출력 되는거죠?. 그리고 만약에 현재 만족봉까지 포함 시키려면 for cnt=0 to (var1-var2)-1 이라고 작성하면 되고 현재봉과 이전봉 모두 포함하려면 for cnt=0 to (var1-var2) 이렇게 작성하는게 맞는지 궁금합니다 2. 수식을 부탁드립니다 아래 평균구하는 수식에서 변형을 하려고 하는데요 (현재봉 , 이전봉 둘다 포함시키려고 for 문에는 0 to (var1-var2) 로 해놨습니다, 틀렸으면 고쳐주세요) 만일 조건만족봉 사이 간격이 5봉 미만이라면 평균을 일단 구하지 않고, 새로운 만족봉이 나왔을때 간격이 5봉 이상이라면 모든 봉들을 이용해서 평균을 구하고 싶습니다 예를들어 a2,a1,a0 가 조건 만족했을때의 봉이라고 했을때 a2 와 a1 사이가 3봉이고 (조건만족봉 a2,a1 까지 포함해서 3개) 새로운 조건봉 a0 가 나타났을때 a1와 a0 사이가 10개봉 (a1,a0 까지 포함해서 10개)이라면 3봉+10봉 해서 13개봉의 평균을 구하고 싶습니다 var: cnt(0), sum1(0), sumi(0); if h>l*1.05 Then { TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999); var1= Index; Var2=Index[1]; sum1=0; sumi=0; For cnt = 0 to (var1-Var2) { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; Plot11(value1); } 3. 아래식을 작성해봤는데 맞는건지 한번 확인해주심 감사하겠습니다 원하는 조건: 만약 aa[2] > aa[1] and aa[1] < aa[0] 이라는 조건이 만족하면, aa[3]가 시작한 시점부터 aa[0]까지의 모든 봉의 평균을 구하고 싶습니다 var: cnt(0), sum1(0), sumi(0),period(0),sumsqrt(0),stdv(0),stand(0); var : sum2(0),sumi2(0),avg2(0); array: aa[50](0); if h>l*1.06 Then { TL_NEW(sDatE,sTimE,h*1.15,sDatE,sTimE,99999); var1= Index; Var2=Index[1]; sum1=0; sumi=0; For cnt = 0 to (var1-Var2) { sum1=sum1+h[cnt]; sumi=sumi+1; } value1=sum1/sumi; value12= ma(h,20); For cnt = 50 DownTo 1 { aa[cnt]=aa[cnt-1]; } aa[0]= value1; if aa[2] > aa[1] and aa[1] < aa[0] Then { Var3=Index; Var4=Index[3]; sum2=0; sumi2=0; For cnt = 0 to (var3-Var4) { sum2=sum2+h[cnt]; sumi2=sumi2+1; } avg2=sum2/sumi2; } Plot16(avg2,"aa",Orange,Def,1); }
프로필 이미지
yamu
2024-12-30
610
글번호 186719
지표
답변완료

검색식 부탁드립니다.

안녕하세요? 다음수식을 검색식으로 변환 부탁드립니다.. 항상 답변해주셔서 감사합니다.. ------------------------------------ 1번 a=avg(c,5); b=avg(c,20); d=avg(c,60); D1=(A+B+D)/3; A1=(highest(high,9)+lowest(low,9))/2; B1=(highest(high,26)+lowest(low,26))/2; B2=(A1+B1)/2; A3=RSI(9)-50; B3=CMO(12)*0.5; B4=A3+B3; B5=eavg(C,120); crossup(D1,B5) or crossup(B2,B5)) ------------- 2번 A = daylow()+(dayhigh()-daylow())/2; CrossUp(C,A) AND CrossUp(c,BBandsUp(20,2))
프로필 이미지
오말리
2024-12-30
709
글번호 186718
종목검색
답변완료

예스랭귀지 수식 요청합니다

<1번> R=RSI(14)>50 S=(highest(high,52)+lowest(low,52)); D=valuewhen(1,R,S); Z=crossup(C,D) && dayhigh()>daylow(); cnt=countsince(date!=date(1),Z); cnt==1 && cnt(1)==0 <2번> A=(highest(high,20)-lowest(low,20)); B=highest(high,20)-(A*0.2); C>B <3번> S=EAVG(C,5); L=EAVG(C,20); X=crossup(S,L) <4번> X = BBandsup(20,2); Y = MA(C,20,단순); IF CROSSUP(C, X),D,0) && CROSSUP(C, Y) <5번> R=RSI(14); E=EAVG(RSI(14),9); D=Crossup(R, E); sum(if(D, 1, 0), 10) >= 1 안녕하세요 위의 키움수식들을 예스랭귀지 변환 가능할까요? 감사합니다
프로필 이미지
당근인생
2024-12-29
682
글번호 186717
종목검색
답변완료

TradingView 지표인데 예스트레이더 형식으로 바꾸어 주시면...

Box가 나오니 어렵네요. 변환이 가능허면 부탁드릴께요. 미리 감사드립니다. //@version=6 // ★★★ Range Detector [LuxAlgo] ★★★ indicator('Range Detector [LuxAlgo]', '@Range Detector - LuxAlgo', overlay = true, max_boxes_count = 500, max_lines_count = 500) //------------------------------------------------------------------------------ //Settings //-----------------------------------------------------------------------------{ length = input.int(20, 'Minimum Range Length', minval = 2) mult = input.float(1., 'Range Width', minval = 0, step = 0.1) atrLen = input.int(500, 'ATR Length', minval = 1) //Style upCss = input(color.fuchsia, 'Broken Upward', group = 'Style') dnCss = input(color.teal, 'Broken Downward', group = 'Style') unbrokenCss = input(#5079f3, 'Unbroken', group = 'Style') //-----------------------------------------------------------------------------} //Detect and highlight ranges //-----------------------------------------------------------------------------{ //Ranges drawings var box bx = na var line lvl = na //Extensions var float max = na var float min = na var os = 0 color detect_css = na n = bar_index atr = ta.atr(atrLen) * mult ma = ta.sma(close, length) count = 0 for i = 0 to length - 1 by 1 count := count + (math.abs(close[i] - ma) > atr ? 1 : 0) count if count == 0 and count[1] != count //Test for overlap and change coordinates if n[length] <= bx.get_right() max := math.max(ma + atr, bx.get_top()) min := math.min(ma - atr, bx.get_bottom()) //Box new coordinates bx.set_top(max) bx.set_rightbottom(n, min) bx.set_bgcolor(color.new(unbrokenCss, 80)) //Line new coordinates avg = math.avg(max, min) lvl.set_y1(avg) lvl.set_xy2(n, avg) lvl.set_color(unbrokenCss) else max := ma + atr min := ma - atr //Set new box and level bx := box.new(n[length], ma + atr, n, ma - atr, na, bgcolor = color.new(unbrokenCss, 80)) lvl := line.new(n[length], ma, n, ma, color = unbrokenCss, style = line.style_dotted) detect_css := color.new(color.gray, 50) os := 0 os else if count == 0 bx.set_right(n) lvl.set_x2(n) //Set color if close > bx.get_top() bx.set_bgcolor(color.new(upCss, 80)) lvl.set_color(upCss) os := 1 os else if close < bx.get_bottom() bx.set_bgcolor(color.new(dnCss, 80)) lvl.set_color(dnCss) os := -1 os //-----------------------------------------------------------------------------} //Plots //-----------------------------------------------------------------------------{ //Range detection bgcolor bgcolor(detect_css) plot(max, 'Range Top', max != max[1] ? na : os == 0 ? unbrokenCss : os == 1 ? upCss : dnCss, 2) plot(min, 'Range Bottom', min != min[1] ? na : os == 0 ? unbrokenCss : os == 1 ? upCss : dnCss, 2) //-----------------------------------------------------------------------------} // my add longCond = ta.crossover(close, max) shortCond = ta.crossunder(close, min) //plot(longCond ? max : na, color=color.yellow, style = plot.style_cross, linewidth = 4, title="Cross+") //plot(shortCond ? min : na, color=color.yellow, style = plot.style_cross, linewidth = 4, title="Cross-") plotchar(longCond ? max : na, 'cross Up ↑', '△', location.absolute, #ffff00, size = size.small) plotchar(shortCond ? min : na, 'cross Dn ↓', '▽', location.absolute, #ffff00, size = size.small)
프로필 이미지
고도산
2024-12-29
850
글번호 186716
지표
답변완료

수식작성 부탁드립니다.

안녕하세요. 운영자님 구현하고자 하는 시스템 수식은, 매수조건 : 주가가 시가보다 아래에서 머물다가 일봉상 시가 또는 30분봉상 이전 직전봉 종가를 상향돌파시 매수진입하고, 손절 30틱, 익절 30틱 매도조건 : 주가가 시가보다 위에서 머물다가 일봉상 시가 또는 30분봉상 이전 직전봉 종가를 하향돌파시 매도진입하고, 손절 30틱, 익절 30틱 새해 복 많이 받으세요..
프로필 이미지
고박사122
2024-12-29
652
글번호 186715
시스템
답변완료

예스트레이더 언어로 변환해서 검색식 부탁드립니다.

1. 신호수식 최고가=최고값(고가,20); 최저가=최저값(저가,20); 경계=(최고가+최저가)/2-(최고가-최저가)*배분1; 경1=crossup(종가, 경계)&& 종가>시가*배분2; 경2=crossdown(c, 경계); 기준봉=valuewhen(1, 경1 or 경2, 시가); 기봉1=crossup(종가, 기준봉); 기봉2=crossdown(종가, 기준봉); 결준=valuewhen(1, 기봉1 or 기봉2, 시가); 결기1=crossup(종가, 결준); 결기2=crossdown(종가, 결준); A=valuewhen(1, 결기1 or 결기2, 시가); M5=eavg(C,5); M10=eavg(C,10); M20=eavg(C,20); M60=eavg(C,60); M120=eavg(C,120); M240=eavg(C,240); M250=eavg(C,250); M480=eavg(C,480); BH=BBandsUp(20,2); BC=BBandsC(20,2); 평균=((M5*2)+(M10*2)+(M20*3)+(M60*2)+(M120*3)+(M240*2)+(M480*2)+(BH*1)+(BC*1)) / 18; 평균라인=Tema(평균, 5, 지수); B=평균라인 + 20*stdev(평균라인,5); AA=sar(0.02,0.2); 거래대금=V*C; // 거래대금 계산 C >= A && CROSSUP(C, B) && AA <= C && C >= M250 && 거래대금 >= 6000000&& MACD(shortPeriod,longPeriod)>baseLine &&MACD(shortPeriod,longPeriod)>= eavg(MACD(shortPeriod,longPeriod),sigPeriod) 2. 지표변수 배분1 0.236 배분2 1.02 shortPeriod 12 longPeriod 26 sigPeriod 9 baseLine 0 sigPeriod 9 이건 키움증권 화살표 수식입니다. 이걸 예스트레이더 언어로 변환해서 검색식으로 만들수 있을까요?
프로필 이미지
늑대의유혹
2024-12-29
735
글번호 186714
검색
답변완료

종목 검색 부탁드려요

*문의드립니다 1) 1봉전 캔들은 음봉 , 0봉전 캔들은 양봉인 종목검색식 부탁드립니다.(일봉기준) 2) 2봉전 캔들은 음봉, 1봉전 캔들은 양봉, 0봉전 캔들은 양봉인 종목검색식 부탁드려요. 2) 이격도 보조지표에서 20일 이격도선이 내려가다가 반등할때 ( 전일보다 반등할때-일봉기준) 종목검색식 부탁드립니다.
프로필 이미지
일지매7
2024-12-29
605
글번호 186713
종목검색