커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

인벨로프 보조지표는 없는건가요?

종목검색에서 envelop 지표를 찾을 수가 없는데 없는 건가요? 아니면 명칭이 다르게 나와있나요?
프로필 이미지
goodegg
2021-01-19
1109
글번호 145615
지표
답변완료

수식부탁드립니다

안녕하세요 아래수식을 이용해 다음 조건에 맞춰 수식을 부탁드립니다 Input:Period1(1),length(2),종가사용여부(0); Var:TLen1(0),TRIma1(0),j(0),jj(0),HH(0),LL(0),최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""), TL1(0),Text1(0),tl2(0),tl3(0),tl4(0),tl5(0),tl6(0),T(0),sumv(0),sumi(0),mav(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime #==========================================# TLen1 = Ceiling((Period1 + 1) * .5); TRIma1 =Ema(Ema(C, TLen1), TLen1); var1 = H-TRIma1; var2 = TRIma1-L; HH = IFF(종가사용여부==1,C,H); LL = IFF(종가사용여부==1,C,L); If Index == 0 Then { 고[1,1] = HH; 저[1,1] = LL; } Condition1 = Highest(HH,length) == HH and 최종고가 <> HH; Condition2 = Lowest (LL,length) == LL and 최종저가 <> LL; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If 저[1,1] > LL Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < HH Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = HH; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); } Else If 고[1,1] < HH Then // 1번 고점보다 높은 고가 출현 { 고[1,1] = HH; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); TL_SetEnd(TL2,고[1,3],고[1,4],고[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = LL; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); } Else If 저[1,1] > LL then { 저[1,1] = LL; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); TL_SetEnd(TL2,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; } 위 수식에서 종가가 전고점(첨부그림에서 421.00)보다 상승할때 매수신호 종가가 전저점(420.60)보다 하락할때 매도신호 부탁드립니다
프로필 이미지
bestkim
2021-01-19
1151
글번호 145614
시스템
답변완료

수식작성 추가 문의

매수 조건 : 이동평균선 120 이동평균선 골드크로스 상태에서 + Aroon 10 매수 신호 발생시 매수 매도 조건 : 이동평균 120 이동평균선 데드크로스, 또는 Aroon 10 매도 신호발생 둘중 먼저 매도 신호가 발생하면 매도 수식추가 부탁드리겠습니다. 감사드립니다~ > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식작성문의 > 안녕하세요 예스스탁입니다. input : P(120),Period(10); var : Counter(0), Lowval(0), Highval(0), DownVel(0),UpVel(0), DnAroon(0),UpAroon(0) ; var : mav(0); mav = ma(C,120); Lowval= Lowest(Low, Period+1); Highval = Highest(High, Period+1); For counter= 0 To Period { If Low[counter] == Lowval Then DownVel = counter; If High[counter] == highval Then UpVel = counter; } UpAroon = 100*(Period-UpVel)/Period; DnAroon = 100*(Period-DownVel)/Period; if c > mav Then { if crossup(UpAroon,DnAroon) Then buy("Aroon_LE"); if CrossDown(UpAroon,DnAroon) Then sell("Aroon_SE"); } 즐거운 하루되세요 > xspell 님이 쓴 글입니다. > 제목 : 수식작성문의 > 이동평균선 120일 이동평균선 골드크로스시 상태에서 Aroon 10 매매조건 만족시만 매매 하고 싶습니다. 조건 : 이동평균선 120이동평균선 골드크로스 + Aroon 10 매수 신호 발생시 매수 매도 신호 발생시 매도 수식작성 문의 드립니다. 감사합니다.
프로필 이미지
xspell
2021-01-19
1237
글번호 145613
시스템
답변완료

종목검색

이 화살표가 뜨는 종목들을 검색해보고싶습니다. A=ma(c,기간1,종류); B=ma(c,기간2,종류); D=valuewhen(1,B<B(1) and B(1)>B(2),B(1)); CrossUp(A,D) 기간1 5 기간2 20 종류 지수
프로필 이미지
숭테크
2021-01-19
1126
글번호 145612
종목검색
답변완료

평단가 구하기

value3 = value1+(value1-value2)/2; value4 = value1; } var9 = Lowest(l,1); var10=(var3-abs(value3-value4)*2); if CrossDown(var9,var10) Then Buy ("용크로스"); 이런 식으로 프로그램 할경우 모든 신호 허용 하면 신호가 마마구 마구 나오는대 마구 마구 매수가 나오면 총 평단가를 구한 다음 10%에서 자동 청산 하고 싶은대 될까요 ?
프로필 이미지
용두목
2021-01-19
992
글번호 145608
시스템

숭테크 님에 의해서 삭제되었습니다.

프로필 이미지
숭테크
2021-01-19
0
글번호 145607
종목검색
답변완료

문의드립니다

