커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

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

종목 검색식을 만들고 싶습니다. 최근 N일 동안 최소 1번 이상 최고가가 상한가를 간 종목을 찾고 싶습니다. (종가상 상한가 뿐만 아니라, 장중 최고가가 상한가 또는 상한가로 마감한 종목) 매번 감사드립니다.
프로필 이미지
묻어가는자
2024-11-13
775
글번호 185219
검색
답변완료

지표식 수정

바로 아래는 키움식인데 이것을 예스식으로 바꾸려고합니다. s=sum(1); A=valuewhen(1, s%봉수==1, O); As=valuewhen(1, s%봉수==1, S); B=valuewhen(1, s%봉수==0, C); Bs=valuewhen(1, s%봉수==0, S); AA=VALUEWHEN(1,AS<BS,A),-봉수+1; BB=VALUEWHEN(1,AS<BS,B),-봉수+1; LL=VALUEWHEN(1, S%봉수==0, lowest(l,봉수)); 흰선1=min(aa,bb); 음고1=valuewhen(1,As<Bs, A),-봉수+1; 양고1=valuewhen(1,As<Bs, B),-봉수+1; 평고1=if(음고1>=양고1,-(음고1-흰선1), +(양고1-흰선1)); qq1=sum(평고1, n2)/1000; qq2=crossup(qq1, 0) or crossdown(qq1, 0); qq3=if(qq2, 50, 0); valuewhen(1, qq3, h) 에서 위 고가 선과 위 식 유사부분은 생략.... valuewhen(1, qq3, l) 저 저가 선 사이에 봉(차트상의 봉사이에 그 바음 고저선이 나타나지 전까지 사이에 색상은 유지) 고저에 선이 그어지고 그 사이 색을 입히고 싶습니다. ( 봉수, n1, n2 는 변수로 설정하여 각각 100, 30, 70으로 임의로 우선 설정한다) 아래는 만들어 본 것인데... 에러가 너무 많아요 수정보다는 전체적으로 다시 작성을 부탁합니다. input : 봉수(75), n1(30), n2(200); // 변수 설정 var : s(0), A(0), As(0), B(0), Bs(0), AA(0), BB(0), LL(0), 흰선1(0), 음고1(0), 양고1(0), 평고1(0), qq1(0), qq2(false), qq3(0), qq33(0), qq22(false); // 카운터 변수 업데이트 s = s + 1; // 봉수와 관련된 가격 계산 A = iff(s % 봉수 == 1, Open, A); // 봉수마다 매수 가격 (시가) As = iff(s % 봉수 == 1, s, As); // 봉수마다 매수 시점 B = iff(s % 봉수 == 0, Close, B); // 봉수마다 종가 Bs = iff(s % 봉수 == 0, s, Bs); // 봉수마다 매도 시점 // 조건에 맞는 A, B값 계산 AA = iff(As < Bs, A, AA); BB = iff(As < Bs, B, BB); LL = iff(s % 봉수 == 0, lowest(Low, 봉수), LL); // 봉수만큼의 최저가 계산 // 흰선1 설정: AA와 BB 중 작은 값 흰선1 = min(AA, BB); // 음고1과 양고1 조건 설정 음고1 = iff(As < Bs, A, 음고1); 양고1 = iff(As < Bs, B, 양고1); // 평고1 계산 평고1 = iff(음고1 >= 양고1, -(음고1 - 흰선1), 양고1 - 흰선1); // qq1 계산: n2 기간 동안 평고1 합산 값 계산 qq1 = sumN(평고1, n2) / 1000; // 교차 여부 체크 qq2 = CrossUp(qq1, 0); // qq1 값이 0을 상향 교차하는지 확인 qq22 = CrossDown(qq1, 0); // qq1 값이 0을 하향 교차하는지 확인 // 교차 신호 발생 시 50, 그렇지 않으면 0 qq3 = iff(qq2, 50, 0); qq33 = iff(qq22, 50, 0); // 최종 출력 plot1 = iff(qq3 == 50, High, 0); // 상향 교차 고가 값 plot2 = iff(qq33 == 50, Low, 0); // 하향 교차 저가 값 Plot(plot1, "상향 교차 고가 값", colorRed); Plot(plot2, "하향 교차 저가 값", colorBlue);
프로필 이미지
정구지
2024-11-13
847
글번호 185218
지표
답변완료

