커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1689
글번호 230811
답변완료
문의드립니다
input : per1(23.6),per2(50.0),per3(76.4);
var : hh(0),ll(0),dd(0),tt(0);
var : tl1(0),tl2(0),tl3(0),v1(0),v2(0),v3(0);
if bdate > bdate[1] then
{
hh = h;
ll = l;
dd = sdate[1];
tt = stime[1];
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
if h > hh and hh > 0 Then
{
hh = h;
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
if l < ll and ll > 0 Then
{
ll = l;
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
TL_SetColor(TL1,BLACK);
TL_SetSize(TL1,0);
TL_SetExtRight(TL1,true);
TL_SetColor(TL2,BLACK);
TL_SetSize(TL2,0);
TL_SetExtRight(TL2,true);
TL_SetColor(TL3,BLACK);
TL_SetSize(TL3,0);
TL_SetExtRight(TL3,true);
v1 = hh-(hh-ll)*(per1/100);
v2 = hh-(hh-ll)*(per2/100);
v3 = hh-(hh-ll)*(per3/100);
INPUTS: LENGTH1(5);
INPUTS: 색1(YELLOW),색2(RED), 굵기(1);
VARS : DEMA1(0),TL(0);
var1= EMA(C,LENGTH1);
value1= EMA(EMa(C,LENGTH1),LENGTH1);
DEMA1 = var1 * 2 - value1;
if C >DEMA1 Then
PLOT1(DEMA1, "DEMA1",GRAY);
Else
PLOT1(DEMA1, "DEMA1",GRAY);
if CrossUp(DEMA1,v1) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,v3) Then
{
TL_Delete(tl);
tl = TL_New(sDate,sTime,DEMA1,NextBarSdate,NextBarStime,DEMA1);
TL_SetColor(tl,MAGENTA);
TL_SetSize(tl,3);
TL_SetExtRight(TL,true);
}
if CrossDown(DEMA1,v1) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,v3) Then
{
TL_Delete(tl);
tl = TL_New(sDate,sTime,DEMA1,NextBarSdate,NextBarStime,DEMA1);
TL_SetColor(tl,lGREEn);
TL_SetSize(tl,3);
TL_SetExtRight(TL,true);
}
위수식으로도 전일고가 전일저가 수평선을 추가하고 십습니다 ~~미리감사드립니다
2022-02-09
1050
글번호 156136
답변완료
수식부탁드립니다.
안녕하세요
최근 20개 봉의 고저차이의 합계를 수식으로 만들고 싶습니다.
예) 최근 5개봉의 고저차이 합
{h(1)-l(1)}+{h(2)-l(2)}+ {h(3)-l(3)}+ {h(4)-l(4)}+ {h(5)-l(5)}
이렇게 하니 20개, 50개 수식을 만들자니 너무 많습니다.
간단한 수식 부탁드립니다.
input : p(0);
var : cnt(0);
for cnt = 1 to P
{??????????};
감사합니다.
2022-02-09
988
글번호 156135
답변완료
분봉의 특정 구간의 조건 만족
분봉에서 특정 구간에서 조건을 만족하면 신호가 발생하는 식을 만들고자 합니다.
예제로 다음 식 부탁 드립니다.
[시스템1]
다음 조건 동시 만족
장시작 후 10번째 분봉부터 현재 시점의 분봉까지 종가가 시가대비 0.5% 하락한 적이 있다
장시작 후 10번째 분봉부터 현재 시점의 분봉까지 참조종목 Data2의 저가가 시가대비 0.5% 하락한 적이 있다
매수
시가대비 1% 상승하면 매수
[시스템2]
매수
시가대비 1% 상승하면 매수
매도
매수 진입 이전 분봉의 종가가 장시작 후 시가대비 -0.5% 하락한 적이 없으면 3시에 매도
매수 진입 이전 분봉의 종가가 장시작 후 시가대비 -0.5% 하락한 적이 있으면 12시에 매도
항상 감사합니다.
2022-02-09
1093
글번호 156134
답변완료
문의드립니다
안녕하세요?
아래 조건문에 1. 직전20봉내에서 2번째 발생되는것이면
2. 직전20봉내에서 2번째또는 3번째 발생되는것이면 이란
조건을 추가하고싶습니다
if T == 1 and T != T[1] Then
감사합니다
2022-02-09
1247
글번호 156130
답변완료
75845 수식 수정 부탁합니다
<전일 질문>
일봉 5ma ,20ma를 틱 차트에 구현하는 수식
<수정 질문1>
c<mav1 인 경우 mav1 의 당일 최고치를 표시
c<mav2 인 경우 mav2 의 당일 최고치를 표시
c>mav1 인 경우 mav1 의 당일 최저치를 표시
c>mav2 인 경우 mav2 의 당일 최저치를 표시
<수정 질문2>
전일 종가 기준 일봉 5ma ,20ma를 금일 틱 차트에 구현하는 수식
감사합니다
----------------------------------------------------------------------
안녕하세요
예스스탁입니다.
input : P1(5),P2(20);
var : cnt(0);
var : sumV1(0),sumV2(0);
var : mav1(0),mav2(0);
sumV1 = 0;
sumV2 = 0;
for cnt = 0 to P2
{
if cnt < P1 Then
sumV1 = sumV1+DayClose(cnt);
if cnt < P2 Then
sumV2 = sumV2+DayClose(cnt);
}
maV1 = sumV1 / P1;
maV2 = sumV2 / P2;
plot1(mav1);
plot2(mav2);
즐거운 하루되세요
> 유튜버 님이 쓴 글입니다.
> 제목 : 지표 질문입니다
> 일봉 5ma ,20ma를 틱 차트에 구현하는 수식
감사합니다
2022-02-09
1101
글번호 156129
답변완료
수식 문의 드립니다.
30분봉 기준 50이평선 상단 조건에서만 10분봉의 특정조건 주문 실행하려면 어떤 수식이 필요한가요?
예를 들어) 30분봉 기준 50이평선 상단에서 10분봉 기준 50이평선 돌파 시 매수
2022-02-09
1012
글번호 156128
답변완료
수식문의드립니다
안녕하세요
수식 질문 하나 드립니다!
매수(매도) 한쪽 방향으로 3회 진입하면 추가진입이 안되도록 만들고 싶습니다
생각엔 매수에 Hcount, 매도에 Lcount라는 변수를 정의하고
청산이 이뤄질때마다 Hcount = Hcount +1이 되도록 해 Hcount가 3이 넘으면 진입이 안되도록 하면 될것같은데...
아래와 같은 상황에서 청산시 어떻게 count 해야될지를 모르겠습니다...
input : TT(55700), TD(20220205), N(5) ;
var : HB(14710), LB(14680), e60(0), Hcount(0), Lcount(0) ;
e60 = Ema(C,60);
if sDate >= TD and sTime >= TT Then
Condition1 = true;
if Condition1 == true Then
{
if Hcount < 3 then Buy("b",AtStop,HB,2) ;
if Lcount < 3 then Sell("s",AtStop,LB,2) ;
if marketposition > 0 Then
{
if e60 < HB Then ExitLong("exitL1",AtStop,HB-N);
if e60 >= HB && CrossDown(close, e60) Then ExitLong("exitL2") ;
HB = Highest(H, BarsSinceEntry) ;
}
if marketposition < 0 Then
{
if e60 > LB Then ExitShort("exitS1",AtStop,LB+N);
if e60 <= LB && CrossUp(close, e60) Then ExitShort("exitS2");
LB = Lowest(L, BarsSinceEntry);
}
}
-------------------------------
if e60 >= HB && CrossDown(close, e60) Then ExitLong("exitL2") ;
이 상황에선 그냥 조건 만족할때 Hcount = Hcount + 1을 추가하면 될것 같은데
if e60 < HB Then ExitLong("exitL1",AtStop,HB-N);
여기선 방법이 안떠오르네요
혹시 청산되는 상황 자체를 감지해 count 할 수 있는 방법이나
해결할 다른 방법이 있는지 조언 부탁드리겠습니다
감사합니다
2022-02-09
1192
글번호 156127
답변완료
문의 드립니다!
안녕하세요!
아래수식이 옵션만기일이 다가올수록 어느날부터인가 챠트상에 전혀 표시가되지않는데요 (국선에 적용시)
제가 이수식에대한 이해를 못하고있기때문에 이유를 모르겠습니다
1, 이수식에대한 기본적인 구성원리를 간단히라도 설명해주시면 감사하겠습니다
*특히 plot2(var2+var3*0.500,"중심");==> 이부분에대한 자세한 설명좀 부탁드리겠습니다
2, 그리고 만기일까지 지표가 표시되게끔할려면 수식의 수정이 필요한지 여부도 설명 부탁드립니다
초보자의 기본적인 질문에도 매번 친절히 답변해주심에 항상 진심으로 감사드리고있습니다!!!
-----------------------------------------------------
var : month(0),nday(0),week(0);
var :EX(false),HH(0),LL(0),OO(0),CC(0),DD(0),HH1(0),LL1(0),OO1(0);
month = int(date/100)-int(date/10000)*100;
nday = date - int(date/100)*100;
week = DayOfWeek(date);
#선물만기
#if Month%3 == 0 and nday >= 8 and nday <= 14 and week == 4 then
if nday >= 8 and nday <= 14 and week == 4 then#옵션만기
EX = true;
Else
EX = false;
if EX == false and EX[1] == true Then{
Condition1 = true;
DD = sDate;
HH = H;
LL = L;
OO = O;
CC = C;
HH1 = HH[1];
LL1 = LL[1];
OO1 = OO[1];
}
if Condition1 == true then
{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
var1 = HH;
var2 = LL;
var3 = var1-var2;
plot1(var1,"Maxi");
plot2(var2+var3*0.500,"중심");
plot3(var2,"Mini");
if sDate == DD Then
{
Var4 = DayOpen;
Var5 = DayHigh;
Var6 = DayLow;
}
Plot4(Var4,"첫날시가",IFf(oo1 < DayOpen(0) ,MAGENTA,BLUE));
if HH1 > 0 and LL1 > 0 Then
{
Plot5(HH1,"전월물최고");
Plot6(LL1,"전월물최저");
}
}
2022-02-09
1051
글번호 156126
답변완료
문의드립니다
input : per1(23.6),per2(50.0),per3(76.4);
var : hh(0),ll(0),dd(0),tt(0);
var : tl1(0),tl2(0),tl3(0);
if bdate > bdate[1] then
{
hh = h;
ll = l;
dd = sdate[1];
tt = stime[1];
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
if h > hh and hh > 0 Then
{
hh = h;
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
if l < ll and ll > 0 Then
{
ll = l;
TL_Delete(tl1);
TL_Delete(tl2);
TL_Delete(tl3);
tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100));
tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100));
tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100));
}
TL_SetColor(TL1,MAGENTA);
TL_SetSize(TL1,1);
TL_SetExtRight(TL1,true);
TL_SetColor(TL2,MAGENTA);
TL_SetSize(TL2,1);
TL_SetExtRight(TL2,true);
TL_SetColor(TL3,MAGENTA);
TL_SetSize(TL3,1);
TL_SetExtRight(TL3,true);
위수식에서 전일고가 전일저가 수평선을추가하고십습니다 부탁드립니다~감사드립니다
2022-02-09
1142
글번호 156125