커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3675
글번호 230811
답변완료
종목검색식 부탁합니다.
RSI기준=RSI(기간1);
RSI신호=eavg(RSI(기간1),기간2);
if(RSI기준<=40,상향돌파(RSI기준,RSI신호),0) && if(RSI기준>=30,상향돌파(RSI기준,RSI신호),0)
and crossup(c, bbandsdown(40,2)) and StochasticsSlow(기간1,기간2)<20
or
RSI(기간1);
RSI신호=eavg(RSI(기간1),기간2);
if(RSI기준<=40,상향돌파(RSI기준,RSI신호),0) && if(RSI기준>=30,상향돌파(RSI기준,RSI신호),0)
&& StochasticsSlow(기간1,기간2)<20
or
a=MA(C, 5, 단순);
b=Valuewhen(1,crossup(rsi(period),LPercent), (H+L)/2);
Shift(C>=O && C>=b && b>b(1) && a(1)<=a(2), 0)
지표변수 기간1 14
기간2 9
Period 14
LPercent 30
======================================
위의 수식 종목검색식으로 꼭 좀 부탁 드립니다.
감사합니다.
2024-12-11
615
글번호 186142
답변완료
box수식창의 불일치 수정해 주세요.
90357번 보완해 준 내용에 대해 수정 요청 드립니다
수식은 아래와 같습니다.
Input : 횡보구간(0);
VAR : 횡보색(0),box(0);
IF b > b[1]-횡보구간 TheN
{
횡보색 = Red; // 연핑크
}
IF b < b[1]+횡보구간 TheN
{
횡보색 = RgB (0,227,227); // 진하늘
}
IF b <= b[1]+횡보구간 AND b>= b[1]-횡보구간 TheN
{
횡보색 = RgB (249,249,0); // 진황색
}
if 횡보색 != 횡보색[1] Then
{
box = Box_New(sDate,sTime,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,횡보색);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
Else
Box_SetEnd(box,NextBarSdate,NextBarStime,l);
수식을 차트에 적용해 보니 첨부파일에서 보듯이 box부분이 지표b와 불일치가 나타 납니다. 지표b대비 box부분이 1개 봉씩 우측을로 밀려 표시됨.
--> 일치되게 수정해 주세요.....
2024-12-11
558
글번호 186141
답변완료
월물옵션첫날 기준2
답변 수식
1)과 2)는 시뮬레이션 결과값이 나오는데
3)과 4)는 시뮬레이션 결과값이 안나옵니다.
검토바랍니다.
************************************************************************************
안녕하세요
예스스탁입니다.
1
var : nday(0,Data1),week(0,Data1),X(False,Data1),hh(0,Data1),ll(0,Data1);
var : mh(0,Data1),ml(0,Data1),mr(0,Data1);
nday = data2(date - int(date/100)*100);
Week = data2(DayOfWeek(date));
if Data2(nday >= 8 and nday <= 14 and week == 4) then
X = true;
Else
X = False;
if Bdate != Bdate[1] Then
{
if X == False and X[1] == true Then
{
hh = data2(h);
ll = data2(l);
}
mh = hh[1];
ml = ll[1];
mr = mh-ml;
}
if hh > 0 and Data2(h) > hh Then
hh = data2(h);
if ll > 0 and data2(l) < ll Then
ll = data2(l);
if mr>10 and dayopen-ml>5 then
buy();
if mr>10 and mh-dayopen>5 then
sell();
2
var : nday(0,Data1),week(0,Data1),X(False,Data1),hh(0,Data1),ll(0,Data1),dd(0,Data1);
var : mh(0,Data1),ml(0,Data1),mr(0,Data1),mc(0,Data1);
nday = data2(date - int(date/100)*100);
Week = data2(DayOfWeek(date));
if Data2(nday >= 8 and nday <= 14 and week == 4) then
X = true;
Else
X = False;
if Bdate != Bdate[1] Then
{
if X == False and X[1] == true Then
{
hh = data2(h);
ll = data2(l);
dd = Data2(sDate);
}
mh = hh[1];
ml = ll[1];
mr = mh-ml;
}
if dd > 0 and Data2(sDate) == dd and Data2(sTime == 153000) Then
mc = Data2(c);
if hh > 0 and Data2(h) > hh Then
hh = data2(h);
if ll > 0 and data2(l) < ll Then
ll = data2(l);
if mr > 10 and dayopen-mc > 5 then
buy();
if mr > 10 and mc-dayopen > 5 then
sell();
3
var : nday(0,Data1),week(0,Data1),X(False,Data1),hh(0,Data1),ll(0,Data1),k시가(0,Data1);
var : k(0,Data1),sum1(0,data1),sum2(0,data1),sum3(0,data1),mhk(0,data1),mlk(0,data1),mrk(0,data1);
sum1=data2(c)+data3(c);
sum2=data4(c)+data5(c);
sum3=data6(c)+data7(c);
nday = data2(date - int(date/100)*100);
Week = data2(DayOfWeek(date));
if Data2(nday >= 8 and nday <= 14 and week == 4) then
X = true;
Else
X = False;
if Bdate != Bdate[1] Then
{
if X == False and X[1] == true Then
{
hh = k;
ll = k;
}
mhk = hh[1];
mlk = ll[1];
mrk = mhk-mlk;
k시가 = k;
}
if hh > 0 and k > hh Then
hh = k;
if ll > 0 and k < ll Then
ll = k;
if mrk > 15 and mhk - k시가 > 10 then
buy();
if mrk > 15 and k시가 - mlk > 10 then
sell();
4
var : nday(0,Data1),week(0,Data1),X(False,Data1),hh(0,Data1),ll(0,Data1),k시가(0,Data1),dd(0,Data1);
var : k(0,Data1),sum1(0,data1),sum2(0,data1),sum3(0,data1),mhk(0,data1),mlk(0,data1),mrk(0,data1),mck(0,Data1);
sum1=data2(c)+data3(c);
sum2=data4(c)+data5(c);
sum3=data6(c)+data7(c);
nday = data2(date - int(date/100)*100);
Week = data2(DayOfWeek(date));
if Data2(nday >= 8 and nday <= 14 and week == 4) then
X = true;
Else
X = False;
if Bdate != Bdate[1] Then
{
if X == False and X[1] == true Then
{
hh = k;
ll = k;
dd = Data2(sDate);
}
mhk = hh[1];
mlk = ll[1];
mrk = mhk-mlk;
k시가 = k;
}
if dd > 0 and dd == sDate and sTime == 153000 Then
mck = k;
if hh > 0 and k > hh Then
hh = k;
if ll > 0 and k < ll Then
ll = k;
if mrk > 20 and mck - k시가 < 15 then
buy();
if mrk > 20 and k시가 - mck > 15 then
sell();
즐거운 하루되세요
> 목마와숙녀 님이 쓴 글입니다.
> 제목 : 문의
> 문의 수식은 4가지 입니다
식을 완성하여 주십시요.
1)
data1 국내선물 5분봉.
data2 kp200종합 5분봉.
데이트레이딩.
진입은 당일 발생봉으로 계산.
var : mh(0,Data1),ml(0,data1),mr(0,data1);
mh = (월물옵션 첫날부터 ~ 전일까지 data2 kp200종합 5분봉 최고점);
ml = (월물옵션 첫날부터 ~ 전일까지 data2 kp200종합 5분봉 최저점);
mr = mh-ml;
if mr>10 and dayopen-ml>5 then
buy();
if mr>10 and mh-dayopen>5 then
sell();
2)
data1 국내선물 5분봉.
data2 kp200종합 5분봉.
데이트레이딩.
진입은 당일 발생봉으로 계산.
var : mc(0,Data1),mh(0,Data1),ml(0,data1),mr(0,data1);
mc = (월물옵션 첫날 data2 kp200종합 마지막 5분봉(153000) 종가);
mh = (월물옵션 첫날부터 ~ 전일까지 data2 kp200종합 5분봉 최고점);
ml = (월물옵션 첫날부터 ~ 전일까지 data2 kp200종합 5분봉 최저점);
mr = mh-ml;
if mr > 10 and dayopen-mc > 5 then
buy();
if mr > 10 and mc-dayopen > 5 then
sell();
3)
data1 국내선물 5분봉.
data2,3,4,5,6,7 옵션 5분봉.
데이트레이딩.
진입은 당일 발생봉으로 계산.
var:k(0,Data1),sum1(0,data1),sum2(0,data1),sum3(0,data1),mhk(0,data1),mlk(0,data1),mrk(0,data1);
sum1=data2(c)+data3(c);
sum2=data4(c)+data5(c);
sum3=data6(c)+data7(c);
k=min(sum1,sum2,sum3);
mhk = (월물옵션 첫날부터~전일까지 k의 최고점);
mlk = (월물옵션 첫날부터~전일까지 k의 최저점);
mrk = mhk - mlk;
if mrk > 15 and mhk - k시가 > 10 then
buy();
if mrk > 15 and k시가 - mlk > 10 then
sell();
4)
data1 국내선물 5분봉.
data2,3,4,5,6,7 옵션 5분봉.
데이트레이딩.
진입은 당일 발생봉으로 계산.
var:k(0,Data1),sum1(0,data1),sum2(0,data1),sum3(0,data1),mck(0,Data1),mhk(0,data1),mlk(0,data1),mrk(0,data1);
sum1=data2(c)+data3(c);
sum2=data4(c)+data5(c);
sum3=data6(c)+data7(c);
k=min(sum1,sum2,sum3);
mck = (월물옵션 첫날 k의 마지막봉(153000) 종가);
mhk = (월물옵션 첫날부터~전일까지 k의 최고점);
mlk = (월물옵션 첫날부터~전일까지 k의 최저점);
mrk = mhk - mlk;
if mrk > 20 and mck - k시가 < 15 then
buy();
if mrk > 20 and k시가 - mck > 15 then
sell();
항상 고맙습니다.
2025-01-07
547
글번호 186139
답변완료
종목 검색 부탁드려요
문의드립니다.
1) 일목균형표 기준선 이 상승할때 (일봉기준) 종목검색식
2) Trix (12, 9)가 골든크로스 일때 종목검색식
3) Trix (12, 9) 가 시그널선(9) 위에 있을때 종목검색식 부탁드려요.
2024-12-11
562
글번호 186138
답변완료
종목 검색식 부탁드립니다
항상 친절하고 자상한 답변에 머리숙여 감사드립니다.
아래 신호수식을 에스트레이더 종목검색식으로 부탁드립니다.
1.
A= LinearregressionvaLue(C,20,0) + Linearregressionslope(C,20);
A < Lowest(A(1), 60)
and V(1)*1.2<V(0)
and if(V >10000,V,0)
and C(1)<C
2.
M5 = Ma(C,5);
M20 = Ma(C, 20);
크로스업=CrossUp(M5, M20);
HH=Highestsince(1, 크로스업, H);
H_High=Valuewhen(1, HH==HH(1) &&HH>H, HH);
LL=if(M20>L, 1, 0); L_Sum = Sum(LL);
Ls=L_Sum-Valuewhen(1, 크로스업, L_Sum(1));
조건=CrossUp(C, H_High) &&Ls>0;
Cnt=Countsince(크로스업, 조건)==1;
Cnt && !Cnt(1)
3.
Ha=avg(H, 30)+1.8*Stdev(H, 30);
Ca=avg(C, 30)+1.8*Stdev(C, 30);
La=avg(L, 30)+1.8*Stdev(L, 30);
A=(Ha(1)+La(1)+Ca(1))/3+Ha(1)-La(1);
CrossUp(C, A)
4.
Valuewhen(1, Predayclose()*1.15 <= Dayhigh(), Dayhigh()-(Dayhigh()-Predayclose())/3)
5.
M2=Ma(C,20,단순);
M6=Ma(C,60,단순);
M12=Ma(C,120,단순);
M24=Ma(C,240,단순);
CrossUp(C, M2)
and if(M12>M12(1),M12,0)
and M2<M6 and M6>M12 and M12>M24
&& O < M2 && C > M2 && M2(2) < M2(1) < M2
6.
A = CrossUp(H,BbandsUp(40,2));
B = CrossUp(Macd(9,52),0);
D = CrossUp(Macd(9,52),eavg(Macd(9,52),26));
E = CrossUp(Stochasticsslow(20,12),eavg(Stochasticsslow(20,12),12));
F = CrossUp(Macd(9,52),eavg(Macd(12,26),9));
((A and B) or (A and D) or (B and D)) and E and F
7.
B=H-L;
B1=Max(C,O)-L;
B2=B/B1>5 && H/C(1)>(1*18/100);
A=Valuewhen(1,B2,H);
CrossUp(C,A)
8.
A = (avg(V, 5)-avg(V,20))/avg(V, 10)*100;
B = (avg(V, 10)-avg(V, 240))/avg(V, 10)*100;
D = CCI(9);
CrossUp(D, 100) && A>0 && B>0 && V>V(1)*1.5
9.
(CrossUp(C, avg(C, 120)) or CrossUp(C, avg(C, 240)))
&& C>Highest(C(1),40) && RSI(14)>45
&& Diplus(14)>DiMinus(14) && C>O
10.
AA=Stochasticsslow(15,5);
BB=RSI(14);
CC=CCI(80);
DD=sar(0.009,0.1);
Conditions=if(AA<20, 1, 0)+if(BB<30, 1, 0)+if(CC<-100, 1, 0)+if(DD>C, 1, 0);
if(Conditions==4 and C>O, 1, 0)
2024-12-10
855
글번호 186137
답변완료
수식 부탁드립니다
시스템식 부탁드립니다
input : len(10),len2(10);
var : oo(0),cc(0),hh(0),ll(0),col(0);
var : haclose(0),haopen(0),hahigh(0),halow(0);
var : o2(0),h2(0),l2(0),c2(0);
oo=ema(open,len);
cc=ema(close,len);
hh=ema(high,len);
ll=ema(low,len);
haclose = (oo+hh+ll+cc)/4;
haopen = iff(IsNaN(haopen[1]) == true, (oo + cc)/2 , (haopen[1] + haclose[1]) / 2);
hahigh = max (hh, max(haopen,haclose));
halow = min (ll, min(haopen,haclose));
o2=ema(haopen, len2);
c2=ema(haclose, len2);
h2=ema(hahigh, len2);
l2=ema(halow, len2);
col=iff(o2>c2 , Red , Green);
2024-12-10
702
글번호 186136
답변완료
종목검색식 을부탁드립니다
안녕하세요
키움사용 신호입니다
M=26;
P=20;
D1=2;
N=25;
A=Shift(C,-M+n);
B=BBandsup(P,D1);
Crossup(A,B)
수고하세요
2024-12-10
657
글번호 186134
답변완료
질문드리겠습니다
지난 답변 감사드립니다
질문1)
아래 수식으로 조건만족봉 포함해서 불만족봉 10개의 평균을 구하는데요
만약에 불만족봉이 10개 이하, 예를 들어 5개 밖에 안된다면 수식이 어떻게 작용하게 되나요?
이전 조건만족봉넘어서 더 과거로 계산하게 되나요??
if H>L*1.08 Then
{
TLUP=TL_NEW(sDatE,sTimE,H*1.09,sDatE,sTimE,99999);
TL_SetColoR(TLUP,CyaN);
value1 = ma(C,10);
}
Plot1(value1);
질문2)
아래 식에서 만약에 "현재 만족봉"과 "이전만족봉" 둘다 불포함한뒤에
모든 조건불만족봉 평균을 구하려면
(var1-1)-var2 이라고 수정하면 될까요??
그리고 현재 만족봉만 포함하려면
var1-var2 이렇게 하면 되나요?
if H>L*1.08 Then
{ var1 = Index;
var2 = var1[1];
value1 = ma(C,(var1-var2+1));
}
질문3)
불만족봉들 중에서 고가가
조건만족봉 절반값 ( (h+l)/2 ) 이상인 봉이 하나 이상 있다면 (이전만족봉도 포함)
모든 불만족봉들의 평균을 구하는 수식인데요,
절반값이 3개 이상이고,
현재만족봉과 이전만족봉 둘다 제외하고 평균을 했을 경우 어떻게 수정을 해야될까요??
if H>L*1.08 Then
{
TLUP=TL_NEW(sDatE,sTimE,H*1.09,sDatE,sTimE,99999);
TL_SetColoR(TLUP,CyaN);
var1 = Index;
var2 = var1[1];
var3 = (H+L)/2;
value1 = 0;
Value2 = 0;
for cnt = 1 to var1-var2
{
if h[cnt] > var3 Then
{
value1 = value1 + H[cnt];
Value2 = Value2 + 1;
}
}
value3 = value1/Value2;
}
2024-12-10
615
글번호 186133
답변완료
90391 수식 추가 부탁드립니다
만들어주신 수식에서
A의 당일 최고치
A의 당일 최저치
B의 당일 최고치
B의 당일 최저치
추가 부탁드립니다
감사합니다
---------------
input : P(5);
var : cnt(0),sum1(0),sum2(0),mav1(0),mav2(0);
var : A(0),B(0);
sum1 = 0;
sum2 = 0;
For cnt = 0 to P-1
{
sum1 = sum1 + DayClose(cnt);
sum2 = sum2 + DayClose(cnt+1);
}
mav1 = sum1/P;
mav2 = sum2/P;
if mav1 > mav2 Then
{
A = mav1;
Plot1(A);
}
Else
NoPlot(1);
if mav1 < mav2 Then
{
B = mav1;
plot2(B);
}
Else
NoPlot(2);
2024-12-10
599
글번호 186131