수정부탁드립니다.

수고하십니다. 아래수식을 시뮬레이션 해보면 틱의 동일봉에서 동일시간으로 매수,매도 청산까지 이루어질때도 있는데 다음봉부터 청산이나 매매스위칭 되게 수정부탁드립니다. 첨부그림 참조해주세요. --------------------------------------------------------------------- INPUT : LENGTH(1), PRO(0.35), LOSS(0.4),T(144900),TICK(1); VAR : TCHAN(0), BCHAN(0); var : bs1(0),ss1(0); var : bs2(0),ss2(0); var : bs3(0),ss3(0); var : bl(0),bh(0), sh(0), sl(0); TCHAN = HIGHEST(HIGH, LENGTH)[1]; BCHAN = LOWEST(LOW, LENGTH)[1]; // TCHAN 보다 크면 매수 1단계 if TCHAN[1] < H[1] then {bs1 = 1;} if BCHAN[1] > L[1] then {ss1 = 1;} // 만약 매수 1단계 진행중 BCHAN의 저가를 깨면 매수단계 초기화 if bs1 == 1 and BCHAN > L then {bs1=0; } if ss1 == 1 and TCHAN < H then {ss1=0; } //진입 if bs1 == 1 then {buy("매수",atlimit,TCHAN-PriceScale*TICK); } if ss1 == 1 then {sell("매도",atlimit,BCHAN+PriceScale*TICK); } SetStopProfittarget(PRO,PointStop); SetStopLoss(LOSS,PointStop);
프로필 이미지
비류천
2024-11-13
756
글번호 185216
시스템
답변완료

수식 질문합니다.

안녕하세요. 20/390선 데드 후 골드한 종목 중에서 1. 이전 골드 후 정배열 기간 대비 데드후골드 기간이 10% 이하로 짧은 종목. 2. 이전 골드 후 정배열 기간은 60봉 이상, 데드후골드 기간은 20봉 이하인 종목. 감사합니다.
프로필 이미지
트더
2024-11-12
797
글번호 185215
종목검색
답변완료

함수질문입니다.

안녕하세요! 항상 친절한 답변 감사합니다. 초보라 독해만하고 있는데, 시간함수가 혼란스러워 질문드립니다. 1) 일봉에서 sdate[0]와 date[1]는 결국 같은 값인가요? 2) 같은 맥락으로 분봉주기에서 Stime[0] 과 time[1]은 같은 값일 수 밖에 없는 건가요? 매번 시간 내주셔서 감사합니다.
프로필 이미지
아침식사됩니다
2024-11-12
685
글번호 185214
검색
답변완료

부탁드립니다

