커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

답변부탁드립니다.

위 그림의 차트처럼 일정 평균값선 이하로 색이 채워지는 모습을 구현하고 싶습니다. 차트설정에서 색을 채우는 방법은 알고 있습니다. 차트설정에서 색을 채우는것이 아닌 편집기에서 채우기가 가능한 수식을 알고 싶습니다. 선굵기 선스타일 선색 조절은 편집기에서 가능하던데 채우기 부분은 잘 모르겠네요... 추운날 감기조심하세요~~~*^^*
프로필 이미지
여신임
2013-11-19
187
글번호 69628
지표
답변완료

33479번 추가문의 드립니다

제가 싸이칸프러스를 쓰는데 .... if C > C[1] Then var1= 1; if C < C[1] Then var1 = -1; plot1(var1); 위 수식을 싸이칸프러스 수식으로 만들어 주실수있는지요부탁드립니다
프로필 이미지
회원
2013-11-19
149
글번호 69627
지표
답변완료

33488 추가문의

안녕하세요 답변 감사합니다 . 지표를 작성하여 검증버튼을 누르니 "NetProfit" 无法在技&#26415;指&#26631;上使用 이라고 오류메시지가뜹니다 .. ("NetProfit" 를 기술지표에 사용할수없습니다 ) 참고로 예스차이나 버전입니다 지표작성후 적용방법도 부탁합니다 .. 수고해주세요 ..
프로필 이미지
CSI300
2013-11-19
160
글번호 69625
시스템
답변완료

문의 (IF)

1. 선물 1분봉 기준으로 if ( (DAYINDEX < 30) AND (조건A) OR (DAYINDEX >= 30) AND (조건B) ) then EnReady = TRUE; 으로 조건식을 주고 있는데 30분이내에는 조건A가 만족하던 말던 상관없고, 30분이 지나서야 B조건을 만족해야지 EnReady = TRUE로 해주고 싶습니다. 위 방법이 제대로 맞는건지 그리고 더 좋은 방법이 있는지 조언부탁드립니다. 2. OS마다 지표값이 다르게 나올수 있나요? 아니면 어떠한 문제로 인해 지표값이 다르게 나오는지 궁금하네요. 시스템결과치가 달라서 이격도에서 소수점 4자리까지 표시를 해보니까 0.00X에서 X부분에 따라서 결과가 달라지더군요. 연산결과가 달라져서 결과적으로 시스템 리포트가 다르게 나오던데 이를 해결할 수 있는 방법은 없는지요? 아래식과 같이 현재는 이렇게 해주고 있는데 소수점 4자리는 값을 반올림해서 3자리까지 표시하는 방법 좀 부탁드립니다. VARS: A(0); A = M1 / M2 * 100; 3. 시스템 수식내에 DATA1일 경우 명시적으로 기입해주지 않아도 된다는 것으로 알고 있습니다. 하지만, 아래 수식에서 DATA1을 빼면 시스템 결과치가 확 다르게 나옵니다. 다른 부분들은 모두 고정시키고 아래에서 DATA1을 모두 빼주면 결과가 달라지더군요. 가능성이 있는 문제인지, 원인이 있다면 무엇인지 알려주시면 감사하겠습니다. VARS: sumGap(0, DATA1), Gap(0, DATA1), gCLOSE(0, DATA1); //---------------------------------------------------------------------------------------------------------------------------------------------------------- if DATA1(Date <> Date[1]) then Begin Gap = ( DATA1(O) - DATA1(C[1]) ); sumGap = sumGap + Gap; End; gCLOSE = DATA1(CLOSE) - sumGap; VARS: MP1(10, DATA1), MP2(20, DATA1), MP3(30, DATA1); VARS: M1(0, DATA1), M2(0, DATA1), M3(0, DATA1); //---------------------------------------------------------------------------------------------------------------------------------------------------------- M1 = DATA1(TMA(gCLOSE, MP1)); M2 = DATA1(TMA(gCLOSE, MP2)); M3 = DATA1(TMA(gCLOSE, MP3)); 늘 감사드립니다.
프로필 이미지
TRF
2013-11-20
180
글번호 69624
시스템
답변완료

수식문의드립니다.

제가 첨부파일로 차트를올렸는데요.보시면5분봉.연결선물지수입니다.거기에서 매도다음 손절매되었습니다.그리고 한참후에 매수가되었습니다.그런데 저는 손절매이후 바로 매수가되었으면 합니다.그리고. 매수이후 (2)번위치에서 매도이후 매수가 되었으면합니다. 차트를 보시면 무슨말인지 알실거에요.그럼수식좀부탁드리겠습니다.수고하십시요.
프로필 이미지
감자골2
2013-11-19
164
글번호 69622
시스템
답변완료

시스템식 질문드립니다.

