커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3546
글번호 230811
답변완료
수식변환부탁드립니다.
안녕하세요?
20일 60일 크로스다운할 때 라인으로 나타내고 싶습니다.
K사에서 쓰고 있는 수식입니다.
Mm=ma(c,20);
Mn=ma(c,60);
valuewhen(1, crossdown(M20,M60), M60)
감사합니다. ^^
2025-04-22
312
글번호 190323
답변완료
질문드리겠습니다
1번 답변주신 내용으로 적용하면 아무것도 나오지가 않습니다
제가 구현하고자 하는건 if h>l*1.08을 만족하는 현재만족봉(A1라고 했을때) 이후 새로운 다음봉이(A0라고 했을때) 5거래일 보다 적으면 스킵을 하고,
A1봉을 다시 기준점으로 해서 (다음봉인 A0봉이 새로운 기준점이 아니라) , A0 이후에 나오는 만족봉이 A1봉과 비교해서 5거래일 이상이면 값이 나타나게 하려고 합니다
즉 기준봉은 이전껄로 고정된 상태로, "최초로" 5일 이상 간격이 발생하는 새로운 봉이 나오면 var1에 index 값을 저장하려고 합니다. 그 후로 그 봉을 기준으로 또 다시 반복을 하려고 합니다.
단순히 현재봉과 직전봉을 비교하면 간격이 큰 봉이 나오지 않는 이상 값이 계속 안나오게 되는걸 방지하려고 생각해본 것입니다
예를 들어 간격이 계속 1거래일인 조건봉들이 12개가 연달아 나오면 결과값이 나오지 않게 되지만 이 방식으로 하면 두개는 나오기 때문입니다
한번 더 검토 부탁드립니다
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
지난 질문은 참고로 올렷습니다
질문1)
아래식에서
if d2 == 0 or (d2 > 0 and d1 >= d2+5)
이 조건에 의하면 현재봉과 전봉의 거래일 간격을 단순하게 계산해서
차이가 5거래일 이상 나지 않으면 표현을 안하게 되는데요,
h>l*1.08 조건을 만족하는 봉들을 가지고
현재만족봉 기준 다음 만족봉이 5거래일 보다 적으면 건너뛰고 다다음봉이 클때 var1에 index 값을 대입하려고 합니다
예를들어 현재봉 - 다음봉 (3거래일 후) - 다다음봉 (현재봉 기준으로 해서 6거래일 후)
라면 다음봉은 건너뛰고 다다음봉에만 해당하게 조건을 작성하고 싶습니다
아래는 수식입니다
var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tl(0),tl1(0),n(0);
var: sum2(0),sumi2(0);
var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),ee(0),e1(0),e2(0);
Array : ii[50](0),aa[50](0),cc[50](0),vv[150](0),ttl[30](0),tttl[40](0),tttl1[40](0),tttl2[40](0),sd[45](0),st[45
](0);
Var33=Money/100000000;
if Bdate != Bdate[1] Then
{
DD = DD+1;
}
if h>l*1.08 Then
{
d1 = dd;
d2 = d1[1];
if d2 == 0 or (d2 > 0 and d1 >= d2+5) Then
{
var1 = Index;
Var2 = var1[1];
Var3= Var2[1];
tl=TL_NEW(sDatE,sTimE,100,sDatE,sTimE,999999);
TL_SetSize(tl,0);
TL_SetColor(tl,Gray);
}
}
2025-04-22
358
글번호 190318
답변완료
지표 질문입니다
일봉 ma20 을 틱 차트에 그린다
감사합니다
2025-04-22
345
글번호 190316
답변완료
종목검색 문의 드립니다
st60 = supertrend(60,2);
d=mx39()/mn39()*100-100;
crossup(c,st60) &&
st60<st60(1)&&
st60(1)>mx39()&&
st60<mn39()&&c>mx39()&&
d<5
2025-04-22
356
글번호 190315
답변완료
수식전환
수고많으십니다 아래 타사 분봉 신호수식4개중 3개이상의신호가 동시에 뜨는 경우를 어떻게 수식을 작성해야하는지요? >=3 ,,,이런식으로 했던거 같은데 확실히 하고 싶어서요 ^^.
1.cnt=
countsince(date==date(1)&&
date==date(2)&&
date!=date(3),c>dayopen()&&
c(1)<dayopen());
S=countsince(date!=date(1),c<dayopen());
cnt==1&&cnt(1)==0&&S>1
2.C<=C(1)*1.11&&
C>H(1)&&
Dayopen()<(H(1)+L(1)+C(1))/3+H(1)-L(1)&&
CrossUp(C,(H(1)+L(1)+C(1))/3+H(1)-L(1));
V>=20000&&
CrossUp(C,(H(1)+L(1)+C(1))/3+H(1)-L(1))
3.A1=(Dayhigh()-Daylow())/100;
A2=Dayhigh()-(A1*조정);
cnt=
countsince(date!=date(1),ma(c,5)>ma(c(1),5));
cnt==1&&cnt(1)==0;
CrossUp(C,A2)
4.A=H-L;
B=Max(C,O)-L;
조건=A/B>배수 && H/C(1)>(1*상승률/100);
기준가=Valuewhen(1,조건,H);
기준V=Valuewhen(1,조건,V);
crossup(c,기준가) && V>기준V
2025-04-21
385
글번호 190313
답변완료
문의 드립니다.
귀사에서 알려주신 아래 수식으로 검색시
오늘 고가가 10% 이상 상승한 종목이 검색되지 않습니다
수정해주시면 감사하겠습니다.
오늘 시가 대비 오늘 고가가 10% 상승했던 종목과, 어제 종가 대비 오늘 고가가 10% 상승한 종목 검색입니다.
감사합니다.
if (H >= O*1.10 Or
H >= C[1]*1.10) and
Money >= 2500000000 Then
Find(1);
2025-04-21
348
글번호 190312
답변완료
문의드립니다
갭보정 분봉차트에 정상적인(개보정 안된) 이동평균 구하는 식 부탁드립니다
갭보정된 차트에 이평선을 적용하면 이평선 수치가 왜곡되는데요
그렇지 않게 정상적인 이평선 수치가 나오게 하고 싶습니다
감사합니다
2025-04-21
332
글번호 190311
답변완료
MAx함수
max()함수 리스트에서 가장큰값을 제외한 이후 큰값을 max값으로 정할수 있을까요?
ex) max(1,2,3,4)
3을 max값으로 정하고 싶어요
min()함수 리스트에서 가장작은값을 제외한 이후 작은값을 min값으로 정할수 있을까요?
ex) min(1,2,3,4)
2을 min값으로 정하고 싶어요
항상 감사 드립니다
2025-04-21
366
글번호 190310
답변완료
변환 부탁드립니다
다음 수식에 대한 종목검색식 부탁드립니다.
A=highestsince(1,date(1)!=date,V);
B=valuewhen(1,A==V && C>O,H);
D=valuewhen(1,A==V && C>O,L);
E=(B-D)*0.618+D;
F1=eavg(C,20);
F2=eavg(C,60);
F3=(F1-F2);
조건=F1>F2 && F3>F3(1) && E>L && H(1)>H && L(1)<L;
조건 && !조건(1)
2025-04-21
402
글번호 190309