커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

3가지이평

Input : shortPeriod(5), longPeriod(20) ; Var : value(0); value = OSCP(shortPeriod, longPeriod); If CrossUP(value, 0) Then Buy(); If CrossDown(value,0) Then Sell(); 위수식은이평 20-5크로스수식입니다 60-20=1일이평선 3가지크로스수식부탁합니다. 60일선20일성5일선3이평선이 교차시매매수식
프로필 이미지
큰바위얼굴
2014-11-23
173
글번호 80643
시스템
답변완료

자수이평

Input : shortPeriod(1), longPeriod(20) ; Var : value(0); value = OSCP(shortPeriod, longPeriod); If CrossUP(value, 0) Then Buy(); If CrossDown(value,0) Then Sell(); 위수식은단순이평 20-1크로스수식입니다 단순이평대신 지수이평크로스 수식부탁합니다
프로필 이미지
큰바위얼굴
2014-11-23
174
글번호 80642
시스템
답변완료

countif

countif를 사용하여 다음 수식을 부탁드립니다. 현재 포지션이 매도라고 가정하고........ 1) 진입 이전 최고가를 기록한 봉부터 진입 후 최저가를 기록한 봉까지 중에서 음봉의 개수를 나타내는 식 2) 진입 후 최저가를 기록한 봉부터 현재봉까지 중에서 음봉의 개수를 나타내는 식 3) 진입 봉부터 진입 후 최저가를 기록한 봉까지 중에서 음봉의 개수를 나타내는 식
프로필 이미지
쉬어가자
2014-11-23
181
글번호 80641
시스템
답변완료

39055식에 추가 부탁드립니다.

아래식은 문의번호 39055 1)2)번 2개의 질문에 대한 답변을 한꺼번에 해주신 것입니다. 수식을 적용해 보니 3번 질문에 대한 수식도 한꺼번에 작성할 필요가 생겼습니다. 그래서 아래 2개의 print식 뒤에 시가, 고가, 고가시간, 저가, 저가시간, 종가, 양봉/음봉을 추가해 주시면 감사하겠습니다. 그리고 질문하나 드리겠습니다. 고가나 저가발생시간에 보면 50000,10000,90000,210000, 170000,90000 등의 숫자가 추출되는데 이것을 어떻게 해석해야 되는지요? 감사합니다. var : cnt(0),HH(0),HT(0),LL(0),LT(0),HL(0),LH(0); Array : OO[10](0),CC[10](0); #월봉시가종가 계산 if Bdate > Bdate[1]+30 Then{ OO[0] = O; for cnt = 1 to 9{ OO[cnt] = OO[cnt-1][1]; CC[cnt] = CC[cnt-1][1]; } } CC[0] = c; if bdate != bdate[1] Then{ Condition1 = false; Condition2 = false; HH = H; HT = stime; LL = L; LT = stime; HL = LL; LH = HH; if Condition1[1] == true Then Print("음봉.csv",",일자,%.f,당일최고가,%.6f,당일최고가시간,%.f,최고가발생전최저가,%.6f,상승폭,%.6f,당일저가,%.6f,당일저가시간,%.f,당일진폭,%.6f" ,Bdate[1],HH[1],HT[1],HL[1],HH[1]-HL[1],LL[1],LT[1],HH[1]-LL[1]); if Condition2[1] == true Then Print("양봉.csv",",일자,%.f,당일최저가,%.6f,당일최저가시간,%.f,최저가발생전최고가,%.6f,하락폭,%.6f,당일고가,%.6f,당일고가시간,%.f,당일진폭,%.6f" ,Bdate[1],LL[1],LT[1],LH[1],LH[1]-LL[1],HH[1],HT[1],HH[1]-LL[1]); } if H > HH Then{ HH = H; HT = stime; HL = LL; } if L < LL Then{ LL = L; LT = stime; LH = HH; } #최근 3개월 모두 음봉 if CC[0] < OO[0] and CC[1] < OO[1] and CC[2] < OO[2] Then Condition1 = true; #최근 3개월 모두 양봉 if CC[0] > OO[0] and CC[1] > OO[1] and CC[2] > OO[2] Then Condition2 = true; plot1(Bdate,"영업일");
프로필 이미지
회원
2014-11-24
193
글번호 80640
지표
답변완료

수식 문의드립니다.

