커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

타푸 님에 의해서 삭제되었습니다.

프로필 이미지
타푸
2014-09-20
23
글번호 78705
시스템
답변완료

수정 부탁합니다

아래 수식을 종목검색식으로 바꾸지 못해 수정 부탁합니다 Input:Length(100); Var:j(0),x1(0),x2(0); Array:∑x1[2](0),∑xx1[2](0),∑x2[2](0),∑xx2[2](0); If LastBarOnChart == 1 Then { Print("알파돌파검색.txt","# 검색기준일 : %.0f-%.0f-%.0f",Int(Date/10000),int(Date/100)-int(Date/10000)*100,Date - int(Date/100)*100); Print("알파돌파검색.txt","Input:inAlpha(0.5),inVol(10000),inPrc(1000);"); Print("알파돌파검색.txt","Var:j(0),value(0),n(%.0f);",Length); Print("알파돌파검색.txt","Array:x1[%.0f](0),x2[%.0f](0),y[2](0),Alpha[2](0),∑x1[2](0),∑xx1[2](0),∑x2[2](0),∑xx2[2](0),∑y[2](0),∑xy[2](0);",Length+1,Length+1); For j = 0 To Length { x1 = (C[j] - C[j+1])*100/C[j+1]; Print("알파돌파검색.txt","x1[%.0f] = %.6f;",j,X1); } Print("알파돌파검색.txt","//====================================="); For j = 0 To Length { x2 = (data2(C[j]) - data2(C[j+1]))*100/data2(C[j+1]); Print("알파돌파검색.txt","x2[%.0f] = %.6f;",j,X2); } Print("알파돌파검색.txt","//====================================="); ∑x1[0] = accumN((C[0] - C[1])*100/C[1],Length); ∑xx1[0] = accumN(((C[0] - C[1])*100/C[1])^2,Length); ∑x1[1] = accumN((C[1] - C[2])*100/C[2],Length); ∑xx1[1] = accumN(((C[1] - C[2])*100/C[2])^2,Length); ∑x2[0] = accumN((data2(C[0]) - data2(C[1]))*100/data2(C[1]),Length); ∑xx2[0] = accumN(((data2(C[0]) - data2(C[1]))*100/data2(C[1]))^2,Length); ∑x2[1] = accumN((data2(C[1]) - data2(C[2]))*100/data2(C[2]),Length); ∑xx2[1] = accumN(((data2(C[1]) - data2(C[2]))*100/data2(C[2]))^2,Length); Print("알파돌파검색.txt","∑x1[0] = %.6f;",∑x1[0]); Print("알파돌파검색.txt","∑x1[1] = %.6f;",∑x1[1]); Print("알파돌파검색.txt","∑xx1[0] = %.6f;",∑xx1[0]); Print("알파돌파검색.txt","∑xx1[1] = %.6f;",∑xx1[1]); Print("알파돌파검색.txt","∑x2[0] = %.6f;",∑x2[0]); Print("알파돌파검색.txt","∑x2[1] = %.6f;",∑x2[1]); Print("알파돌파검색.txt","∑xx2[0] = %.6f;",∑xx2[0]); Print("알파돌파검색.txt","∑xx2[1] = %.6f;",∑xx2[1]); Print("알파돌파검색.txt","∑y[0] = 0;"); Print("알파돌파검색.txt","∑y[1] = 0;"); Print("알파돌파검색.txt","∑xy[0] = 0;"); Print("알파돌파검색.txt","∑xy[1] = 0;"); Print("알파돌파검색.txt","value = 0;"); Print("알파돌파검색.txt","If CodeCategoryEx()==11 || CodeCategoryEx()==12 then {"); Print("알파돌파검색.txt"," ∑y[0] = accumN((C[0] - C[1])*100/C[1],n);"); Print("알파돌파검색.txt"," ∑y[1] = accumN((C[1] - C[2])*100/C[2],n);"); Print("알파돌파검색.txt"," For j = 0 To n - 1 {"); Print("알파돌파검색.txt"," y[0] = (C[j] - C[j+1])*100/C[j+1];"); Print("알파돌파검색.txt"," y[1] = (C[j+1] - C[j+2])*100/C[j+2];"); Print("알파돌파검색.txt"," ∑xy[0] = ∑xy[0] + y[0]*iff(CodeCategoryEx()==12,X2[j],X1[j]);"); Print("알파돌파검색.txt"," ∑xy[1] = ∑xy[1] + y[1]*iff(CodeCategoryEx()==12,X2[j+1],X1[j+1]); }"); Print("알파돌파검색.txt"," If CodeCategoryEx()==11 Then {"); Print("알파돌파검색.txt"," Alpha[0] = ∑y[0]/n - (∑xy[0]/n - ((∑x1[0]/n) * (∑y[0]/n))) / ((∑xx1[0]/n) - ((∑x1[0]/n)^2)) * (∑x1[0]/n);"); Print("알파돌파검색.txt"," Alpha[1] = ∑y[1]/n - (∑xy[1]/n - ((∑x1[1]/n) * (∑y[1]/n))) / ((∑xx1[1]/n) - ((∑x1[1]/n)^2)) * (∑x1[1]/n); }"); Print("알파돌파검색.txt"," Else {"); Print("알파돌파검색.txt"," Alpha[0] = ∑y[0]/n - (∑xy[0]/n - ((∑x2[0]/n) * (∑y[0]/n))) / ((∑xx2[0]/n) - ((∑x2[0]/n)^2)) * (∑x2[0]/n);"); Print("알파돌파검색.txt"," Alpha[1] = ∑y[1]/n - (∑xy[1]/n - ((∑x2[1]/n) * (∑y[1]/n))) / ((∑xx2[1]/n) - ((∑x2[1]/n)^2)) * (∑x2[1]/n); }"); Print("알파돌파검색.txt"," If Alpha[0] >= inAlpha && Alpha[1] < inAlpha && ma(V,60) > inVol &&"); Print("알파돌파검색.txt"," ma(C,60) > inPrc && C < 20 * inPrc Then"); Print("알파돌파검색.txt"," value = AlPha[0];"); Print("알파돌파검색.txt","}"); Print("알파돌파검색.txt","Find(value);"); }
프로필 이미지
미래테크
2014-09-20
138
글번호 78704
종목검색

