커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1317
글번호 230811
답변완료
종목 검색 부탁드립니다.
input : P(11),Per(1);
VAR: var1(0),B(0);
var1 = EnvelopeUP(P,per);
B=ma(C,3);
if CrossUp(B,var1) && C>O Then
Find(1);
위 종목 검색식이 1봉전부터 20봉이내 발생한 종목을 검색하는 종목 검색식 부탁드립니다
2025-05-11
249
글번호 190717
답변완료
일목균형표 색상
안녕하십니까.
항상 감사드립니다.
그림과 같이 기준선, 전환선, 선행스팬1, 선행스팬2를 상승/하락시 색상을 구분해서 현시될 수 있도록 하려고 하는데 선행스팬과 후행스팬이 선행과 후행으로 현시되질 않습니다.
잘못된곳 수정 부탁 드립니다(후행스팬은 상승/하락 색상 제외)
색상은 임의대로 하시면 제가 수정해서 사용하겠습니다.
Inputs: TurnLen(9), StdLen(26), PrdLen(52);
Variables: 기준선(0), 전환선(0),후행스팬(0), 선행스팬1(0), 선행스팬2(0),c1(0),c2(0),c3(0),c4(0);
전환선 = (Highest(High, TurnLen) + Lowest(Low, TurnLen)) / 2;
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
후행스팬 = Close ;
선행스팬1 = (전환선 + 기준선) / 2 ;
선행스팬2 = (Highest(High, PrdLen) + Lowest(Low, PrdLen)) / 2;
if 전환선 > 전환선[1] Then
c1 = Magenta;
if 전환선 < 전환선[1] Then
c1 = Lime;
if 기준선 > 기준선[1] Then
c2 = Red;
if 기준선 < 기준선[1] Then
c2 = Blue;
if 선행스팬1 > 선행스팬1[1] Then
c3 = Magenta;
if 선행스팬1 < 선행스팬1[1] Then
c3 = Lime;
if 선행스팬2 >선행스팬2[1] Then
c4 = Red;
if 선행스팬2 < 선행스팬2[1] Then
c4 = Blue;
Plot1(전환선,"전환선",C1) ;
Plot2(기준선,"기준선",C2) ;
Plot3(선행스팬1,"선행스팬1",C3) ;
Plot4(선행스팬2,"선행스팬2",C4) ;
Plot5(후행스팬,"후행스팬") ;
수고하세요.
2025-05-11
290
글번호 190716
답변완료
수식 질문입니다
1
아래식을 간단히 작성할수있을까요
30봉 60봉 90봉 120봉
(M[0]) > (M[1]+M[2]+M[3]+M[4]+M[5]+M[6]+M[7]+M[8]+M[9]+M[10]
+M[11]+M[12]+M[13]+M[14]+M[15]+M[16]+M[17]+M[18]+M[19]+M[20]
+M[21]+M[22]+M[23]+M[24]+M[25]+M[26]+M[27]+M[28]+M[29]+M[30])
(M[0]+M[1]) > (M[2]+M[3]+M[4]+M[5]+M[6]+M[7]+M[8]+M[9]+M[10]
+M[11]+M[12]+M[13]+M[14]+M[15]+M[16]+M[17]+M[18]+M[19]+M[20]
+M[21]+M[22]+M[23]+M[24]+M[25]+M[26]+M[27]+M[28]+M[29]+M[30])
2
진입식에 따른 다른PT값을 설정하고싶습니다
A 진입
A 타겟포인트PT 3%
B 진입
B 타겟포인트PT 5%
감사합니다
2025-05-11
269
글번호 190715
우유 님에 의해서 삭제되었습니다.
2025-05-11
55
글번호 190714
윤호석 님에 의해서 삭제되었습니다.
2025-05-10
0
글번호 190713
답변완료
보완해주세요
input: 기준배율(1.8), 익절비율(1.01), 손절비율(0.995),
진입선색(cyan), 익절선색(green), 손절선색(red);
var:
기준거래량(0), 중심선(0), 제곱합(0), 분산(0), 표준편차(0), BB상단(0),
ma5(0), ma20(0),
진입가(0), 익절선(0), 손절선(0),
신호발생(false), 매도출력(false),
ID_진입선(0), ID_익절선(0), ID_손절선(0), ID_txt(0);
// === 기준 계산 ===
기준거래량 = average(volume, 20);
중심선 = average(Close, 20);
제곱합 = average(Close * Close, 20);
분산 = 제곱합 - 중심선 * 중심선;
표준편차 = SquareRoot(분산);
BB상단 = 중심선 + 표준편차 * 2;
ma5 = average(Close, 5);
ma20 = average(Close, 20);
// === 매수 신호 ===
if (신호발생 = false) and
(volume > 기준거래량 * 기준배율) and
(Close > BB상단) and
(Close > Open) and
((Close - Open) > (High - Low) * 0.6) and
(ma5 > ma20) then
begin
// 기존 선 삭제
if ID_진입선 <> 0 then TL_Delete(ID_진입선);
if ID_익절선 <> 0 then TL_Delete(ID_익절선);
if ID_손절선 <> 0 then TL_Delete(ID_손절선);
진입가 = Close;
익절선 = 진입가 * 익절비율;
손절선 = 진입가 * 손절비율;
// 진입선
ID_진입선 = TL_New(date, time, 진입가, date, time + 1, 진입가);
TL_SetColor(ID_진입선, 진입선색);
TL_SetSize(ID_진입선, 2);
// 익절선
ID_익절선 = TL_New(date, time, 익절선, date, time + 1, 익절선);
TL_SetColor(ID_익절선, 익절선색);
TL_SetSize(ID_익절선, 2);
// 손절선
ID_손절선 = TL_New(date, time, 손절선, date, time + 1, 손절선);
TL_SetColor(ID_손절선, 손절선색);
TL_SetSize(ID_손절선, 2);
신호발생 = true;
매도출력 = false;
end;
// === 매도 신호 ===
if (신호발생 = true) and (매도출력 = false) then
begin
if (Close >= 익절선) or (Close <= 손절선) then
begin
ID_txt = Text_New(date, time, High, "SELL");
Text_SetColor(ID_txt, red);
매도출력 = true;
end;
end;
// === 상태 초기화 ===
if (매도출력 = true) and
((Close > 진입가 * 1.2) or (Close < 진입가 * 0.9)) then
begin
신호발생 = false;
매도출력 = false;
end;
적용이안됩니다 이유가뭘까요 예스트레이더에 적용되게 부탁드립니다
2025-05-10
337
글번호 190712
답변완료
Plot 함수 문의
안녕하세요?
첨부와 같은 파인스크립트의 Plot종류인 Stepline과 유사한 함수가 예스랭귀지에 있나요?
없다면 최대한 유사하게 구현할 수 있는 스크립트 좀 부탁드립니다.
감사합니다.
2025-05-10
256
글번호 190711
답변완료
문의 드립니다.
수고 많으십니다.
앞전 15개 봉(일 또는 캔들) 안에서 아래의 저점신호
A = StochasticsSlow(12,5);
B = eavg(A,5);
CrossUp(A, B) and A <= 30
발생 후
현재가에서 아래의 1000% 이상 대량 매수량
Sv = sum(V);
V1 = ValueWhen(1,date!=date(1), Sv(1));
V2 = ValueWhen(2,date!=date(1), Sv(1));
당일 = Sv - V1;
전일 = V1 - V2;
Tot = 당일/전일 *100;
if(Tot>1000, Tot, 0)
발생한 종목 검색식 부탁드립니다.
감사합니다.
2025-05-10
253
글번호 190710
답변완료
질문 부탁드립니다
수고가 많으십니다
한가지 여쭤보고 싶은데요,
아래 식에서
aa[0]배열값을 비교하는 조건을 만들고 싶습니다
비교조건은
"다음 만족봉의 aa가 이전 aa보다 15% 이상 크거나, 30% 이상 작다" 입니다
만약 다음봉이 크거나 작지 않으면 조건이 만족할때까지 비교를 하려고 하는데,
다음봉에 나오는 aa 값을 누적해서 평균을 한뒤에 그 다음봉과 비교하려고 합니다
예를들어서 aa1 aa2 aa3 aa4 순서로 다음봉들이 나온다면
aa2가 aa1보다 크거나 작지 않으면 aa2는 건너뛰고
aa1+aa2 값을 평균을 내서 aa3 와 비교를 해서 부합할때만 특정값을 저장하려고 하는데 조건 작성이 가능한지 궁금합니다. 만약에 aa3도 아니라면 건너뛰고(aa1+aa2+aa3)/3 한 값과 aa4 를 비교하려고 합니다
매번 감사드립니다
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),e1(0),e2(0);
Array : ii[50](0),aa[50](0);
var : count(0)
Var33=Money/100000000;
if Bdate != Bdate[1] Then
{
DD = DD+1;
}
if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then
{
d1 = dd;
hh = h;
var1 = Index;
Var2 = var1[1];
Var3 = Var2[1];
sum1=0; sumi1=0; sum2=0; sumi2=0;
tl=TL_NEW(sDate,sTime,100,sDate,sTime,999999);
TL_SetSize(tl,0);
TL_SetColor(tl,Black);
For cnt = 1 to (var1-Var2)
{
sum1=sum1+l[cnt];
sumi1=sumi1+1;
}
value1=sum1/sumi1;
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
#ee[cnt]= ee[cnt-1];
}
aa[0] = value1*1;
}
2025-05-12
249
글번호 190709