커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3515
글번호 230811
답변완료
재차 문의드려요
1. "83607번의 2번 질의"에서 알려주신 지표수식을 적용시키면, 아무런 선조차 나오지가 않습니다 ㅠㅠ
=== 알려주신 내용(아무런 표시가 안나옵니다 ㅠㅠ) ===
input : short(12),long(26),sig(9);
var : macdv(0),macds(0),tx(0);
macdv = macd(short,long);
macds = ema(macdv,sig);
Plot1(MACDV,"MACD");
Plot2(MACDS,"signal");
PlotBaseLine1(0);
if CrossUp(macdv,macds) Then
{
tx = Text_New_Self(sDate,sTime,macdv,"▲");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Red);
}
if CrossDown(macdv,macds) Then
{
tx = Text_New_Self(sDate,sTime,macdv,"▼");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,blue);
}
2. "83611번의 1번 질의"에서 알려주신 지표수식을 적용시키면 상승다이버전스는 나오는데, 하락다이버전스는 안나옵니다.
=== 알려주신 내용(하락다이버전스 표시가 안됩니다) ===
input : short(12),long(26),sig(9);
var : macdv(0),macds(0),T(0),cnt(0);
var : TL1(0),TL2(0);
Array : iv[5](0),id[5](0),it[5](0);
Array : pv[5](0),pd[5](0),pt[5](0);
macdv = macd(short,long);
macds = ema(macdv,sig);
Plot1(MACDV,"MACD");
Plot2(MACDS,"signal");
PlotBaseLine1(0);
if CrossUp(macdv,macds) Then
{
T = 1;
if id[1] > 0 and iv[0] > iv[1] and pv[0] < pv[1] Then
{
TL1 = TL_New_Self(id[1],it[1],iv[1],id[0],it[0],iv[0]);
TL2 = TL_New(pd[1],pt[1],pv[1],pd[0],pt[0],pv[0]);
TL_SetColor(TL1,Red);
TL_SetColor(TL2,Red);
TL_SetSize(TL1,1);
TL_SetSize(TL2,1);
}
}
if CrossDown(macdv,macds) Then
{
T = -1;
For cnt = 4 DownTo 1
{
iv[cnt] = iv[cnt-1];
id[cnt] = id[cnt-1];
it[cnt] = it[cnt-1];
pv[cnt] = pv[cnt-1];
pd[cnt] = pd[cnt-1];
pt[cnt] = pt[cnt-1];
}
iv[0] = macdv;
id[0] = sdate;
it[0] = sTime;
pv[0] = l;
pd[0] = sdate;
pt[0] = sTime;
}
if T == -1 Then
{
if macdv < iv[0] Then
{
iv[0] = macdv;
id[0] = sDate;
it[0] = sTime;
}
if l < pv[0] Then
{
pv[0] = l;
pd[0] = sDate;
pt[0] = sTime;
}
}
3. "83611번의 2-1번 질의"에서 MACD 강세/약세 패턴에서 기존의 오실레이터를 살릴 수 있을까요?
=== 알려주신 내용(기존 MACD상의 오실레이터를 살리고 싶습니다 ㅠㅠ ===
input : short(12),long(26),sig(9);
var : macdv(0),macds(0),T(0),box(0);
macdv = macd(short,long);
macds = ema(macdv,sig);
Plot1(MACDV,"MACD");
Plot2(MACDS,"signal");
PlotBaseLine1(0);
if CrossUp(macdv,macds) Then
{
T = 1;
box = box_new(sDate,sTime,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,pink);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
if CrossDown(macdv,macds) Then
{
T = -1;
box = box_new(sDate,sTime,H,NextBarSdate,NextBarStime,L);
Box_SetColor(box,LightBlue);
Box_SetFill(box,true);
Box_SetExtFill(box,true);
}
if T != 0 Then
Box_SetEnd(box,NextBarSdate,NextBarStime,L);
4. "83611번의 3번 질의"에서 알려주신 내용을 적용시키면 봉차트에는 표기가 되나, 지표란에는 아무것도 안나오는게 맞는 건가요?
=== 알려주신 내용(지표박스에는 아무것도 안나옵니다) ===
input : Period(14);
var : dp(0),dm(0),Tx(0);
dp = DiPlus(Period);
dm = DiMinus(Period);
if CrossUp(dp,dm) Then
{
tx = Text_New(sDate,sTime,L,"▲");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Red);
}
if CrossDown(dp,dm) Then
{
tx = Text_New(sDate,sTime,H,"▼");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,blue);
}
2023-09-04
905
글번호 172126
답변완료
중간선 표시 크기
input : Period(180);
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),TX(0),tl4(0),tl5(0),tl9(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);
tl = tl_new(date11,time11,(Value11+value12)/2,date12,time12,(Value11+value12)/2);
tl1 = tl_new(date11,time11,value11 - abs(Value11-value12)*0.618,date12,time12,value11 - abs(Value11-value12)*0.618);
}
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);
}
TL_SetBegin(tl,date11,time11,(Value11+value12)/2);
TL_SetEnd(tl,date12,time12,(Value11+value12)/2);
TL_SetBegin(tl1,date11,time11,value11 - abs(Value11-value12)*0.618);
TL_SetEnd(tl1,date12,time12,value11 - abs(Value11-value12)*0.618);
if value12 > value11-0.7 Then
{
Box_SetColor(box,LCyan);
Box_SetFill(box,true,20);
}
else if value12 <= value11-0.7 and value12 > value11-1 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,50);
}
else if value12 <= value11-1 and value12 > value11-1.7 Then
{
Box_SetColor(box,Cyan);
Box_SetFill(box,true,40);
}
else
{
Box_SetColor(box,Yellow);
Box_SetFill(box,true,30);
}
}
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);
tl = tl_new(date11,time11,(Value11+value12)/2,date12,time12,(Value11+value12)/2);
tl1 = tl_new(date11,time11,value11 + abs(Value11-value12)*0.618,date12,time12,value11 + abs(Value11-value12)*0.618);
}
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);
}
TL_SetBegin(tl,date11,time11,(Value11+value12)/2);
TL_SetEnd(tl,date12,time12,(Value11+value12)/2);
TL_SetBegin(tl1,date11,time11,value11 + abs(Value11-value12)*0.618);
TL_SetEnd(tl1,date12,time12,value11 + abs(Value11-value12)*0.618);
if Value12 >= value11+1 Then
{
Box_SetColor(box,Magenta);
Box_SetFill(box,true,20);
}
Else
{
Box_SetColor(box,Orange);
Box_SetFill(box,true,20);
}
}
추세선의 크기가 0.9p 보다 클 때만 중간선(TL,TL1) 표시. 감사합니다.
2023-09-04
1108
글번호 172122
에구머니 님에 의해서 삭제되었습니다.
2023-09-04
0
글번호 172121
답변완료
수식 문의
안녕하세요?
시스템 수식 문의 드립니다.
감사합니다.
2023-09-05
1014
글번호 172120
답변완료
문의 드립니다.
안녕하세요
수식 부탁드리겠습니다. 더우신데 고생많으십니다.
장개시후 10봉 마다 고가 저가 선을 긋고 싶은데요.
장개시후 1 ~ 10 봉 고가 저가를 11봉째에 긋고 싶습니다.
11 ~ 20 봉 고가 저가를 21봉째에
21 ~ 30 봉 고가 저가를 31봉째에 긋고 싶습니다.
장개시후 장마감까지 부탁드리겠습니다.
감사드립니다 ^^
2023-09-04
865
글번호 172110
답변완료
파워종목검색에 관해서
파워종목 검색후에 종목 자동으로 갱신하게 하려면 auto버튼 누르면 되는건가요?
아니면 매번 검색 버튼을 눌러서 갱신해야하나요?
2023-09-04
973
글번호 172099
답변완료
수식변환과 신호수식 부탁드립니다
1. 지표수식
A=eavg(가격,sP)-eavg(가격,lP); //가격 C, sP 12, lP 26 변수로처리
B=eavg(A,signal); //signal 9 변수로처리
D=A-B;
표시가격: avg(가격,기간,이평종류) //기간5, 이평종류(단순,지수)변수로 처리
가. HighestSince(1, CrossDown(D,0), 표시가격)
나. LowestSince(1, CrossUp(D,0), 표시가격)
2. 매수신호검색수식
가와 나를 동시에 양봉으로 상향돌파시 매수신호수식
부탁드립니다
2023-09-04
945
글번호 172098
답변완료
수식부탁드립니다^^)
1.지수이동평균선 112 224 448 역배열
2.주가가 지수 이동평균 112일선 위
3.주가가 지수이동평균선 224일선 8이내 근접
4.주가가 지수이동평균선 448일선 아래,
5.주가가 볼린저 밴드(40,2)5%이내 근접
6.1봉전 5봉이내 평균거래량 5만주 이상
7.5일 평균거래대금(금일제외) 5억원 이상
8. 주가가 선행스팬2 위
2023-09-04
1094
글번호 172085
답변완료
수식
if stoc(5,3, 3) then #1번
buy();
if stoc(5,5 ,5) then #2번
buy();
위식에서 오늘 첫번째 1번은 실행하고
두번째 부터 나오는 1번은 실행하지않고
2번을 실행하려고 할때
수식을 알려주세요
2023-09-04
707
글번호 172084