2wnwn 님에 의해서 삭제되었습니다.

프로필 이미지
2wnwn
2014-09-21
10
글번호 78703
지표
답변완료

옵션관련

당일 장시작하면서 (콜옵션 미결제누적증가량-풋옵션 미결제누적증가량)을 수식으로 작성 지표로 표시가능한가요 (60틱챠트)
프로필 이미지
챠트미소
2014-09-20
157
글번호 78702
지표
답변완료

수식으로 나타내면

upvol과 downvol을 수식으로 수식으로 나타내면? Upv = Iff(Close > Close[1] ,Volume, 0); Downv = Iff(Close < Close[1] , Volume, 0); 이렇게 작성되나요? 예스에서 제공하는 upvol누적과 상기 정의된 수식으로 누적한 경우 실제 누적해보면 완전히 다른데 왜그러죠?
프로필 이미지
챠트미소
2014-09-20
135
글번호 78701
지표
답변완료

지표식 문의드립니다.

안녕하세요. 디음과 같은 지표식 문의드립니다. 1. 5분봉 챠트에소 2개의 타종목참조 data를 챠트에 불러와서 cval = data2(c)0-data3(c)라고 정했을 때 cval 값의 전일 시가,고가, 저가,종가를 구하는 지표식을 문의드립니다. 수고하십시요.
프로필 이미지
bigdeal
2014-09-19
139
글번호 78700
지표
답변완료

수식문의

주식 종목 검색 분봉 :30분봉 봉수 :240개(한달치) 수식문의 : 봉의 (종가-시가)가 3%이상(변경가능) 상승한 봉의 갯수가 20개(변경가능) 이상 인 종목 검색식을 요청합니다.. 추가로 갯수가 많은것부터 나열이 되었으면 더 좋겠네요 부탁드립니다 수고하세요
프로필 이미지
선사랑
2014-09-19
129
글번호 78699
종목검색
답변완료

감사드립니다

