커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

변환요청

키움의 binary wave macd와 우리트레이더의 binary wave macd가 다른것 같습니다. 키움의 식은 ------------------------------- ** 수식1 ** 수식이름 : BinaryWaveMACD %short%,%long% eavg(biwave(Period1,Period2,sto1,sto2),short) - eavg(biwave(Period1,Period2,sto1,sto2),long) ** 수식2 ** 수식이름 : 시그널 %signal% B1=if(eavg(C,12)-eavg(C,26) >eavg(eavg(C,12)-eavg(C,26),9), 1,-1); B2=if(C > avg(C, Period1), 1, -1); B3=if((C - C(period2)) / C(period2) * 100 > 0, 1, -1) ; B4=if(eavg((C-lowest(L, sto1)) / (highest(H, sto1) - lowest(L, sto1)) * 100, sto2)>50, 1, -1); A=B1+B2+B3+B4; eavg(A,signal) 이렇게 되어있는데 이것을 예스트레이더수식으로 만들어주시면 감사하겠습니다.
프로필 이미지
회원
2013-04-26
632
글번호 62548
지표
답변완료

슬리피지설정질문입니다.

현재 슬리피지설정이 %, pt, 틱 이렇게 3가지 있는데요 연결옵션매매에 있어서 매수.청산 각 1틱으로 설정하면 3.0미만은 0.01이 3.0이상은 0.05로 슬리피지가 계산되나요? 왜 이질문을 드리냐면 시스템성능보고서 4번째, 전략분석 최하단의 슬리피지가 pt로했을때와 틱으로했을때 너무 차이가 크게 나와서요 확인부탁드립니다.
프로필 이미지
너구리포로리
2013-04-26
336
글번호 62547
시스템
답변완료

참조데이터의 정확한 의미가 궁금합니다....

참조데이터를 살펴보니 개인옵션전체순매수수량 개인콜옵션순매수량 개인풋옵션순매수수량이 나와있는데요.. 정확한 의미를 알고 싶습니다. 1 개인옵션전체순매수수량은 콜매수수량-콜매도수량+풋매수수량-풋매도수량 인가요..? 2 개인콜옵션순매수량은 콜매수수량-콜매도수량 인가요..? 3 개인풋옵션순매수량은 풋매수수량-풋매도수량 인가요..? 4 콜매수100개 콜매도30개 풋매수80개 풋매도20개 면 개인옵션전체순매수수량은 몇개입니까..? 언제나 성실한 답변 주시는 전문가님께 감사드려요...꾸벅...
프로필 이미지
회원
2013-04-26
393
글번호 62546
지표
답변완료

문의(REF)