다음의 기준선을 돌파하거나 이탈하는 종목에 대한 검색식을 부탁드립니다. 1. 매수가능종목 가. 5%이상의 양봉이고 20이평은 우상향이면서 기준선상향돌파(시가<=표시가격<=종가) 나. ((표시가격-시가) * 배수(1.5)) <= (종가-표시가격) 만족 다. 위꼬리와 아래꼬리는 몸통보다 작아야 한다 라. 시가총액이 1조이상이어야 한다(가능하면 넣어주세요) 마. 기준선과 가격 (1) DEMA선:가격(O), 기간(9) (2) RSI(기간10)가 기준선(과매도값:25)을 상향돌파할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 더한 가격을 표시가격으로 설정 (3) CCI(기간20)가 기준선(과매도값: -150)을 상향돌파할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 더한 가격을 표시가격으로 설정 (4) 일정기간(120일)내에 최고거래량이 발생한 봉의 표시가격은 중심가격임 (5) 볼밴상한선(120일/2) 가격 (6) 5/10/20 이평을 동시돌파하는 경우에는 표시가격은 5이평가격임 <마>의 기준표시가격을 1개이상 돌파하면서 가.나.다.라.조건을 동시만족하는 매수검색식을 만들어 주세요. 2. 매도가능종목 가. 5%이상의 음봉이고 20이평은 우하향이면서 기준선하향돌파(시가>표시가격>종가) 나. (((시가-표시가격) * 배수(1.5)) <= (표시가격-종가) 만족 다. 위꼬리와 아래꼬리는 몸통보다 작아야 한다 라. 시가총액이 1조이상이어야 한다(가능하면 넣어주세요) 마. 기준선과 가격 (1) DEMA선:가격(O), 기간(9) (2) RSI(기간10)가 기준선(과매수값:75)을 하향이탈할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 뺀 가격을 표시가격으로 설정 (3) CCI(기간20)가 기준선(과매수값; -150)을 하향이탈할때의 표시가격은 시가와종가(몸통)의 25%가격을 시가에서 뺀 가격을표시가격으로 설정 (4) 일정기간(120일)내에 최고거래량이 발생한 봉의 표시가격은 중심가격임 (5) 볼밴상한선(120일/2) 가격 (6) 5/10/20 이평을 동시하향이탈하는 경우에는 표시가격은 5이평가격임 <마>의 기준표시가격을 1개이상 하향이탈하면서 가.나.다.라.조건을 동시만족하는 매도검색식을 만들어 주세요. 항상 감사합니다.
프로필 이미지
해피오
2021-01-19
1350
글번호 145604
종목검색
답변완료

문의 드립니다.

최근 발생한 상한가를 돌파하면 매수, 매도하는 시스템식인데요, 최근 상한가 이전의 봉을 돌파하면 매수가 되는데 변경 부탁합니다. #시스템식 var : 상한가(0), UpLimit(0),cnt(0),count(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0),Up7(0),TL(0); Array : upv[100](0),TX[100](0); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else if date >= 20050328 and date < 20150615 Then UpLimit = (BP[0] * 1.15); Else UpLimit = (BP[0] * 1.30); if CodeCategory() == 2 then { if date >= 20030721 then { up1 = int(UpLimit/100+0.00001)*100; up2 = int(UpLimit/100+0.00001)*100; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/10+0.00001)*10; up7 = int(UpLimit/1+0.00001)*1; } } Else { up1 = int(UpLimit/1000+0.00001)*1000; up2 = int(UpLimit/500+0.00001)*500; up3 = int(UpLimit/100+0.00001)*100; up4 = int(UpLimit/50+0.00001)*50; up5 = int(UpLimit/10+0.00001)*10; up6 = int(UpLimit/5+0.00001)*5; up7 = int(UpLimit/1+0.00001)*1; } if CodeCategory() == 1 || CodeCategory() == 2 then { if sdate < 20101004 Then { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up6); } Else { If BP >= 500000 Then 상한가 = up1; Else If BP >= 100000 Then 상한가 = iff(up2>=500000, up1, up2); Else If BP >= 50000 Then 상한가 = iff(up3>=100000, up2, up3); Else If BP >= 10000 Then 상한가 = iff(up4>=50000, up3, up4); Else If BP >= 5000 Then 상한가 = iff(up5>=10000, up4, up5); Else If BP >= 1000 Then 상한가 = iff(up5>=5000, up5, up6); Else 상한가 = iff(up6>=1000, up6, up7); } } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } if H >= 상한가 Then { upv[0] = H[0]; count = count+1; TL = TL_New(sdate[1],stime[1],upv[0],sdate,stime,upv[0]); //TL_SetExtRight(TL,true); tx[0] = Text_New(sdate,stime,upv[0],NumToStr(upv[0],0)); for cnt = 1 to 99 { upv[cnt] = upv[cnt-1][1]; tx[cnt] = tx[cnt-1][1]; } } for cnt = 0 to count-1 { if upv[cnt] > 0 then { Text_SetLocation(TX[cnt],sdate,stime,upv[cnt]); if C > upv[cnt] and C[1] < upv[cnt] Then buy(); if C < upv[cnt] and C[1] > upv[cnt] Then sell(); } }
프로필 이미지
하리마우
2021-01-19
1062
글번호 145595
시스템
답변완료

수식

안녕하세요. 하기와 같은 조건이 동시에 만족시 청산 수식 부탁드립니다. # 매수 청산 진입 봉 저가 이탈 진입 전봉 저가 이탈 진입가 대비 -20틱 이상 # 매도 청산 진입 봉 고가 돌파 진입 전봉 고가 돌파 진입가 대비 -20틱 이상 감사합니다.
프로필 이미지
한국사람73
2021-01-19
1026
글번호 145594
지표