시스템식 질문드립니다. 질문1. 예를들어 일봉 기준으로 1. 10일 이동평균과 20일 이동평균의 차이가 즉,(10ma - 20ma)값이 이전 x일 동안 +0.5와 -0.5값 안에 위치하다가, 2. +0.5값을 상향돌파 시 매수, -0.5값을 하향돌파 시 매도, 3. 청산은 30ma값을 하향돌파 시 매수청산, 사향돌파 시 매도청산, 이렇게 수식을 작성하려고 합니다. 문제는 위에서 편의 상 예로든 진입 시 필요한 변수(10ma, 20ma, x일, +0.5, -0.5)와 청산 시 변수(30ma)값을 모두 최적화 시키기 위해 변수화 시키고(input값으로 적용) 싶은데 이러한 수식을 어떻게 작성해야 하는지 궁금합니다. 질문2. 예를들어 추세선을 긋는 코딩을 하고 싶은데, 1. 수평선 외에 상향하거나 하향하는 차트에 표시하는 코딩을 알고 싶습니다. 이를테면 상향추세 시 전고점과 현고점을 연결하고, 전저점과 현저점을 연결하는 일종의 채널을 차트에 plot하는 코딩말이죠. 질문3. 질문 1에서 말씀드린 10ma - 20ma값에 +-2표준편차를 씌워서 같이 보조차트 상에 뿌리는 코딩을 알고 싶습니다. 좀 질문이 많긴하지만 상세한 설명을 예시와 함께 부탁드립니다. 날씨 추운데 건강조심하시고, 답변 부닥드립니다.
프로필 이미지
회원
2013-11-19
167
글번호 69609
시스템
답변완료

들림지표 오류

항상 신속하고 상세하게 설명 주셔서 많은 도움을 받고 있습니다. 감사합니다. 아래 지표식은 선물 분봉에 적용하는 식인데 이전 고점을 돌파한 다음 8틱이 눌리면 지표를 보여주고 반대로 전저점을 이탈한 다음 8틱 들려도 지표식을 보여주도록 한 것입니다. 그런데 첨부한 이미지(타원) 처럼 전고점 돌파후 8틱 눌림신호는 잘 나타나는데 전저점 이탈 후 8틱 들림에는 신호(아래화살표 지점)가 나오지 않고 있습니다. 제가 뭔가를 잘못하고 있는 것 같은데 찾을 수가 없군요! 한번 보시고 지적해 주시길 부탁드립니다. INPUT : 이전봉수(20), 조정봉수(10), 조정틱수(8); var : 최근고가(0), 최근저가(0); 최근고가 = highest(h, 이전봉수); 최근저가 = highest(h, 이전봉수); if countif(crossup(c,최근고가[1]) and (Upvol-DownVol) > 1, 조정봉수) >= 1 and L <= 최근고가 - 조정틱수*0.05 Then Plot1(최근고가 - 조정틱수*0.05, "눌림"); else if countif(CrossDown(c,최근저가[1]), 조정봉수) >= 1 and H >= 최근저가 + 조정틱수*0.05 Then Plot2(최근저가 + 조정틱수*0.05 , "들림");
프로필 이미지
스퍼트시커
2013-11-19
227
글번호 69608
지표
답변완료

질문입니다.

상한가를 15%로 고정한 사용자함수 부탁드립니다. input : P1(NumericSimple),P2(NumericSimple); var : FK(0); var : 상한가(0), UpLimit(0); var : up1(0), up2(0), up3(0), up4(0), up5(0),up6(0); if date >= 19981207 then { if date < 20050328 && CodeCategory() == 2 then UpLimit = (BP[0] * 1.12); Else UpLimit = (BP[0] * 1.15); 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; } 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; } } 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; } if CodeCategory() == 1 || CodeCategory() == 2 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 상한가 = iff(up6>=5000, up5, up6); } else if CodeCategory() == 8 || CodeCategory() == 9 then { // ETF 상한가 = up6; } } if date != date[1] Then Condition1 = false; #종가,고가,저가가 같고 상한가이면 if C >= 상한가 and H == C and C == L Then Condition1 = True; #종가가 상한가가 아니면 if C < 상한가 Then Condition1 = false; var1 = highest(H,P1); var2 = lowest(L,P1); #condition1일때 FK는 100 if Condition1 == true Then FK = 100; Else #아니면 기존계산식으로 계산 FK = Ceiling((c-var2)/(var1-var2)*100); STOCMS = EMA(FK,P2);
프로필 이미지
회원
2013-11-19
151
글번호 69607
사용자 함수
답변완료

수식요청합니다..

틱차트에서... 150선의 고점차트와 150선의 저점차트를 만들고 싶어요... 수식부탁합니다...
프로필 이미지
돈키호테1
2013-11-19
174
글번호 69605
지표