커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표 요청 드립니다.

* 소리는 덕분에 많이 찾아서 잘쓰고 있습니다. 정말 고맙습니다. ^.^ * 켄들 꼬리가 몸통의 2배 이상 이면 그캔들 정보는 제외 하고 계산 하는 요청 좀 드립니다. → (Lowest(L,20) var1 = abs(C-O); # 몸통크기 var2 = ma(var1,n1); # 몸통크기의 n1개봉 평균 일경우 분봉에서 갑자기 꼬리가 길어서 선이 아래로 가는데 이것은 빼고 표현 하고 싶습니다. Var : TX1(0); If C < (Lowest(L,20) Then { Tx1 = Text_New(sdate,stime, H, "●" ); Text_SetColor(Tx1,BLACK); Text_SetSize(tx1,20); Text_SetStyle(tx1,2,0); } <문의 사항> 혹시 아래 지표가 가능 한가요? "BBup1" 가격을 기준으로 스토케스틱처럼 시그널선을 만들수 있을까요??? ## 볼린저 밴드 input : P(20),dv1(1),dv2(2),dv3(3); var : BBmd(0),BBup1(0),BBup2(0),BBup3(0),BBdn1(0),BBdn2(0),BBdn3(9); BBup3 = BollBandUp(P,dv3) ; BBup2 = BollBandUp(P,dv2) ; BBup1 = BollBandUp(P,dv1) ; ## 요가격 기준으로 시그널선 Bbmd = ma(c,P); BBdn1 = BollBandDown(P,dv1); BBdn2 = BollBandDown(P,dv2); BBdn3 = BollBandDown(P,dv3); * 고맙습니다.
프로필 이미지
요타
2020-02-13
397
글번호 135894
시스템
답변완료

부탁드립니다.

도움에 감사 드립니다. 예를 들어 var30을 100틱차트에서 300틱 차트의 지표(타주기)를 볼수 있도록 부탁 드립니다. 미리 감사 드립니다. Var : SS(0),TS(0),second(0); var1 = TimeToMinutes(stime)*60; var2 = FracPortion(stime/100)*100; SS = var1+var2; value1 = TimeToMinutes(time)*60; value2 = FracPortion(time/100)*100; TS = value1+value2; if sdate == date Then Second = TS-SS; Else Second = 86400-SS + TS; var30=v/Second;
프로필 이미지
뮬리
2020-02-13
411
글번호 135893
지표
답변완료

부탁드립나다

수고하십니다 아래수식을 (적색,청색,노랑.검정화살표시로 부탁드립니다) Input : shortPeriod(12), longPeriod(26), Period(9); Var : value(0), macdosc(0),Direction(0),Direction1(0) ; value = MACD(shortPeriod, longPeriod); macdosc =ema(value,Period); if value > value[1] Then Direction = 1; if value < value[1] Then Direction = -1; if Direction == 1 and Direction[1] != 1 Then plot1(L-PriceScale*4,"MACD",RED); if Direction == -1 and Direction[1] != -1 Then plot1(H+PriceScale*4,"MACD",BLUE); if macdosc > macdosc [1] Then Direction1 = 1; if macdosc < macdosc [1] Then Direction1 = -1; if Direction1 == 1 and Direction1[1] != 1 Then plot2(L-PriceScale*4,"시그널",YELLOW); if Direction1 == -1 and Direction1[1] != -1 Then plot2(H+PriceScale*5,"시그널",BLACK);
프로필 이미지
파생돌이
2020-02-12
470
글번호 135888
시스템
답변완료

분봉에서의 이동평균선

지난 Q&A를 참고해서 아래와 같이 수식을 사용하고 있습니다. 분봉에서 이동평균선(20일, 60일, 120일)을 보여주는 수식입니다. input : P1(20), P2(60), p3(120); var : count(0),sumV1(0),sumV2(0),sumV3(0),mav1(0),mav2(0),mav3(0); if DayClose(max(P1,P2,p3)) > 0 then { sumV1 = 0; sumV2 = 0; sumV3 = 0; for count = 0 to P3{ if count < P1 Then sumV1 = sumV1+DayClose(count); if count < P2 Then sumV2 = sumV2+DayClose(count); if count < P3 Then sumV3 = sumV3+DayClose(count); } maV1 = sumV1 / P1; maV2 = sumV2 / P2; maV3 = sumV3 / P3; plot1(mav1, "20일 이평선"); plot2(mav2, "60일 이평선"); plot3(mav3, "120일 이평선"); } 그런데 위의 수식으로 지표를 실행하면 첨부 이미지와 같이 당일 분봉 캔들 하나하나까지 평균에 합산하는 것 같습니다. 이미지의 초록색 선(당일 시가선)과 같이 전일까지의 이동평균선을 당일에는 단순하게 직선으로 표현했으면 합니다. 어떻게 하면 될까요?
프로필 이미지
마인드마스터
2020-02-12
781
글번호 135886
지표
답변완료

문의드립니다

아래 작성해 주신 수식인데요.. 지표로 하니 너무 복잡합니다 ㅠ..ㅠ 검색으로 고점과 저점이 표현되게 변경 부탁드립니다.. 고점은 봉 위 3틱... 저점은 봉 아래 3틱에 검색식으로 변경 부탁드립니다 ================ 안녕하세요 예스스탁입니다. 올려주신 수식과 같이는 시간이 많이 소모되어 작성해 드릴수 없습니다 아래식은 50돌파후 50이탈까지 최고가 50이탈후 50돌파까지 최저가 80이탈후 50이탈하지 않고 다시 80돌파시 해당 구간의 최저가 20돌파후 50돌파하지 않고 다시 20이탈시 해당 구간의 최고가 4개의 선을 그립니다. Input : sto1(10),sto2(5),sto3(5); Var : SK(0),SD(0),h1(0),l1(0),ll(0),l2(0),hh(0),h2(0); SK = StochasticsK(sto1,sto2); SD = StochasticsD(sto1,sto2,sto3); if crossup(sk,50) Then { h1 = h; Condition2 = false; } if CrossDown(sk,50) Then { l1 = h; Condition1 = false; } if SK > 50 and h1 > 0 and h > h1 Then h1 = h; if SK < 50 and l1 > 0 and l < l1 Then l1 = l; if CrossDown(sk,80) Then { ll = l; Condition1 = true; } if Condition1 == true and L < LL Then ll = l; if Condition1 == true and crossup(sk,80) Then l2 = ll; if CrossUp(sk,20) Then { hh = h; Condition2 = true; } if Condition2 == true and h > hh Then hh = h; if Condition2 == true and CrossDown(sk,20) Then h2 = hh; if h1 > 0 then plot1(h1); if l1 > 0 then plot2(l1); if h2 > 0 then plot3(h2); if l2 > 0 then plot4(l2); 즐거운 하루되세요 > 삼족오 님이 쓴 글입니다. > 제목 : 문의드립니다 > 지그재그 파동식인데요 스토캐스틱을 기준으로 하여 50선 위로 스코K가 상승하여... 50선 아래로 떨어지는 구간까지를 최고가격을 고점으로 50선 아래로 스토K나 하락하여 ... 50선 위로 올라오는 구간까지를 최저가격을 저점으로 하며. 또한.. 과열권<80> 하락 이후.. 51선을 이탈하지 않고 다시 과열권 진입시 직전 하락한 51에서 79사이의 최저가격을 저점으로 하고 다시 진입한 과열권에서 최고가격을 고점으로 표현 침체권<20> 돌파 이후 49선을 돌파하지 않고 다시 침체권 진입시 직전 상승한 21에서 49 사이의 최고가격을 고점으로 하고 다시 진입한 침체권에서 최저가각을 저점으로 표현이 되게 부탁드립니다 즉. 고점의 기준이 2개이며 .. 저점의 기준도 2개입니다 위 내용에 맞게 수식을 작성 하여 주셔도 되구요
프로필 이미지
삼족오
2020-02-12
523
글번호 135883
검색
답변완료

안녕하세요

번번히 부탁드려 죄송하고 감사합니다. 예스트레이더 수식으로 변경 문의드립니다. //inputs src = close len = input(10, minval=1, title="Length") sentiment = input(3, minval=1, title="Sentiment Factor") smooth = input(3, minval=1, title="Smoothing") vw = input(defval = true, title="Volume Weighted ?" ) step = input(title="Step", defval=5, maxval=50, minval=0, step=5) //Calculations -- prefer to use wma v = vw ? volume : 1 longlen = sentiment * len up = wma(max(change(src)*v, 0), len) down = wma(-min(change(src)*v, 0), len) rsiraw= down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) rsiraw100 = rsiraw *2 -100 rsi = wma(rsiraw100, smooth) longup = wma(max(change(src)*v, 0), longlen) longdown = wma(-min(change(src)*v, 0), longlen) longrsiraw= longdown == 0 ? 100 : longup == 0 ? 0 : 100 - (100 / (1 + longup / longdown)) longrsiraw100 = longrsiraw *2 -100 longrsi = wma(longrsiraw100, smooth) longrsis = step > 0 ? round(longrsi/step) * step : longrsi //Plot //Plot levels and sentiment first, so the visual order is correct - doesn't cover the main plot zeroline = hline(0, title = 'Zero Line', color=yellow, linestyle=line) hline(40, title = 'Strong Up Level', color=green, linestyle = dotted) hline(-40, title = 'Strong Down Level', color=red, linestyle = dotted) plot(longrsis, title='Sentiment',style=area , transp=20, color=longrsis >=0 ? green : red , linewidth=2) plot(rsiraw100, color=purple) plot(rsi, title='K_RSI',style = line , transp=20, color= rsi >=0 ? aqua : orange , linewidth=2) SignalDn = rsi < 0 and rsi[1] >= 0 plotshape(SignalDn, title = "Signal Down", style=shape.triangledown, location = location.top, transp = 20, size=size.small, color = red, offset = -1 ) SignalUp = rsi >=0 and rsi[1] < 0 plotshape(SignalUp, title = "Signal Up", style=shape.triangleup, location = location.bottom, transp = 20, size=size.small, color = green, offset = -1 ) 감사합니다.
프로필 이미지
로즈버드
2020-02-12
413
글번호 135876
지표
답변완료

부탁드립니다

수고하십니다 아래 수식을 예스수식 상승화살표)적색,하락화살표)청색,부탁드립니다 *상승 다이버전스 A=Lowest(c,14); B= RSI(14); A(1) >A && B(1) < B 위 수식은 14봉중 최저가는 하락하고, RSI(14)는 상승할때 신호를 나타내는 수식입니다. * 하락 다이버전스 F = Highest(c, 14); G = RSI(14); F(1) < F && G(1) > G 위 수식은 14봉중 최고가는 상승하고, RSI(14)는 하락할때 신호를 나타내는 수식입니다.
프로필 이미지
파생돌이
2020-02-12
334
글번호 135869
지표

오빠만세 님에 의해서 삭제되었습니다.

프로필 이미지
오빠만세
2020-02-12
7
글번호 135868
종목검색
답변완료

지표문의 드립니다.

안녕하십니까. 아래 내용을 수식으로 표현했으면 합니다. 1. 직전봉과 현재봉이 있고 2. 직전봉의 고점에 비해 현재봉의 고점이 높다면 +1, 같다면 0, 낮다면 -1 3. 직전봉의 저점에 비해 현재봉의 저점이 높다면 +1, 같거나 0, 낮다면 -1 4. 표현되는 식은 2와 3을 더하고, 이를 누적시켜 표현하는 것입니다. 구현해보고 싶은 지표는, 저점과 고점을 높여가며 상승하는 추세인지, 그 반대인지를 지표로 보고 싶은 것입니다. 감사합니다.
프로필 이미지
애널박
2020-02-12
149
글번호 135865
지표