input : 분(30); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : HH[50](0),LL[50](0),OO[50](0), cc[50](0), pp[50](0); if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TimeToMinutes(stime)%분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { for cnt = 49 downto 1 { OO[cnt] = OO[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; cc[cnt] = cc[cnt-1]; pp[cnt] = pp[cnt-1]; } OO[0] = O; HH[0] = H; LL[0] = L; cc[0] = C; pp[0] = O; } if H > HH[0] Then HH[0] = H; if L < LL[0] Then LL[0] = L; 위의 식은 분단위인데 일단위로 변경할 수 있을까요?
프로필 이미지
땡열이
2024-11-12
858
글번호 185213
지표
답변완료

시스템식에서 알람을 울리게 할 수는 없는지요?

시스템식에서 알람을 넣으니 울리지 않는데... 제가 뭘 잘 못한 건가요? 강조식에서는 잘 작동되는 알람이 시스템식에서는 않되는데... 원래 그런가요?
프로필 이미지
정구지
2024-11-12
618
글번호 185212
시스템
답변완료

지표나 강조 시스템 적용이 되면 화면에 표시가 되게 하려면 어디에 가야 하나요?

화면 좌측 상단에 적용된 수식이나 강조식 시스텝식 등이 표시되어 적용여부를 알수 있고 바로 지을 수도 있어 필리한데 이거 제어하는 데가 어디인가요... 아무리 뒤저도 없어서요?
프로필 이미지
정구지
2024-11-12
701
글번호 185211
지표
답변완료

예스지표 변환 요청 드립니다.

수고 많으십니다. 트레이딩뷰 지표입니다. 예스지표로 변환 및 Buy 신호시 검색 되도록 검색식 부탁 드립니다. 수고하세요. //@version=5 indicator(shorttitle='FL', title='Follow Line', overlay=true) // --- settings ATRperiod = input.int(defval=5, title='ATR Period', minval=1) BBperiod = input.int(defval=21, title='Bollinger Bands Period', minval=1) BBdeviation = input.float(defval=1.00, title='Bollinger Bands Deviation', minval=0.1, step=0.1) UseATRfilter = input(defval=true, title='ATR Filter On/Off') // false = 0, true = 1 showsignals = input(title='Show Signals ', defval=true) // --- end of settings // Bollinger Bands calculation BBUpper = ta.sma(close, BBperiod) + ta.stdev(close, BBperiod) * BBdeviation BBLower = ta.sma(close, BBperiod) - ta.stdev(close, BBperiod) * BBdeviation // ATR calculation atrValue = ta.atr(ATRperiod) // Signal initialization var float FollowLine = na var int BBSignal = 0 // Determine BB signal if (close > BBUpper) BBSignal := 1 else if (close < BBLower) BBSignal := -1 // Buy signal logic if (BBSignal == 1) if (UseATRfilter) FollowLine := low - atrValue else FollowLine := low if (FollowLine < nz(FollowLine[1])) FollowLine := nz(FollowLine[1]) // Sell signal logic if (BBSignal == -1) if (UseATRfilter) FollowLine := high + atrValue else FollowLine := high if (FollowLine > nz(FollowLine[1])) FollowLine := nz(FollowLine[1]) // Trend direction determination var int iTrend = 0 if (nz(FollowLine) > nz(FollowLine[1])) iTrend := 1 else if (nz(FollowLine) < nz(FollowLine[1])) iTrend := -1 // Trend line color based on trend direction lineColor = iTrend > 0 ? color.rgb(9, 98, 232) : color.new(color.rgb(220, 20, 60), 0) //buy & sell conditions buy=0.0 sell=0.0 buy:=iTrend[1]==-1 and iTrend==1 ? 1 : na sell:=iTrend[1]==1 and iTrend==-1? 1 : na //alerts alertcondition(sell == 1 ,title="Sell",message="Follow Line Sell") alertcondition(buy == 1 ,title="Buy",message="Follow Line Buy") alertcondition(buy == 1 or sell == 1 ,title="Signal",message="Follow Line Signal") // Plot the trend line and signals plot(FollowLine, color=lineColor, linewidth=2, title="Follow Line") plotshape(buy == 1 and showsignals ? FollowLine-atrValue :na, text='BUY', style= shape.labelup, location=location.absolute, color=color.blue, textcolor=color.white, offset=0, transp=0,size=size.auto) plotshape(sell == 1 and showsignals ? FollowLine+atrValue:na, text='SELL', style=shape.labeldown, location=location.absolute, color=color.rgb(102, 15, 15), textcolor=color.white, offset=0, transp=0,size=size.auto)
프로필 이미지
무서운라냐
2024-11-12
921
글번호 185203
지표