커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

함수 사용법

안녕하세요! 항상 자세한 답변주심에 너무 감사드립니다. 오늘은 함수하나 질문드리고자 글을 올립니다. 함수중, TrimMean(Price, Length, TrimPct)이라는 함수인데요 함수안의 파라미터 중, 세번째 파라미터의 경우 제외백분율이라고 표시됩니다. 질문은 다음과 같습니다. 1) 이것이 분포에 있어서 양끝단을 절사하는지요? 2) 들어갈 수 있는 숫자의 폭이 어떻게 되는건가요?(0~1?? , 0~100?) 이 외에 사용예나 사용법의 첨언이 있으시다면 너무 감사하겠습니다. 좋은하루 되세요!
프로필 이미지
아침식사됩니다
2025-03-03
516
글번호 188714
사용자 함수
답변완료

질문 드리겠습니다

안녕하세요 질문 두 가지 부탁드립니다 질문1)아래 식은 조건만족 했을때 하루에 한번 (최초 만족값만)만 나오게 작성했는데요 조건만족하고 나서 3 거래일 이상 경과 됐을때만 신호가 나오게 하려고 합니다. 신호가 발생하고 다음날 또 나온다면 무시하고 3일 이상 경과 했을때만 나오게 하려고 합니다 차트는 분봉상에서 보고 있습니다 질문2) 질문1에서 작성해주신 수식을 분봉 타주기로 나타내려고 하는데요 **혹시 추세선으로 높은 주기에서 낮은 주기 표현이 가능할까요? 가능하다면 120분봉에서 볼때 10분봉의 신호를 부탁드립니다 안된다면 해당 수식을 10분봉에서 120봉 신호를 나타내는 수식을 부탁드립니다 질문3) 혹시 타종목 참조 할때 data2 의 차트를 최소화 해도 본차트에 수식이 반영이 되나요?? 낮은 주기를 같이 볼때 본차트가 늘어져서요 수식만 적용하고 본차트만 볼 수 있는지 궁금합니다 식은 아래와 같습니다 감사합니다 var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0); var: sum2(0),sumi2(0),sumaa(0); var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0); Array : ii[50](0),aa[50](0),bb[50](0),ttl[10](0); if Bdate != Bdate[1] Then DD = DD+1; if H>vi(1)*0.95 Then { d1 = dd; d2 = d1[1]; if d1 >= d2+1 Then { var1 = Index; Var2 = var1[1]; Var3= Var2[1]; tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,999999); TL_SetSize(tl,0); TL_SetColor(tl,DarkGray);
프로필 이미지
yamu
2025-03-04
568
글번호 188713
지표
답변완료

검색식 부탁 드립니다

A1 = ma(c,2); A2 = ma(c,120); A3 = ma(c,240); 이격율 = A2 / A3 * 100 - 100; 조건 = H > C(1) *1.15 && C > C(1)*1.1 && 거래대금 >= 20000 && RSI(14) >= 70; 조건 && crossup(c, A2) && crossup(c, A3) && crossup(A1, A2) && crossup(A1, A3) && 이격율 > -7 && 이격율 < 7; S=sum(1); M5=ma(c,기간1,지수); M2=ma(c,기간2); 상전=M5>M5(1) && M5(1)<M5(2); DC=valuewhen(1, crossdown(M5,M2), S); 상1=valuewhen(1, 상전, S); 상2=valuewhen(2, 상전, S); 상3=valuewhen(3, 상전, S); GC=valuewhen(1, crossup(M5,M2),S); 조건W=상3<Dc && Dc<상2 && 상2<상1 && 상1<Gc && 조건W && !조건W(1); 매집1=Crossup(h,BBandsUp(40,2)); 매집2=CrossUP(MACD(9,52),0); 매집3=Crossup(MACD(9,52),eavg(MACD(9,52),26)); cs1=Crossup(Stochasticsslow(20,12), eavg(Stochasticsslow(20,12),12)); cs2=crossup(cci(20),0); 최종= 매집1+매집2+매집3 >=2 or cs1+cs2 >=2 and H > C(1)*1.30; 최종(-1)
프로필 이미지
마지막행운
2025-03-03
735
글번호 188712
종목검색
답변완료

부탁드립니다.

1. 매시간마다 전시간대 최고가와 최저가를 기준으로 3등분(또는 4등분, 5등분할 수 있도록 조정가능하게끔)하여 우측추세선으로 나타나도록 구현해 주세요 2. 매일 전일 최고가와 최저가를 기준으로 3등분(또는 4등분, 5등분할 수 있도록 조정가능하게끔)하여 우측추세선으로 나타나도록 구현해 주세요 3. 매월 전월 최고가와 최저가를 기준으로 3등분(또는 4등분, 5등분할 수 있도록 조정가능하게끔)하여 우측추세선으로 나타나도록 구현해 주세요 고맙습니다.
프로필 이미지
서태공
2025-03-03
450
글번호 188711
지표
답변완료

수식문의입니다

어떤 신호가 예를들어 종가상 5이평선골드발생신호가 월시작후 영업일기준 5일이내에 발생하거나 15일이후(월말이전 5일이내)에 발생되는 경우로 한정하고 싶은데 조건설정수식을 어케 추가해야하나요?
프로필 이미지
해피오
2025-03-03
437
글번호 188710
검색

회원 님에 의해서 삭제되었습니다.

프로필 이미지
회원
2025-03-03
129
글번호 188709
시스템
답변완료

수식 문의 드립니다.

안녕하세요. 일봉이평선 사이의 차를 차트상 표시 가능한가요? 예를 들면 전일 5일선이 15000 당일 5일선이 14500 차 500 전일시가 13000 일 때 전일시가+차(500)=13500을 차트 표시가능한가요? 가능하다면 주봉이평선의 수식도 부탁드립니다.
프로필 이미지
부활
2025-03-03
482
글번호 188708
지표
답변완료

수식 변환 부탁드립니다

다음 TradingView 수식 중 O1= barssince(buySignal) O2= barssince(sellSignal) O3= barssince(buyExit) O4= barssince(sellExit) E1= barssince(buySignal[1]) E2= barssince(sellSignal[1]) E3= barssince(buyExit[1]) E4= barssince(sellExit[1]) 부분을 예스트레이더로 변환하는 데 어려움이 있습니다. barssince(조건식)을 예스트레이더로 수행하는 함수를 부탁합니다. ================================================================================ study(title="Turtle Trade Channels Indicator", shorttitle="TuTCI@q", overlay=true, resolution="") length = input(20,"Entry Length", minval=1) len2=input(10, "Exit Length", minval=1) showsignals = input(title="Show Entry/Exit Signals ?", type=input.bool, defval=true) highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true) lower = lowest(low, length) upper = highest(high, length) u = plot(upper, "Upper", color=#0094FF) l = plot(lower, "Lower", color=#ff0000) up=highest(high,length) down=lowest(low,length) sup=highest(high,len2) sdown=lowest(low,len2) K1=barssince(high>=up[1])<=barssince(low<=down[1]) ? down : up K2=iff(barssince(high>=up[1])<=barssince(low<=down[1]),sdown,sup) K3=iff(close>K1,down,na) K4=iff(close<K1,up,na) plot(K1, title="Trend Line", color=color.red, linewidth=2) e=plot(K2, title="Exit Line", color=color.blue, linewidth=1, style=6) buySignal=high==upper[1] or crossover(high,upper[1]) sellSignal = low==lower[1] or crossover(lower[1],low) buyExit=low==sdown[1] or crossover(sdown[1],low) sellExit = high==sup[1] or crossover(high,sup[1]) O1= barssince(buySignal) O2= barssince(sellSignal) O3= barssince(buyExit) O4= barssince(sellExit) E1= barssince(buySignal[1]) E2= barssince(sellSignal[1]) E3= barssince(buyExit[1]) E4= barssince(sellExit[1]) plotshape(buySignal and O3<O1[1] ? down : na, title="Long Entry", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0)) plotshape(buySignal and showsignals and O3<O1[1] ? down : na, title="Long", text="Long Entry", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.new(color.white,0)) plotshape(sellSignal and O4<O2[1] ? up : na, title="Short Entry", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0)) plotshape(sellSignal and showsignals and O4<O2[1] ? up : na, title="Short", text="Short Entry", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.new(color.white,0)) plotshape(buyExit and O1<O3[1] ? up : na, title="Long Exit", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.blue,0)) plotshape(buyExit and showsignals and O1<O3[1] ? up : na, title="Long Exit", text="Exit Long", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.blue, textcolor=color.new(color.white,0)) plotshape(sellExit and O2<O4[1] ? down : na, title="Short Exit", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.blue,0)) plotshape(sellExit and showsignals and O2<O4[1] ? down : na, title="Short", text="Exit Short", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.blue, textcolor=color.new(color.white,0)) color1= highlighting and min(O1,O2,O3)==O1 ? color.green : na color2= highlighting and min(O1,O2,O4)==O2 ? color.red : na fill(u, e, color=color1, title="Background") fill(l, e, color=color2, title="Background")
프로필 이미지
고도산
2025-03-04
558
글번호 188707
지표
답변완료

수식문의드립니다.

안녕하세요, 아래 분할 청산 수식에 더해서 if marketposition == 1 and c > DayOpen and c > o Then { if Value6 > 0.02 Then Buy("S1_upb"); } 이걸 추가하고 싶은데, 이때 Buy 수량을 분할청산으로 나간 수량 만큼만 매수하고 싶습니다. 수식 부탁드립니다. input : txratio(0.3),txa(3),txam(5),txb(8),txn(2); var : trXcond1(false),trXcond2(false),trXcond3(false),ii(0); if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx1" Then trXcond1 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx2" Then trXcond2 = true; if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx3" Then trXcond3 = true; var1 = highest(H,BarsSinceEntry); if trXcond1 == false and var1 >= EntryPrice*(txa/100+1) and var1 < EntryPrice*(((txa+txam)/100)+1) Then { ExitLong("trx1",AtStop,var1*(1-txn/100),"",currentContracts*txratio,1); } if trXcond2 == false and var1 >= EntryPrice*(txb/100+1) and var1 < EntryPrice*(((txb+txam)/100)+1) Then ExitLong("trx2",AtStop,var1*(1-txn/100),"",currentContracts*txratio,1); #청산발생하면 ii는 0 if CurrentContracts < CurrentContracts[1] Then ii = 0; else { #청산발생 후 1씩 증가 if ii >= 0 Then ii = ii +1; } if (ii > 96) and trXcond3 == false and var1 >= EntryPrice*(txa/100+1) and var1 < EntryPrice*(((txa+txam)/100)+1) Then { ExitLong("trx3",AtStop,var1*(1-(txn+1)/100),"",currentContracts*txratio,1); } } Else { #매수포지션이 아니면 -1로 초기화 ii = -1; trXcond1 = false; trXcond2 = false; trXcond3 = false; }
프로필 이미지
김예스
2025-03-03
427
글번호 188706
시스템