이동평균선(50)일선이 전일보다 낮으면 매수, 높으면 매도하는 수식인데요, 제대로 된건가 점검 부탁드립니다. input : P(50); var : sum1(0),cnt(0),mav1(0),sum2(0),mav2(0); sum1 = 0; sum2 = 0; for cnt = 0 to P{ if cnt < P Then sum1 = sum1+DayClose(cnt); if cnt >= 1 Then sum2 = sum2+DayClose(cnt); } mav1 = sum1/P; ## 일간50이평(당일포함) mav2 = sum2/P; ## 일간50이평(당일미포함) if mav1 > mav2 Then buy("매수진입"); if mav1 < mav2 Then sell("매도진입"); 그리고 위 조건을 다 만족했을때 이동평균선(100)을 넣어서 또 만족하고, 위 조건이 다 만족했을때 이동평균선(800)을 넣어서 만족, 위 조건이 다 만족했을때 이동평균선(700)을 넣어서 만족, 위 조건이 다 만족했을때 이동평균선(10)을 넣어서 만족하는 수식 부탁드립니다. 제가 한 것은 신호가 이상하군요^^ 역시 전문가와 확 틀리다는....ㅋ 그럼 감사드립니다^^
프로필 이미지
하리마우
2014-11-22
268
글번호 80639
시스템

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

프로필 이미지
회원
2014-11-22
6
글번호 80638
시스템

양치기 님에 의해서 삭제되었습니다.

프로필 이미지
양치기
2014-11-22
0
글번호 80637
시스템
답변완료

문의 드립니다.

항상 도움 주셔서 감사합니다. 문1) 멀티챠트에는 변동성이라는 함수가 있던데 예스랭귀지에도 이에 대한 함수가 있는지요? 멀티차트에 보니 volatility(period) 이런 함수를 사용해서 일정기간의 변동성을 사용하더라구요 Inputs: VolLen(8), MultFact(2); Vars: TopBand(0), BotBand(0); #{ Define initial Top and Bottom Band } If BarNumber = 1 then Begin TopBand = Open + Volatility( VolLen ) * MultFact; BotBand = Open - Volatility( VolLen ) * Multfact; End; 예스랭귀지로 전환 부탁드립니다. 만약에 함수가 없다면 변동성을 구하는 식 부탁드립니다. 그리고 변동성 지표를 차트에 같이 표시하고 싶습니다. 도움 부탁드립니다. 문2) 아래식을 예스랭귀지로 변환 부탁드립니다. Input : fastma(9), slowma(26), macdma(9), ncos(4), nbars(50), trailbar(6); Var: mval(0), mavg(0), mdif(0), counter(0), totalbars(0), highesthi(0), lowestlo(0); Arrary: co[2,50](0); Mval = macd(close,fastma,slowma); Mvag=xaveage(macd(close,fastma,slowma),macdma); Mdif = mval &#8211; mavg; # store the macd cross information in the co arrary If mdif crosses over 0 or mdif crosses under 0 then begin For counter = 0 to 49 begin Co[ 0, 50 &#8211; counter ] = co[ 0, 49 &#8211; counter]; Co[ 1, 50 &#8211; counter ] = co[ 1, 49 &#8211; counter]; Co[ 2, 50 &#8211; counter ] = co[ 2, 49 &#8211; counter]; End; Co[ 0, 0 ] = barnumber ; Co[ 1, 0 ] = high ; Co[ 2, 0 ] = low ; End; # find the highest hing and the lowest low of the cross over and under bars Highesthi = -1 ; Lowestlo = 9999 ; For counter = 0 to ncos-1 begin If co[ 1, counter] > highesthi then Highesthi = co[ 1, counter]; If co[ 2, counter] < lowestlo then lowestlo = co[ 2, counter]; end; # if the last n crosses occured in the last 50 bars, then place the buy and sell orders Totalbars = barnumber &#8211; co[ 0, ncos &#8211; 1 ]; If totalbars < nbars then begin Buy at highesthi + average(truerange,4)*.5 stop; Sell at lowestlo &#8211; average(truerange,4)*.5 stop; End; # trailing stop orders Exitlong next bar at lowest(low, trailbar) stop; Exitlong next bar at hishest(high, trailbar) stop;
프로필 이미지
양치기
2014-11-22
572
글번호 80636
시스템
답변완료

macd 다이버전스 수식 문의합니다

macd 다이버전스 수식 문의 합니다 보내드린 그림과 같은 경우 수식 작성을 만들려고 합니다 chartist@yesstock.com 메일로 보내드렸습니다
프로필 이미지
회원
2014-11-21
374
글번호 80635
시스템