아래의 시스템지표를 선이아니고 점으로 나타내어 지도록 다사한번 부탁드립니다.. 현재봉에서 다음봉으로 넘어갈때 현재는 선으로 이어지는데 이것을 선이아닌 점으로 표시되도록 하는것입니다... 항상 건강하시고 행복하세요.... Input:전환율(0.5),선두께(4),선색(green); //전환율 또는 변동률 Var:j(0),upTr(100),dnTr(-100),upRate(0),dnRate(0),trnd(0), date11(0),date12(0),time11(0),time12(0),TL1(0), date21(0),date22(0),time21(0),time22(0),TL2(0); Array:hiVal[2](0),loVal[2](0),hiBar[2](0),loBar[2](0); upRate = 1 + (전환율/100); //상승률 dnRate = 1 - (전환율/100); //하락률 loBar[1] = loBar[1] + 1; //전저점의 위치. 현재 봉으로부터 떨어져 있는 거리 hiBar[1] = hiBar[1] + 1; //전고점의 위치 if DayIndex == 0 then { if trnd == upTr then { date11 = date[loBar[1]]; //추세선 시작일 time11 = stime[loBar[1]]; //추세선 시작시간 Value11 = loVal[1]; //추세선 시작가격 } else { date11 = date[hiBar[1]]; //추세선 시작일 time11 = stime[hiBar[1]]; //추세선 시작시간 Value11 = hiVal[1]; //추세선 시작가격 } date12 = date[1]; //추세선 종료일 time12 = stime[1]; //추세선 종료시간 Value12 = C[1]; //추세선 종료가격 TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); //TL_New는 신규 추세선을 그려주는 함수 TL_SetSize(TL1,선두께); if Value11 < value12 Then TL_SetColor(TL1,RED); Else TL_SetColor(TL1,BLUE); if Value11 < value12 Then{ buy(); } Else{ sell(); } hiVal[1] = O; hiBar[1] = 0; loVal[1] = O; loBar[1] = 0; hiVal[0] = C; hiBar[0] = 0; loVal[0] = C; loBar[0] = 0; trnd = 0; if hiVal[1] * dnRate > C then trnd = dnTr; else if loVal[1] * upRate < C then trnd = upTr; } if hiVal[0] <= C then { hiVal[0] = C; hiBar[0] = 0; } else { hiBar[0] = hiBar[0] + 1; } if loVal[0] >= C then { loVal[0] = C; loBar[0] = 0; } else { loBar[0] = loBar[0] + 1; } if trnd != dnTr && hiVal[0] * dnRate > C then trnd = dnTr; else if trnd != upTr && loVal[0] * upRate < C then trnd = upTr; if trnd[1] != dnTr and trnd == dnTr then { //상승추세였다가 하락추세로 바뀌었다면 hiVal[1] = hiVal[0]; //새로운 전고점에 현재 고점을 대입 hiBar[1] = hiBar[0]; hiVal[0] = C; //전고점이 확정되었으므로 전고점 이후 최고가는 현재봉의 고가 hiBar[0] = 0; loVal[0] = C; loBar[0] = 0; //전고점이 새로 생긴 것이니까 전저점에서 전고점까지 추세선을 긋는다. date11 = date[loBar[1]]; //추세선 시작일. 전저점의 날짜 time11 = stime[loBar[1]]; //추세선 시작시간 Value11 = loVal[1]; //추세선 시작가격 date12 = date[hiBar[1]]; //추세선 종료일. 전고점의 날짜 time12 = stime[hiBar[1]]; //추세선 종료시간 Value12 = hiVal[1]; //추세선 종료가격 TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); if Value11 < value12 Then{ buy(); } Else{ sell(); } //TL_New는 신규 추세선을 그려주는 함수 } if trnd[1] == dnTr and trnd == dnTr and //추세는 하락 상태에서 바뀌지 않았는데 hiVal[1] < hiVal[0] and //전고점보다 더 높은 고점이 출현했다면 hiVal[0] * dnRate > C then { hiVal[1] = hiVal[0]; //전고점을 현재의 고점으로 바꿔준다. hiBar[1] = hiBar[0]; hiVal[0] = C; hiBar[0] = 0; loVal[0] = C; loBar[0] = 0; //전고점이 추가된 게 아니고 바뀐 것이므로 종료일,종료시간,종료가격만 바꿔준다. date12 = date[hiBar[1]]; //추세선 종료일 time12 = stime[hiBar[1]]; Value12 = hiVal[1]; TL_SetEnd(TL1, date12,time12,Value12); //TL_SetEnd는 기존추세선의 종료지점을 변경해주는 추세선 함수이다. //TL_Delete 함수를 써서 직전의 추세선을 지우고 다시 TL_New로 추세선을 추가해도 된다. } if trnd[1] != upTr and trnd == upTr then { //추세가 하락에서 상승으로 바뀌었을 경우 loVal[1] = loVal[0]; loBar[1] = loBar[0]; loVal[0] = C; loBar[0] = 0; hiVal[0] = C; hiBar[0] = 0; date11 = date[hiBar[1]]; time11 = stime[hiBar[1]]; Value11 = hiVal[1]; date12 = date[loBar[1]]; time12 = stime[loBar[1]]; Value12 = loVal[1]; TL1 = TL_New(date11,time11,Value11,date12,time12,Value12); if Value11 < value12 Then{ buy(); } Else{ sell(); } } if trnd[1] == upTr and trnd == upTr and //추세는 상승을 유지하고 있는데 loVal[1] > loVal[0] and //전저점보다 낮은 저가가 출현했다면 loVal[0] * upRate < C then { loVal[1] = loVal[0]; //직전의 전저점만 바꿔준다. loBar[1] = loBar[0]; loVal[0] = C; loBar[0] = 0; hiVal[0] = C; hiBar[0] = 0; date12 = date[loBar[1]]; time12 = stime[loBar[1]]; Value12 = loVal[1]; TL_SetEnd(TL1, date12,time12,Value12); } TL_SetSize(TL1,선두께); #TL_SetColor(TL1,선색); if Value11 < value12 Then{ TL_SetColor(TL1,RED); } Else{ TL_SetColor(TL1,BLUE); } if trnd == upTr then { date21 = date[loBar[1]]; //추세선 시작일 time21 = stime[loBar[1]]; //추세선 시작시간 Value21 = loVal[1]; //추세선 시작가격 } else { date21 = date[hiBar[1]]; //추세선 시작일 time21 = stime[hiBar[1]]; //추세선 시작시간 Value21 = hiVal[1]; //추세선 시작가격 } date22 = date; //추세선 종료일 time22 = stime; //추세선 종료시간 Value22 = C; //추세선 종료가격 TL_Delete(TL2); TL2 = TL_New(date21,time21,Value21,date22,time22,Value22); TL_SetSize(TL2,선두께); if Value21 < value22 Then TL_SetColor(TL2,RED); Else TL_SetColor(TL2,BLUE);
프로필 이미지
오동도물개
2014-09-19
158
글번호 78698
지표

태양같이 님에 의해서 삭제되었습니다.

프로필 이미지
태양같이
2014-09-19
15
글번호 78697
지표