커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1482
글번호 230811
답변완료
분봉이나 틱에서 상단, 하단 터치 횟수가 다르게 나오는 것 해결 방법 문의
항상 도움에 감사드립니다.
첨부된 이미지를 참고해서 보시면
같은 시간에 10틱, 1분봉, 5분봉에서
일정한 가격 사이틀 왔다갔다가 터치하는 횟수를 세는 수식을 작성했는데요.
10틱에서는 상단선과 하단선을 왔다갔다 터치하는 횟수가 잘 세어지는데요.
10틱에서 1분봉, 5분봉으로 갈 수록 상단과 하단의 터치 횟수가 줄어들게 됩니다.
이유는 하단(상단)을 터치했다가 상단(하단)을 터치할 때
봉이 완성되어야 터치 횟수가 카운트 되기 때문인데요.
1분봉, 5분봉이나 10분봉 이렇게 봉 시간이 다를때도
실시간의 경우에 터치횟수가 세어지는 것이 틱차트 처럼
셀 수 있게 수식 작성이 가능한가요?
아래는 제가 작성한 수식입니다.
------------------------------------------------------
var : hh(0),ll(0),t(0);
var : upcnt(0),dncnt(0);
var : oo(0);
var : line_up(0), line_down(0), oo_line(0);
var : up_text(0), down_text(0);
var : tcond(False);
input : ntime(203500), xtime(050000);
if (sdate != sdate[1] and stime >= xtime) or
(sdate == sdate[1] and stime >= xtime and stime[1] < xtime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= ntime) or
(sdate == sdate[1] and stime >= ntime and stime[1] < ntime) Then
{
Tcond = true;
oo = 15373.50;
hh = oo+PriceScale*5;
ll = oo-PriceScale*5;
t = 0;
upcnt = 0;
dncnt = 0;
if H >= hh Then
{
T = 1;
upcnt = upcnt+1;
}
if L <= ll Then
{
T = -1;
dncnt = dncnt+1;
}
oo_line = TL_New(sDate,sTime,oo,NextBarSdate,NextBarStime,oo); // 선긋기
line_up = TL_New(sDate,sTime,hh,NextBarSdate,NextBarStime,hh); // 선긋기
line_down = TL_New(sDate,sTime,ll,NextBarSdate,NextBarStime,ll); // 선긋기
up_text = Text_New(NextBarSdate,NextBarStime,hh,NumToStr(upcnt,0));
down_text = Text_New(NextBarSdate,NextBarStime,ll,NumToStr(dncnt,0));
}
if Tcond == true Then
{
if T <= 0 and H >= hh Then
{
T = 1;
upcnt = upcnt+1;
if upcnt >= 5 Then
Buy();
}
if T >= 0 and L <= LL Then
{
T = -1;
dncnt = dncnt+1;
if dncnt >= 5 Then
Sell();
}
TL_SetEnd(line_up,NextBarSdate,NextBarStime,hh); // 선 긋기 연장해줌
TL_SetEnd(line_down,NextBarSdate,NextBarStime,ll); // 선 긋기 연장해줌
TL_SetEnd(oo_line,NextBarSdate,NextBarStime,oo); // 선 긋기 연장해줌
Text_SetString(up_text,NumToStr(upcnt,0));
Text_SetString(down_text,NumToStr(dncnt,0));
Text_SetLocation(up_text,NextBarSdate,NextBarStime,hh);
Text_SetLocation(down_text,NextBarSdate,NextBarStime,ll);
Text_SetColor(down_text, Red);
}
MessageLog("상단, 하단______ %.2f, %.2f", upcnt, dncnt);
MessageLog("%.2f, %.2f, %.2f", hh, ll, oo);
------------------------------------------------------------------
예를들어 5분봉이 완성되기 전에
상단선과 하단선을 오르락 내리락 하면서 터치하게 될 경우
터치 횟수가 세어지는 수식을
작성할 수 있는지 궁금합니다.
2023-11-09
1096
글번호 173900
답변완료
수식 질문합니다.
안녕하세요.
1. 당일 거래봉이 연중 최고거래봉을 돌파하는 종목
2. 당일 거래봉이 지난해 최고거래봉을 돌파하는 종목
을 검색하고 싶습니다.
감사합니다.
2023-11-09
1141
글번호 173898
답변완료
부탁드립니다
수고하십니다
아래수식을 지표고점에 사선표시 가격고점에 사선표시 , 지표저점에 사선표시 가격저점에 사선표시 수식 수정부탁드립니다
input : Left(3),Right(3);
var : 지표(0);
var : HI1(0),HI2(0),HI3(0),HP1(0),HP2(0),HP3(0);
var : LI1(0),LI2(0),LI3(0),LP1(0),LP2(0),LP3(0);
지표 = RSI(15);
#지표저점발생
if SwingLowBar(1,지표,Left,Right,Left+Right+1) != -1 Then
{
#지표저점값
LI1 = 지표[right];
#주가저점값(지표저점판단봉수동안의 최저가)
LP1 = Lowest(L,Left+Right+1);
#직전저점
LI2 = LI1[1];
LP2 = LP1[1];
#전전저점
LI3 = LI2[1];
LP3 = LP2[1];
if LP3 > 0 and
LI1 > LI2 and LI2 > LI3 and
LP1 > LP2 and LP2 < LP3 Then
TL_new(LP1,LP2,LP3);
TL_New_Self(LI1,LI2,LI3);
}
#지표고점발생
if SwingHighbar(1,지표,Left,Right,Left+Right+1) != -1 Then
{
#지표고점값
HI1 = 지표[right];
#주가고점값(고점판단봉수동안의 최고가)
HP1 = highest(H,Left+Right+1);
#직전고점
HI2 = HI1[1];
HP2 = HP1[1];
#전전고점
HI3 = HI2[1];
HP3 = HP2[1];
if HP3 > 0 and
HI1 < HI2 and HI2 < HI3 and
HP1 < HP2 and HP2 > HP3 Then
TL_new( HP1, HP2, HP3);
TL_New_Self(HI1,HI2,HI3);
}
2023-11-10
869
글번호 173896
2wnwn 님에 의해서 삭제되었습니다.
2023-11-10
473
글번호 173889
답변완료
질문드립니다
안녕하세요.
data2 20이평선골든시data1매수
data1 macd오실데드시n%중복매도ㅡ단1회2회매도는0%
data2 20이평선데드시 data1남은금액매도식
매번감사드립니다~
2023-11-09
652
글번호 173888
답변완료
수식 변환이 가능할까요?
이 수식은 1봉 전 후행스팬이 볼린저밴드 상단을 돌파하는 수식인데요
input : 기간(30),기간1(20),기간2(60),승수(1.8);
var : A(0),A1(0),A2(0);
A=BollBandUp(기간,승수);
A1=Disparity(기간1);
A2=Disparity(기간2);
IF Crossup(C,A[1]) && Crossup(A1,100) AND Crossup(A2,100) TheN
Find(1);
저는 1봉 전 후행스팬이 20일선을 돌파하는 수식을 만들고 싶습니다.
가능할까요?
2023-11-09
1061
글번호 173886
답변완료
종목검색과 지표값이 다르게 나옵니다
안녕하세요. 답변 주시느라 고생많으십니다.
1분봉 상에 RSI(9)>70 인 조건 만족할 때마다 값을 누적시키고(var1)
종목검색에는 var1 이 1~2인 값을 찾으려고 하는데
지표는 정상작동하는데 종목검색을 하면 지표상 var1 이 수십인 것도 검색결과값은 1,2라고 표기되어 검색됩니다.
무엇이 문제일까요?
-----
지표
if Bdate !=Bdate[1] Then var1=0 ;
if rsi(9)>70 Then var1=var1+1 ;
Plot1(var1,"RSI돌파횟수") ;
-----
종목검색
if Bdate !=Bdate[1] Then var1=0 ;
if rsi(9)>70 Then var1=var1+1 ;
if var1>0 and var1<=2 then Find(var1) ;
2023-11-09
819
글번호 173885
답변완료
거래량 크기별 색상
if Bdate == Bdate[1] and NextBarSdate == sDate and V < 1000 Then
{
If (C > O) or (C == O and C >= C[1]) Then
{
Plot1(V, "상승거래량");
Plot2(0, "하락거래량");
}
Else
{
Plot1(0, "상승거래량");
Plot2(V, "하락거래량");
}
}
거래량 막대그래프 색상을 크기별로 구별.
300 이하는 blue, 300부터 500까지는 red, 500 이상은 black. 감사합니다.
2023-11-09
950
글번호 173878
답변완료
시스템 문의 드립니다.
항상 많은 도움 감사드립니다.
시스템 식을 작성할 때 거래횟수 제한에 대해 궁금한점이 있어서 문의 드립니다.
보통 거래 횟수 제한을 할때
if A buy("");
if B exitlong("");
위와 같은 매수식이 있다면 보통 A 매수 진입 이후 얼마동안 매수 진입을 못하도록 설정을 하는데요. 혹시 B exitlong 이후에 설정한 시간동안 매수 진입이 안되게 설정을 할수 있나요?
A매수 이후 60분간 진입을 못하도록 설정을 해 놓았는데 A매수가 롱포지션이 되면서 80분간 유지가 되고 B exitlong로 정리가 되면 설정한 60분이 지났기 때문에 바로 재진입하는 현상을 막고 싶어서 문의 드립니다.
혹은 매수 진입 이후 몇분동안 재진입 금지
exitlong 이후 몇분동안 재진입 금지
이렇게 설정할 수 있나요? 도움 부탁드립니다.
2023-11-09
823
글번호 173877