커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
2117
글번호 230811
신대륙발견 님에 의해서 삭제되었습니다.
2022-09-26
17
글번호 162483
답변완료
수식 부탁 드립니다.
지표 수식 입니다
시스템트레이딩 수식으로 변경 부탁 드립니다
input : Period(30);
var : A(0);
var1 = Highest(H,Period);
Var2 = Lowest(L,period);
if var1[1] < var1 Then
A = (var1+Var2)/2;
if A > 0 Then
{
value1 = var1-(((var1-A)/5)*5);
value2 = var1-(((var1-A)/5)*6);
value3 = var1-(((var1-A)/5)*7);
Plot1(value1);
plot2(Value2);
plot3(Value3);
}
Plot1 기술지표에서만 사용할수 있다고 나오는데요..
요거 시스템트레이딩 수식으로 변경 부탁 드립니다.
2022-09-24
1082
글번호 162482
답변완료
Buy(), Sell() 펑션의 신호타입 문의
안녕하세요?
예스트레이더 초보자들에게 항상 친절하고 자세한 답변을 해주시는 Q&A 담당자분께 감사의 말씀을 드립니다. 금일 저의 문의 사항은 아래와 같습니다.
[질문1]
Buy(), Sell(), ExitLong(), ExitShort() 등의 함수들은 신호타입(Onclose, Atmarket, Atstop, Atlimit)을 인수로 갖는 것으로 압니다.
특정 시간에 "시장가"로 주문을 내서 주문이 즉시 체결되었으면 하는데...
아래 코드와 같이
-> 10시45분15초에 매수 체결
-> 10시45분35초에 매수청산 체결
을 하려면
Buy()와 ExitLong()의 신호타입을 어떤 것으로 설정해야 하나요?
차트는 1분봉을 사용하고 있고 현재봉의 완성 여부와 관계 없이
미리 정한 시간에 주문이 실행되었으면 합니다.
(질문1 관련 코드 예시)
if stime == 104515 Then Buy();
if stime == 104535 Then ExitLong("bx");
[질문2]
위 첨부 그림은 NH트레이더 시스템트레이딩 교육자료를 켑쳐한 것입니다. "자동주문으로 설정할 경우 매매신호가 발생한 다음 봉이 만들어지는 순간 주문이 나가게 됩니다"라고 적혀있더군요.
(A) 그렇다면 아래 코드에서 현재 진행중인 봉이 시작된지 10초만에 순매수거래량(=Upvol-DownVol)이 1000을 초과했다면, 순매수거래량이 1000을 초과한 시점에 즉시 매수주문이 나가는 것이 아니라, 50초 후 (1분봉 가정) 현재봉이 완성되는 시점에 매수주문이 나가는 건가요?
(B) 현재봉의 초반에 순매수거래량이 1000을 초과했더라도 50초 후에는 순매수거래량이 다시 마이너스로 돌아설 수도 있는데, 순매수거래량이 다시 마이너스로 돌아서면 기존에 발생했던 매수신호가 취소되고 봉 완성 시점에는 매수주문이 나가지 않게 되나요?
(C) 현재 진행중인 봉의 완성 여부와 관계 없이 순매수거래량이(=Upvol-DownVol) 1000을 초과한 시점에 즉시 매수주문이 나가도록 하려면 어떻게 해야 하나요?
(질문2 관련 코드 예시)
if Upvol-DownVol > 1000 Then Buy();
감사합니다.
2022-09-26
1104
글번호 162481
wxc7456 님에 의해서 삭제되었습니다.
2022-09-24
0
글번호 162480
답변완료
강조수식 부탁드려요
<1>
a=ma(c,10);
b=ma(c,20);
d=ma(c,60);
d1=ma(c,13);
a1=(highest(high,9)+lowest(low,9))/2;
b1=(highest(high,26)+lowest(low,26))/2;
선1=shift((highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4,26-1);
선2=shift((highest(high,52)+lowest(low,52))/2,25);
(c>d && a>b && a1>b1) && c>d1
<2>
a=ma(c,10);
b=ma(c,20);
d=ma(c,60);
d1=ma(c,13);
a1=(highest(high,9)+lowest(low,9))/2;
b1=(highest(high,26)+lowest(low,26))/2;
선1=shift((highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4,26-1);
선2=shift((highest(high,52)+lowest(low,52))/2,25);
(c>d && a>b && a1>b1) && c>d1
2022-09-23
1013
글번호 162479
답변완료
수식전환 부탁요
다음 수식을 예스수식으로 전환부탁드립니다.
<1>
s=sum(1);
HH=valuewhen(1,s%봉수==0,Highest(H,봉수));
shift(if(s%봉수==0,HH,0),-(봉수/2))
지표설정 봉수 5
<2>
수식1
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-1)<0, 0, (봉수-1));
shift(if(As<Bs,A,0),-D)
수식2
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-2)<0, 0, (봉수-2));
shift(if(As<Bs,A,0),-D)
수식3
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-3)<0, 0, (봉수-3));
shift(if(As<Bs,A,0),-D)
수식4
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-4)<0, 0, (봉수-4));
shift(if(As<Bs,A,0),-D)
수식5
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
if(As<Bs,A,0)
봉수 5
<3>
수식1
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-1)<0, 0, (봉수-1));
shift(if(As<Bs,B,0),-D)
수식2
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-2)<0, 0, (봉수-2));
shift(if(As<Bs,B,0),-D)
수식3
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-3)<0, 0, (봉수-3));
shift(if(As<Bs,B,0),-D)
수식4
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-4)<0, 0, (봉수-4));
shift(if(As<Bs,B,0),-D)
수식5
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
if(As<Bs,B,0)
봉수 5
<4>
수식1
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-1)<0, 0, (봉수-1));
shift(if(As<Bs,min(A,B),0),-D)
수식2
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-2)<0, 0, (봉수-2));
shift(if(As<Bs,min(A,B),0),-D)
수식3
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-3)<0, 0, (봉수-3));
shift(if(As<Bs,min(A,B),0),-D)
수식4
s=sum(1);
A=valuewhen(1,s%봉수==1,O);ㅃ
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
D=if((봉수-4)<0, 0, (봉수-4));
shift(if(As<Bs,min(A,B),0),-D)
수식5
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
if(As<Bs,min(A,B),0)
봉수 5
<5>
수식1
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
shift(if(As<Bs,min(A,B),0),-(봉수/2))
수식2
s=sum(1);
A=valuewhen(1,s%봉수==1,O);
As=valuewhen(1,s%봉수==1,s);
B=valuewhen(1,s%봉수==0,C);
Bs=valuewhen(1,s%봉수==0,s);
LL=Valuewhen(1,s%봉수==0,Lowest(L,봉수));
shift(if(As<Bs,LL,0),-(봉수/2))
봉수 5
<6>
수식1
A = MACD(short,long)-eavg(MACD(short,long),signal);
Mc1 = ValueWhen(1, CrossUp(A, 0), O);
P = Mc1 - A*증폭;
Mc2 = ValueWhen(1, CrossDown(A, 0), C);
M = Mc2 + A*(-증폭);
b=if(A>0, P, M)
수식2
if(b>b(1),b,0)
수식3
if(b<b(1),b,0)
short 12 long 26 signal 9 증폭 10
<7>
수식1
A = MACD(short,long);
Mc1 = ValueWhen(1, CrossUp(A, 0), (C+O)/2);
P = Mc1 - A*증폭;
Mc2 = ValueWhen(1, CrossDown(A, 0), (C+O)/2);
M = Mc2 + A*(-증폭);
if(A>0, P, M)
수식2
A = MACD(short,long);
Mc1 = ValueWhen(1, CrossUp(A, 0), (C+O)/2);
P = Mc1 - A*증폭;
Mc2 = ValueWhen(1, CrossDown(A, 0), (C+O)/2);
M = Mc2 + A*(-증폭);
eavg(if(A>0, P, M), signal)
short 12 long 26 signal 9 증폭 10
2022-09-23
1192
글번호 162478
에구머니 님에 의해서 삭제되었습니다.
2022-09-23
0
글번호 162477
에구머니 님에 의해서 삭제되었습니다.
2022-09-23
4
글번호 162476
답변완료
차트에 지표그래프 겹쳐서 표시하기
안녕하세요,
plot31(var1,"고점",BLUE,def,0);
이러한 지표 그래프가 현재는 틱봉차트 아래에 별도로 그려져 있는데요, 이 그래프를 틱봉차트 영역 안에 겹쳐서 그리고 싶은데요, 어떻게 해야 하나요?
감사합니다.
2022-09-23
1009
글번호 162474