커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1555
글번호 230811
답변완료
문의드립니다
스토캐스틱 rsi 수식을 구하고 싶습니다
%K, %d 는 5 , rsi와 스토캐스틱 기간은 14, 기준선은 상단80 하단20으로
부탁드립니다
2023-02-26
1836
글번호 166697
답변완료
문의드립니다
주가가 아닌 거래량을 기준으로 하는 엔벨로프 수식을 구하고 싶습니다
2023-02-26
1641
글번호 166696
답변완료
수식문의 드립니다.
키움수식을 예스차트로 변경할려고 합니다.
문의1
변수값
period1 2
period1 3
수식1
a=tema(c,period1);
b=tema(c,period2);
x=valuewhen(1,crossup(a,b)or crossdown(a,b),b)
수식2
if(x<c,x,1)
----------------------------------------------------------------------------
문의2
변수값
Period 20
percent100
수식1
a=tema(c,period);
Up=a+a*percent/100;
(색상값 빨강 255 / 초록 255 / 파랑 0)
수식2
a=tema(c,period);
Up=a+a*percent/100;
if(a<a(1),up,0)
(색상값 빨강 0 / 초록 255 / 파랑 255)
수식3
a=tema(c,period);
dn=a-a*percent/100;
(색상값 빨강 255 / 초록 255 / 파랑 0)
수식4
a=tema(c,period);
dn=a-a*percent/100;
if(a<a(1),dn,0)
(색상값 빨강 0 / 초록 255 / 파랑 255)
수식5
a=tema(c,period);
-------------------------------------------------------------------------------
문의3(신호수식)
변수값
period1 3
period2 20
매도신호
m=(a=tema(c,period1));
m=(b=tema(c,period2));
x=valuewhen(1,crossdown(a,b),b);
if(x<c,x,1);
기준가=M(1);
신호조건=Crossdown(A,A(1));
매수신호
m=(a=tema(c,period1));
m=(b=tema(c,period2));
x=valuewhen(1,crossup(a,b),b);
if(x>c,x,1);
기준가=M(1);
신호조건=Crossup(A,A(1));
감사합니다!
2023-02-26
1384
글번호 166695
답변완료
문의드립니다
input : Period(9);
var1 = PVI+NVI;
Var2 = ma(PVI,Period)+ma(NVI,Period);
Var3 = min(var1,Var2);
Plot1(var1);
Plot2(var2);
Plot3(var3);
지난번만들어 주신 수식인데 시스템템으로 부탁드립니다
Plot1 이 Plot2 보다 높으면 매도청산 매수진입
Plot1 이 Plot2 보다 낮으면 매수청산 매도진입
항상 감사드립시다
2023-02-26
1120
글번호 166694
답변완료
박스 색상 변경
input : Period(120),폭1(0.9),폭2(1.3),폭3(1.7),폭4(0.85);
Var:j(0),T(0);
Var: date11(0),date12(0),time11(0),time12(0),
date21(0),date22(0),time21(0),time22(0),
date31(0),date32(0),time31(0),time32(0);
var : TL(0),TL1(0),tl2(0),tl3(0),TX(0),tl4(0),tl5(0),tl9(0),dl(0);
var : box(0),box1(0),txx(0);
Array:HiVal[20](0),LoVal[20](0),HiBar[20](0),LoBar[20](0);
Plot1(value12);
For j = 0 To 19
{
HiBar[j] = HiBar[j] + 1;
LoBar[j] = LoBar[j] + 1;
}
if crossup(c,highest(H,Period)[1]) Then
T = 1;
if CrossDown(c,Lowest(L,Period)[1]) Then
T = -1;
If T == -1 Then
{
If T[1] != -1 Then
{
For j = 18 DownTo 0
{
LoVal[j+1] = LoVal[j];
LoBar[j+1] = LoBar[j];
}
LoVal[0] = L;
LoBar[0] = 0;
date11 = date[HiBar[0]];
time11 = stime[HiBar[0]];
Value11 = HiVal[0];
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date21 = date[HiBar[0]];
time21 = stime[HiBar[0]];
date22 = date[0];
time22 = stime[0];
box = box_new(date11,time11,Value11,date12,time12,Value12);
Box_SetColor(box,Lime);
Box_SetFill(box,true,35);
Condition1 = False;
if Condition1 == False and Value12 <= value11-폭1 Then
{
Condition1 = true;
}
Condition3 = False;
if Condition3 == False and Value12 <= value11-폭2 Then
{
Condition3 = true;
}
Condition4 = False;
if Condition4 == False and Value12 <= value11-폭3 Then
{
Condition4 = true;
}
Text_SetSize(tx,25);
Text_SetColor(Tx,Red);
Text_SetStyle(tx,1,1);
Text_SetBold(tx,1);
if abs(value12[1]-value11[1]) < 0.5 Then
Text_Delete(tx);
tx = text_new(sDate,stime,value12,NumToStr(value12-value11,2));
Text_SetColor(Tx,Black);
Text_SetStyle(tx,1,0);
Text_SetSize(tx,30);
Text_SetBold(tx,1);
}
If LoVal[0] > L Then
{
LoVal[0] = L;
LoBar[0] = 0;
date12 = date[LoBar[0]];
time12 = stime[LoBar[0]];
Value12 = LoVal[0];
date22 = date[0];
time22 = stime[0];
Box_SetEnd(box,date12,time12,Value12);
if Condition1 == False and Value12 <= value11-폭1 Then
{
Condition1 = true;
TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Magenta);
TL_SetSize(TL9,1);
TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Magenta);
TL_SetSize(TL9,1);
}
if Condition3 == False and Value12 <= value11-폭2 Then
{
Condition3 = true;
TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Magenta);
TL_SetSize(TL9,1);
TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Magenta);
TL_SetSize(TL9,1);
}
if Condition4 == False and Value12 <= value11-폭3 Then
{
Condition4 = true;
TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Red);
TL_SetSize(TL9,1);
TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Red);
TL_SetSize(TL9,1);
}
Text_SetString(tx,NumToStr(value12-value11,2)+" ");
Text_SetLocation(tx,sDate,sTime,value12);
}
}
If T == 1 Then
{
If T[1] != 1 Then
{
For j = 18 DownTo 0
{
HiVal[j+1] = HiVal[j];
HiBar[j+1] = HiBar[j];
}
HiVal[0] = H;
HiBar[0] = 0;
date11 = date[LoBar[0]];
time11 = stime[LoBar[0]];
Value11 = LoVal[0];
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date31 = date[LoBar[0]];
time31 = stime[LoBar[0]];
date32 = date[0];
time32 = stime[0];
box = box_new(date11,time11,Value11,date12,time12,Value12);
Box_SetColor(box,Magenta);
Box_SetFill(box,true,30);
Condition2 = False;
if Condition2 == False and Value12 > value11+폭4 Then
{
Condition2 = true;
}
Text_SetSize(tx,25);
Text_SetColor(Tx,Blue);
Text_SetStyle(tx,1,0);
Text_SetBold(tx,1);
if abs(value12[1]-value11[1]) < 0.5 Then
Text_Delete(tx);
tx = text_new(sDate,stime,value12,NumToStr(value12-value11,2));
Text_SetColor(Tx,Black);
Text_SetStyle(tx,1,1);
Text_SetSize(tx,30);
Text_SetBold(tx,1);
}
If HiVal[0] < H Then
{
HiVal[0] = H;
HiBar[0] = 0;
date12 = date[HiBar[0]];
time12 = stime[HiBar[0]];
Value12 = HiVal[0];
date32 = date[0];
time32 = stime[0];
Box_SetEnd(box,date12,time12,Value12);
if Condition2 == False and Value12 > value11+폭4 Then
{
Condition2 = true;
TL9 = TL_New(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Cyan);
TL_SetSize(TL9,1);
TL9 = TL_New_Self(sDate,sTime,0,sDate,sTime,99999);
TL_SetColor(TL9,Cyan);
TL_SetSize(TL9,1);
}
Text_SetString(tx,NumToStr(value12-value11,2)+" ");
Text_SetLocation(tx,sDate,sTime,value12);
}
}
상승,하락 박스의 크기가 0.9p 보다 커지면(도달시), 그 박스만 전체 색상을 다른 색으로 변경. 0.9p 보다 작으면 불변. 감사합니다.
2023-02-26
1254
글번호 166693
답변완료
문의 드립니다~~
항상 감사 드리고 질문 좀 드릴게요~
1.번 이미지파일
2개의 시스템수식합성을
한개는 본장에만
한개는 프리장에만 실행 시키려면 어떻게 해야 하나요?
시스템 합성관리자 에서 조합, 합성한 '원웨이or프리장' 과 '본장용' 수식을
'원웨이or프리장' 시스템은 08시 00분 에서 23시 30분 까지만
'본장용' 시스템은 23시 31분 에서 07시20분 까지만
실행시킬수 있는 방법이 있을까요?
2.번 이미지파일
합성수식은 합성하기전 개별 시스템 마다 시간 지정을 해야 하나요?
그렇다면 모든 수식앞이나 뒤에 붙여넣기 하면 되는 수식이 있나요?
그리고
시스템트레이딩 설정창에 강제청산 시간을 정할수는 있던데 시작시간을 정할수는 없더라고요.
아님 제가 못찾는건지.
잘 몰라서 질문드립니다.
감사드립니다^^
항상 건강하시고 행복하시길 바랍니다^^
2023-02-27
1113
글번호 166692
답변완료
stime
안녕하세요
항셍 1분봉인데요
1. sTime == 1014는 안되고 sTime >= 1014는 되는 이유가 무엇인가요?
2. if MarketPosition== 1 이 작동을 안하는데 이유가 무엇인가요?
감사합니다
//항셍
Var: sg(0), BPF(0);
if sTime == 1014 Then //불가??????????????????
{
BPF = 0;
sg = Open;
}
if close <= sg && MarketPosition == 0 && BPF == 0 Then
{
Buy();
BPF =1;
}
if MarketPosition== 1 && close < (sg-30) Then Buy();//불가?????????
//LO&PL
Input : LO(50);
SetStopContract;
SetStopLoss(LO,PointStop);
SetStopProfittarget(LO,PointStop);
2023-02-26
1115
글번호 166691
답변완료
문의드립니다
안녕하세요?
아래의 두가지 지표 수식을 시스템식으로 원합니다
감사드립니다
1.(선의 기울기에 따라 신호가 발생되는 시스템식)
input : PriceSmoothing(15),Filter(0);
var : cHigh(0),cLow(0),cOpen(0),cClose(0),pClose(0);
var : tr(0),rrange(0),vqi(0),sumVqi(0),color(0);
cHigh = wma(H,PriceSmoothing);
cLow = wma(L,PriceSmoothing);
cOpen = wma(O,PriceSmoothing);
cClose = wma(C,PriceSmoothing);
pClose = cClose[1];
tr = max(cHigh,cClose) - min(cLow,pClose);
rrange = cHigh-cLow;
if rrange<>0 and tr <> 0 then
vqi = ((cClose-pClose)/tR + (cClose-cOpen)/rrange)*0.5;
else
vqi = vqi;
vqi = abs(vqi)*(cClose-pClose+cClose-cOpen)*0.5;
sumVqi = vqi;
if Filter>0 then
{
if abs(sumVqi-sumVqi[1]) < (Filter*PriceScale) then
sumVqi = sumVqi[1];
}
if sumVqi > 0 then
color = red;
else
color = blue;
plot1(sumVqi,"sumVqi",color);
2.(골든과 데드에 따른 씨스템식)
input : len(10),offset(1);
var : sma_high(0),sma_low(0),hlv(0),ssld(0),sslu(0);
sma_high = ma(high,len);
sma_low = ma(low,len);
hlv = iff(close > sma_high[1] , 1 , iff(close < sma_low[1] , -1 , hlv[1]));
ssld = iff(hlv == -1 , sma_high[offset] , sma_low[offset]);
sslu = iff(hlv == -1 , sma_low[offset] , sma_high[offset]);
plot1(ssld,"Down",red);
plot2(sslu,"Up",green);
2023-02-27
1330
글번호 166690
답변완료
수식 변경 부탁드립니다
도움을 주셔서 감사합니다
키움 지표입니다
예스트레이더 지표로 변경 부탁드립니다
ZLSMA
A=LinearRegressionValue(C,기간,0);
A1=LinearRegressionValue(A,기간,0);
eq=A-A1;
zlsma=A+eq
조건
기간 50
즐거운 휴일 보내세요
2023-02-26
1409
글번호 166689