커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3450
글번호 230811
답변완료
검색식 부탁 드립니다
M=DATE%10000-DATE%100;
D1=M!=M(1);
D=valuewhen(1,D1,O);
D의 지표값이 1봉전보다 낮다 검색식 부탁 드립니다
2025-08-05
253
글번호 192956
답변완료
종목검색식 요청드립니다.
주봉 10이평이 일봉의 60이평을 crossup한 종목검색식을 만들고 싶습니다.
도움 부탁드리겠습니다.
항상 감사합니다.
2025-08-04
267
글번호 192955
답변완료
종목검색식 부탁드립니다
1. 아래수식을 참고하여
수식5) 가 수식2) 를 돌파할때 종목 검색식
2. 아래수식을 참조하여
수식5) 가 수식2)를 돌파할때 0봉전~10봉전까지의 모든종목 검색식 부탁드려요.
3. 아래 수식을 참고하여,
수식5)가 수식3)을 돌파할때 종목 검색식 부탁합니다.
4. 아래수식을 참조하여
수식5) 가 수식3)을 돌파할때 0봉전 ~10봉전 까지의 모든종목 검색식 부탁드려요
5. 아래수식을 참조하여
수식5) 가 전일보다 상승한 종목검색식 부탁합니다.
------------
수식1)
avg(rsi(rsiPeriod),bandLength)+
(1.6185*stdev(rsi(rsiPeriod),bandLength));
수식2)
avg(rsi(rsiPeriod),bandLength)-
(1.6185*stdev(rsi(rsiPeriod),bandLength));
수식3)
(avg(rsi(rsiPeriod),bandLength)+
(1.6185*stdev(rsi(rsiPeriod),bandLength))
+
avg(rsi(rsiPeriod),bandLength)-
(1.6185*stdev(rsi(rsiPeriod),bandLength)))/2
수식4)
avg(rsi(rsiPeriod)lengthrsipl);
수식5)
avg(rsi(rsiPeriod)lengthtradesl);
--지표조건----
rsiPeriod : 28
bandLength :40
lengthrsipl : 5
lengthtradesl : 3
2025-08-04
307
글번호 192954
답변완료
예스트레이딩 수식으로 부탁드립니다.
종목검색식 부탁드립니다.
V1=ma(v, 기간1);
V2=ma(v, 기간2);
A=CrossUp(V1, V2) && C>O;
vv1 = IF(VOLUME(1) != 0, VOLUME / VOLUME(1), 1);
mac = EAVG(CLOSE, lenth);
mao = EAVG(OPEN, lenth);
vmac = mac * vv1;
vmao = mao * vv1;
vd = vmac - vmao;
vdma = EAVG(vd, malenth);
B=vdma>0 && vdma(1)<0 && vd>0;
A && B
(지표변수) 기간1: 10 / 기간2: 60 / lenth:10 / malenth: 20
2025-08-04
343
글번호 192953
답변완료
지표 부탁드립니다
분봉 차트에서 일봉의 ATR을 구하는 수식을 부탁드립니다.
항상 감사드립니다
2025-08-04
225
글번호 192952
2wnwn 님에 의해서 삭제되었습니다.
2025-08-04
30
글번호 192951
답변완료
부탁드립니다.
아래지표에서
plot24 와 plot25 만 막대로 지정해서 사용중입니다.
막대가 빨강과 파랑으로 표시되는데
이때 차트위에도 연한 색으로 강세약세 표현되게 부탁드립니다.
혹시 막대의 굵기에 따라 색상이 점점 진해지게도 가능하다면 부탁드립니다.
색깔전환시 연한회색으로 구분되어지는것도 부탁드립니다.
// 단기 WMA 변수 선언
Var : Wma_Short1(0),Wma_Short2(0),Wma_Short3(0),Wma_Short4(0),Wma_Short5(0),Wma_Short6(0);
// 단기 WMA 계산 (기간: 3, 5, 8, 10, 12, 15)
Wma_Short1 = WMA(Close,3);
Wma_Short2 = WMA(Close, 5);
Wma_Short3 = WMA(Close, 8);
Wma_Short4 = WMA(Close, 10);
Wma_Short5 = WMA(Close, 12);
Wma_Short6 = WMA(Close, 15);
// 장기 WMA 변수 선언
Var : Wma_Long1(0),Wma_Long2(0),Wma_Long3(0),Wma_Long4(0),Wma_Long5(0),Wma_Long6(0);
// 장기 WMA 계산 (기간: 30, 35, 40, 45, 50, 60)
Wma_Long1 = WMA(Close, 30);
Wma_Long2 = WMA(Close, 35);
Wma_Long3 = WMA(Close, 40);
Wma_Long4 = WMA(Close, 45);
Wma_Long5 = WMA(Close, 50);
Wma_Long6 = WMA(Close, 60);
// 추세 판단 및 상태 유지에 필요한 변수들 선언
Var : Wma_Short_0단계(0), Wma_Short_1단계(0),
Wma_Long_0단계(0), Wma_Long_1단계(0),
Wma_추세_구분(0), Wma_추세_Cnt(0),
Wma_추세_상승_회수(0), Wma_추세_하락_회수(0),
Wma_추세_상승_고가(0), Wma_추세_상승_저가(0), Wma_추세_상승_진폭(0),
Wma_추세_하락_고가(0), Wma_추세_하락_저가(0), Wma_추세_하락_진폭(0),
Wma_추세유지_상승_Cnt(0), Wma_추세유지_하락_Cnt(0),
Wma_추세유지_상승_고가(0), Wma_추세유지_상승_저가(0), Wma_추세유지_상승_진폭(0),
Wma_추세유지_하락_고가(0), Wma_추세유지_하락_저가(0), Wma_추세유지_하락_진폭(0);
// 단기 WMA 간 관계를 기반으로 추세 방향 계산 (1단계 이전)
Wma_Short_0단계 =
IFF(Wma_Short1 > Wma_Short2, 1,0)+
IFF(Wma_Short1 < Wma_Short2, -1,0)+
IFF(Wma_Short2 > Wma_Short3, 1,0)+
IFF(Wma_Short2 < Wma_Short3, -1,0)+
IFF(Wma_Short3 > Wma_Short4, 1,0)+
IFF(Wma_Short3 < Wma_Short4, -1,0)+
IFF(Wma_Short4 > Wma_Short5, 1,0)+
IFF(Wma_Short4 < Wma_Short5, -1,0)+
IFF(Wma_Short5 > Wma_Short6, 1,0)+
IFF(Wma_Short5 < Wma_Short6, -1,0);
// 단기 WMA 1단계 추세 방향성 도출
Wma_Short_1단계 =
IFF(Wma_Short_0단계 > 4, 1,0)+
IFF(Wma_Short_0단계 > 2, 1,0)+
IFF(Wma_Short_0단계 < -4, -1,0)+
IFF(Wma_Short_0단계 < -2, -1,0);
// 장기 WMA 간 비교로 추세 방향 계산 (0단계)
Wma_Long_0단계 =
IFF(Wma_Long1 > Wma_Long2, 1,0)+
IFF(Wma_Long1 < Wma_Long2, -1,0)+
IFF(Wma_Long2 > Wma_Long3, 1,0)+
IFF(Wma_Long2 < Wma_Long3, -1,0)+
IFF(Wma_Long3 > Wma_Long4, 1,0)+
IFF(Wma_Long3 < Wma_Long4, -1,0)+
IFF(Wma_Long4 > Wma_Long5, 1,0)+
IFF(Wma_Long4 < Wma_Long5, -1,0)+
IFF(Wma_Long5 > Wma_Long6, 1,0)+
IFF(Wma_Long5 < Wma_Long6, -1,0);
// 장기 WMA 1단계 추세 방향성 도출
Wma_Long_1단계 =
IFF(Wma_Long_0단계 > 4, 1,0)+
IFF(Wma_Long_0단계 > 2, 1,0)+
IFF(Wma_Long_0단계 < -4, -1,0)+
IFF(Wma_Long_0단계 < -2, -1,0);
// 단기 vs 장기 WMA 비교로 추세 방향 결정 (+1: 상승, -1: 하락)
Wma_추세_구분 =
IFF(Min(Wma_Short1, Wma_Short6) > Max(Wma_Long1, Wma_Long6), 1,0)+
IFF(Max(Wma_Short1, Wma_Short6) < Min(Wma_Long1, Wma_Long6), -1,0);
// 상승 추세일 때 추세 상태 초기화 및 유지
If Wma_추세_구분 > 0 Then
{
If Wma_추세_구분[1] <= 0 Then
{
Wma_추세_Cnt = 1; // 새 상승 추세 시작
Wma_추세_상승_고가 = H; // 상승 추세 시작점 고가 저장
Wma_추세_상승_저가 = L; // 상승 추세 시작점 저가 저장
}
Else {
Wma_추세_Cnt = Wma_추세_Cnt+1; // 상승 추세 유지 중: 카운트 증가
Wma_추세_상승_고가 = Max(Wma_추세_상승_고가, H); // 상승 고가 갱신
Wma_추세_상승_저가 = Min(Wma_추세_상승_저가, L); // 상승 저가 갱신
}
}
// 하락 추세일 때 추세 상태 초기화 및 유지
If Wma_추세_구분 < 0 Then
{
If Wma_추세_구분[1] >= 0 Then
{
Wma_추세_Cnt = -1; // 새 하락 추세 시작
Wma_추세_하락_고가 = H; // 하락 추세 시작점 고가 저장
Wma_추세_하락_저가 = L; // 하락 추세 시작점 저가 저장
Wma_추세_상승_진폭 = (Wma_추세_상승_고가 - Wma_추세_상승_저가)/PriceScale; // 직전 상승 진폭 계산 (선물기준)
}
Else {
Wma_추세_Cnt = Wma_추세_Cnt-1; // 하락 추세 유지 중: 카운트 감소
Wma_추세_하락_고가 = Max(Wma_추세_하락_고가, H); // 하락 고가 갱신
Wma_추세_하락_저가 = Min(Wma_추세_하락_저가, L); // 하락 저가 갱신
Wma_추세_하락_진폭 = (Wma_추세_하락_고가 - Wma_추세_하락_저가)/PriceScale; // 하락 진폭 계산 (선물기준)
}
}
// 상승 추세 유지 여부 및 상승 회수, 유지 카운트 갱신
If Wma_추세_구분 > 0 Then
{
If Wma_추세_구분[1] <= 0 Then
{
Wma_추세_하락_회수 = 0; // 하락 회수 초기화
Wma_추세유지_하락_Cnt = 0; // 하락 유지 카운트 초기화
IF Wma_추세_상승_회수 > 0 then
{
Wma_추세유지_상승_Cnt = Wma_추세유지_상승_Cnt[1] + 1; // 직전 유지값 기반 카운트 증가
Wma_추세_상승_회수 = Wma_추세_상승_회수+1; // 상승 회수 증가
}
Else Wma_추세_상승_회수 = 1; // 첫 상승 구간 진입
}
Else Wma_추세유지_상승_Cnt = Wma_추세유지_상승_Cnt +1; // 지속 상승 시 유지 카운트 증가
}
// 하락 추세 유지 여부 및 하락 회수, 유지 카운트 갱신
If Wma_추세_구분 < 0 Then
{
If Wma_추세_구분[1] >= 0 Then
{
Wma_추세_상승_회수 = 0; // 상승 회수 초기화
Wma_추세유지_상승_Cnt = 0; // 상승 유지 카운트 초기화
IF Wma_추세_하락_회수 > 0 then
{
Wma_추세유지_하락_Cnt = Wma_추세유지_하락_Cnt[1] - 1; // 유지 카운트 감소
Wma_추세_하락_회수 = Wma_추세_하락_회수+1; // 하락 회수 증가
}
Else Wma_추세_하락_회수 = 1; // 첫 하락 구간 진입
}
Else Wma_추세유지_하락_Cnt = Wma_추세유지_하락_Cnt -1; // 지속 하락 시 유지 카운트 감소
}
// 상승 유지 구간 내 고가/저가 갱신
If Wma_추세_상승_회수 > 0 Then
{
If Wma_추세_상승_회수[1] < 1 Then
{
Wma_추세유지_상승_고가 = H; // 새로운 상승 유지 시작 시 고가 초기화
Wma_추세유지_상승_저가 = L; // 새로운 상승 유지 시작 시 저가 초기화
}
Else
{
Wma_추세유지_상승_고가 = max(H, Wma_추세유지_상승_고가); // 고가 갱신
Wma_추세유지_상승_저가 = Min(L, Wma_추세유지_상승_저가); // 저가 갱신
}
}
// 하락 유지 구간 내 고가/저가 갱신
If Wma_추세_하락_회수 > 0 Then
{
If Wma_추세_하락_회수[1] < 1 Then
{
Wma_추세유지_하락_고가 = H; // 새로운 하락 유지 시작 시 고가 초기화
Wma_추세유지_하락_저가 = L; // 새로운 하락 유지 시작 시 저가 초기화
}
Else
{
Wma_추세유지_하락_고가 = max(H, Wma_추세유지_하락_고가); // 고가 갱신
Wma_추세유지_하락_저가 = Min(L, Wma_추세유지_하락_저가); // 저가 갱신
}
}
// 진폭 계산 방식 분기: 주식은 % 기준, 선물은 PriceScale 기준 사용
If CodeCategory < 3 Then // 주식 종목일 경우
{
Wma_추세유지_하락_진폭 = (Wma_추세유지_하락_고가 - Wma_추세유지_하락_저가) / Wma_추세유지_하락_저가 * 100; // 하락 구간 진폭 (% 기준)
Wma_추세유지_상승_진폭 = (Wma_추세유지_상승_고가 - Wma_추세유지_상승_저가) / Wma_추세유지_상승_저가 * 100; // 상승 구간 진폭 (% 기준)
}
Else // 선물 종목일 경우
{
Wma_추세유지_하락_진폭 = (Wma_추세유지_하락_고가 - Wma_추세유지_하락_저가)/PriceScale; // 하락 구간 진폭 (틱 기준)
Wma_추세유지_상승_진폭 = (Wma_추세유지_상승_고가 - Wma_추세유지_상승_저가)/PriceScale; // 상승 구간 진폭 (틱 기준)
}
/////////////////////////////////////////////////////
// 단기 WMA 표시
plot1(Wma_Short1, "Short1",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot2(Wma_Short2, "Short2",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot3(Wma_Short3, "Short3",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot4(Wma_Short4, "Short4",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot5(Wma_Short5, "Short5",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
plot6(Wma_Short6, "Short6",
IFF(Wma_추세_구분 > 0, RGB(255,0,0),
IFF(Wma_추세_구분 < 0, RgB(0,0,255),
RgB(220,220,220)))
,Def,
IFF(Abs(Wma_Short_1단계 + Wma_추세_구분) > 2,1,0));
// 장기 WMA 표시
plot7(Wma_Long1, "Long1",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot8(Wma_Long2, "Long2",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot9(Wma_Long3, "Long3",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot10(Wma_Long4, "Long4",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot11(Wma_Long5, "Long5",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
plot12(Wma_Long6, "Long6",
IFF(Wma_추세_구분 > 0, RGB(0,255,0),
IFF(Wma_추세_구분 < 0,Green,
RgB(220,220,220))),Def,
IFF(Wma_Short_1단계 + Wma_추세_구분 > 2 && Wma_Long_1단계 > 0 ,1,
IFF(Wma_Short_1단계 + Wma_추세_구분 < -2 && Wma_Long_1단계 < 0 ,1,0)));
Plot13(Wma_추세_상승_고가,"상승_고가");
Plot14(Wma_추세_상승_저가,"상승_저가");
Plot15(Wma_추세_하락_고가,"하락_고가");
Plot16(Wma_추세_하락_저가,"하락_저가");
Plot17(Wma_추세_상승_진폭,"Wma_추세_상승_진폭");
Plot18(Wma_추세_하락_진폭,"Wma_추세_하락_진폭");
If Wma_추세_구분 <> 0 Then
Plot20(0,"Wma_추세_구분",IFF(Wma_추세_구분 > 0, ReD, Blue),Def,3);
Plot22(Wma_Short_1단계,"Short1단계",
IFf(Wma_Short_1단계 > 1,Red,
IFf(Wma_Short_1단계 < -1,Blue, Gray)),Def,Abs(Wma_Short_1단계));
Plot21(Wma_Long_1단계,"Long_1단계",
IFf(Wma_Long_1단계 > 1,Red,
IFf(Wma_Long_1단계 < -1,Blue, Gray)),Def,Abs(Wma_Long_1단계));
If Wma_추세_상승_회수 > 1 or Wma_추세_하락_회수 > 1 Then
Plot23(Wma_추세_Cnt,"추세_Cnt", IFF(Wma_추세_Cnt > 0,Red,Blue));
Plot24(Wma_추세_상승_회수,"Wma_추세_상승_회수", red, Def, Wma_추세_상승_회수-1);
Plot25(Wma_추세_하락_회수,"Wma_추세_하락_회수", Blue, Def, Wma_추세_하락_회수-1);
If Wma_추세유지_상승_Cnt > 0 Then
Plot26(Wma_추세유지_상승_Cnt,"Wma_추세유지_상승_Cnt",Red);
If Wma_추세유지_하락_Cnt < 0 Then
Plot27(Wma_추세유지_하락_Cnt,"Wma_추세유지_하락_Cnt",Blue);
Plot28(Wma_추세유지_상승_진폭,"추세유지_상승_진폭",red,def,1);
Plot30(Wma_추세유지_하락_진폭,"Wma_추세유지_하락_진폭",blue,def,1);
2025-08-03
315
글번호 192950
답변완료
문의드립니다.
var1 = var1 + 1;
var2 = SummationRec(var1, 5);
plot1(var2);
이런식으로 var2 = var1 + var1[1] + var1[2] + var1[3] + var1[4]의 값을 구하려는데 수치가 0이 나와요.어떻게 해야하죠?
답변부탁드립니다. 수고하세요^^
2025-08-03
242
글번호 192949
답변완료
아무리 해도 안되네요...
차트상에서 RSI값을 아래와 같이 설정을 하고 화면에 올리니 2개만 나오는데...
어떻게 해야 설정한값을 다 볼 수 있을까요.
도움 요청 드림니다. 감사합니다.
2025-08-03
263
글번호 192948