1. 참조데이타2가 기존에 있고 새롭게 참조데이타를 추가하면 Data3가 되는데 원하는데로 Data이름을 바꿀수는 없는가요? 가령 Data2는 3로 Data3는 2로... 2. 갭보정에 의한 과거데이타 왜곡을 방지하고자 주종목은 갭보정을 안하고, 참조데이타2는 갭보정으로 하면서 모든 신호발생 기준을 Data2로 하면 갭보정 오류를 분명 없앨 수 있는지요? 모든 시스템식을 수정하기전에 확답을 듣고자합니다. 3. Data1은 120틱갭보정 안함, Data2는 120틱 갭보정...을 해서 Data2를 기준으로 조건에 따라 신호를 발생시키고자 할때 청산식예 if ( (stime >= 091500) && (Lowest(L, BarsSinceEntry) >= EntryPrice - 0.2) && (TimeToMinutes(stime) >= TimeToMinutes(EntryTime) + 15) && (TimeToMinutes(stime) <= TimeToMinutes(EntryTime) + 20) && (CrossUp(CLOSE, MAv1 + PriceScale)) ) then { ExitShort("ExitShort[A1"); } 두번째 줄을 && Data2(Lowest(L, BarsSinceEntry) >= EntryPrice - 0.2)) 로만 하면 되는지.. 아니면 VARS: d2L(0, Data2); d2L = Data2(L); .... && Data2(Lowest(d2L, BarsSinceEntry) >= Data2(EntryPrice - 0.2) 이런식으로 하면 되는지... Data2 변환에 있어 많이 혼동됩니다. VARS: d2XUPMAv1(0, Data2); d2XUPMAv1 = Data2(CrossUp(CLOSE, MAv1)); 위와 같이 선언하고 사용하는 부분에서는 단지 if d2XUPMAv1 == TRUE then 블라블라 라고 사용하면 되나요? 아니면 if Data2(d2XUPMAv1 == TRUE) then 이라고 Data2 키워드를 또 명시해줘야 하는지요? 참조데이타를 사용함에 있어 조언 부탁드리겠습니다. 4. 성능보고서에서 저장한 *.spr은 어떻게 볼수 있는지요? 5. 참조데이타에서 검색식을 적용할수는 없는지요? 아래와 같이 했더니 Data1에 표시가 되네요. 검색식안에 if (Data2(CrossUp(CLOSE, MAv1 + PriceScale * TICKS_NR_X))) then { Plot1(H, "M1 UBO", RGB(0,255,0));//, DEF, 0); } 도움 주시면 감사하겠습니다. 감사합니다.
프로필 이미지
TRF
2013-04-29
343
글번호 62545
시스템
답변완료

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

안녕하세요.. 현재가>120선 & 전주봉음봉 & 당주양봉 & 전월음봉 & 당월양봉 & 6개월선 상승 & 현재가 > 6개월선 & 현재가 > 12개월선 & 12개월선 상승 위 검색식을 이용한 종목검색식 부탁드립니다.
프로필 이미지
허펀드
2013-04-26
302
글번호 62533
검색
답변완료

안녕하세요.

관리자님 안녕하세요? 궁굼한 질문 한가지 드릴께요 시스템을 과최적화 하면 보통 발생할 수 있는 문제점이 무엇인가요? 궁리좀 해봐도 잘 모르겠어요. 지나간 챠트에서 과최적화 해도 앞으로 그려지는 챠트는 결국 상방 아니면 하방인데 무슨 문제가 있을지 혹시 그거에 대한 통계나 정보 또는 경험 있으면 알려 주세요. 예스 덕분에 시스템도 알게 되고 요즘 열공하고 있네요. 성과도 나날이 좋아 지는데 마음 한구석에는 일말의 불안감이 자리하고 있어서요. 항상 좋은날이 되길 바랍니다 *^^*.
프로필 이미지
희망벌
2013-04-26
297
글번호 62532
시스템
답변완료

지표식 문의 드립니다.

1. 상승, 하락이나 이평선 등의 다른 조건은 아무 상관 없이 거래량에 있어서만, 장중에 최근 거래량봉의 10개 평균길이의 100%이상으로 증가된 양봉이나 음봉이 하나라도 발생된 종목을 검색 할 수 있는 수식을 부탁드립니다. 2. 장중에 매도호가 잔량지표나 매수호가 잔량지표가 최근 주가 10개봉 길이 만큼의 매도지표나 매수지표의 평균 크기보다 100%이상 크게 증가 하면서 거래량도 최근 거래량봉의 10개 평균길이의 100%이상으로 증가된 양봉이나 음봉이 하나라도 발생된 종목을 검색 할 수 있는 수식을 부탁드립니다. - 매도호가 잔량지표와 매수호가 잔량지표가 동시검색이 안되면 따로 분리 해서 1. 장중에 매도호가 잔량지표가 최근 주가 10개봉 길이 만큼의 매도호가 잔량지표 평균 크기보다 100%이상 크게 증가 하면서 거래량도 최근 거래량봉의 10개 평균길이의 100%이상으로 증가된 양봉이나 음봉이 하나라도 발생된 종목을 검색 할 수 있는 수식과 2. 장중에 매수호가 잔량지표가 최근 주가 10개봉 길이 만큼의 매수호가 잔량지표 평균 크기보다 100%이상 크게 증가 하면서 거래량도 최근 거래량봉의 10개 평균길이의 100%이상으로 증가된 양봉이나 음봉이 하나라도 발생된 종목을 검색 할 수 있는 수식으로 부탁드립니다. 위 두가지 수식에서 최근 개수를 10개에서 5개나 20개로 수정 할 수 있고, 지표 크기나 거래량 크기를 200%나 300%로 수정 할 수 있는 수식으로 부탁드립니다.
프로필 이미지
천유
2013-04-29
393
글번호 62531
지표
답변완료

매수 또는 매도포지션이 있을 때,

함수 중에 보면, Marketposition이라는 함수가 있네요. 매수 또는 매도 포지션이 있을 때는 함수로 어떻게 나타내는지요? Marketposition = 1 이라면 매수포지션이 있는 경우인 것 같은데, 매도 포지션은 Marketposition = -1이 되는 건지요?
프로필 이미지
회원
2013-04-26
307
글번호 62530
시스템
답변완료

알파계수 돌파 종목검색식 만들기

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); 위의 첫번째 수식을 yeslanguage에서 붙여넣기후 검증완료후에 지표식이 나왔는데 지표를 차트에 적용하니 "수식에서 참조할 첫번째 종목데이터가 없습니다" 나오고 차트에 지표가 안 나오네요 어떻게 해야 하나요? 알려주시면 감사하겠습니다
프로필 이미지
돈크돈어
2013-04-26
430
글번호 62529
지표