커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1692
글번호 230811
답변완료
도와주세요~
안녕하세요?
아래 지표를 차트에서 분리해 마우스로 끌어내려 아래칸에있는 다른지표와 합치고자 하는데
차트에서 선택 활성화가 안됩니다.
어떻게 하면 될까요?
도와주세요.
감사합니다.
===========================
input : p(2),굵기(5),R(255),G(0),B(0);
var : cnt(0),sum(0),mav(0);
var : TL1(0),TL2(0),TL3(0),TL4(0);
sum = DayOpen(0);
if P >= 2 Then
{
For cnt = 1 to P-1
{
sum = sum + DayClose(cnt);
}
}
mav = sum/P;
if Index == 0 or (sTime >= 143000 and sTime[1] < 143000) Then
{
var1 = sDate;
Var2 = stime;
}
if Bdate != Bdate[1] Then
{
if var1 > 0 and Var2 > 0 Then
{
TL1 = TL_New(var1,Var2,mav,sDate,sTime,mav);
TL_SetColor(TL1,RGB(R,G,B));
TL_SetSize(TL1, 굵기);
}
}
Else
{
if sTime < 100000 Then
{
TL_SetBegin(TL1,var1,Var2,mav);
TL_SetEnd(TL1,sDate,sTime,mav);
}
}
2022-03-30
1259
글번호 157583
답변완료
특정 날짜의 저점 // 특정 기간의 최고가와 최저가
안녕하세요^^
저번에 밑에 기준가, 월고 , 월저 수식을 피드백 받았었는데요~
만기일 or 만기 다음날이 휴일일 경우 휴일은 적용하지 못한다고 하셔서 문득 생각이 들었는데요
1. 날짜를 입력할 수 있게 하고 특정 날짜의 저가(기준가)
2. 특정 기간의 최고가와 최저가(이 기간도 입력할 수 있게)
이렇게 수식을 작성하려면 어떻게 해야할까요 도와주세요~!
var : va1(0),va2(0),va3(0),cnt(0);
var : 월고가(0),월저가(0),기준가(0);
va1 = int(date/100)-int(date/10000)*100;
va2 = date - int(date/100)*100;
va3 = DayOfWeek(date);
if
va2 >= 8 and va2 <= 14 and
va3 == 4 then
Condition1 = True;
Else
Condition1 = False;
if Condition1 == false and Condition1[1] == true and date != date[1] Then{
cnt = 0;
월고가 = H;
월저가 = L;
}
if date != date[1] Then
cnt = cnt+1;
if cnt == 1 Then
기준가 = DayLow;
if H > 월고가 Then
월고가 = H;
if L < 월저가 Then
월저가 = L;
plot1(월고가);
plot2(월저가);
plot3(기준가);
2022-03-30
895
글번호 157582
답변완료
지표 수정 부탁드립니다
항상 수고 하십니다.
이수식을 전날과 연결되지 않고 당일 당일 에만 적용되게 바꿀수 있을까요?
Input : af(0.02), maxAF(0.2);
var1 = CSar(af,maxAF);
if var1 > C Then
Plot1(var1, "CSAR",YELLOW);
Else
Plot1(var1, "CSAR",GREEN);
plot2(C);
감사합니다.
2022-03-30
715
글번호 157580
답변완료
지표식 부탁합니다
수고하십니다
지표식 수정 부탁합니다
If O[1]<=C[1] && O<C[1] && C<O[1] && C<O Then
var1 = O;
If O[1]>=C[1] && O<C[1] && C<C[1] && C>O Then
var2 = O;
If O[1]>=C[1] && O>O[1] && C>O[1] && C>O Then
var3 = O;
plot1(var1, "선1", Black);
plot2(var2, "선2", White);
plot3(var3, "선3", LightGreen);
var : t(0);
if var1 > var1[1] Then
t = 1;
if var1 < var1[1] Then
t = -1;
If t == -1 and var3[1]!=var3 && C>var3 && C>O Then
plot4(L, "점", Yellow);
위 식을 LG이노텍에 적용하면 첨부된 파일처럼 10/27일과 1/12일은 노란점이 표시되었고
3/3일은 표시되지 않았습니다 검정선(var1)이 올라간 지점이라 그러겠지요
그런데 3/3일은 하양선(var2)이 내려간 지점입니다
이렇듯 검정선이 올라간 지점일지라도 하얀선이 내려온 지점이면 노란점이 표시되도록 수정 부탁합니다
2022-03-30
1102
글번호 157579
답변완료
종목 검색 및 기능 등 초보의 문의
안녕하세요.
좋은 프로그램 제공해주셔서 잘 배우고있습니다.
감사합니다.
몇 가지 질문이 있는데요.
1. 타주기 포함 검색 방법
동일 종목의 주봉, 일봉, 5분봉 상에 골든 크로스 나는 종목을 검색을 하려 할 경우 어떤 식으로 수식을 작성해야하는지요?
2. 사전의 사용방법
예스랭귀지 편집기에서 사전이라는 텝이 있는데요.
이곳에 붙여넣기가 안되나요?
예를 들면 SwingLow 함수 사용법 등이 알고 싶으면, 복사해서 넣거나, 콘트롤을 누르고 클릭을하면 사전에 결과가 나왔으면 좋겠는데,
클릭하면 편집기에 추가만 되고, 사전에서는 붙여넣기가 안되고 직접 타이핑을 다 해야해서 불편한데요.
제가 사용법을 모르는 것이면 알려주시면 감사하겠습니다.
3. data manager 용도
data mager 의 용도와 사용법을 알려주세요.
4. 전략실행챠트와 시뮬레이셔챠트의 차이
일단 모의투자로 진행을 하고 있는데요. 두 챠트의 차이가 뭔지 궁금합니다. 시뮬챠트의 경우 조회할 수 있는 봉수가 더 많은 것 같긴데
5. 전략실행챠트의 일시정지기능
시스템 식등을 로그로 보고 있다면, 시간이 지나면 다시 로그가 생성되는 것으로봐서
분이 지나면 다시 실행이되는 것 같은데요.
로그를 보고있다가, 로그 보는 위치가 변경되니 불편해서요.
6. 로그 검색 기능
로그 찍어서 디버깅을 하는데, 로그에서 찾기 기능이 혹시 없나요? 많은 로그가 있다면 스크롤로 찾는 것도 일이라서요.
7. 로그 꺼내기 기능
말 그대로 로그를 pc 로 꺼내는 기능이 혹시 없나요? 없다면 편한 디버깅을 위해 기능 추가 추천드립니다.
8. print 함수문의(위 6,7 번 기능이 없어서 대안)
print 함수가 있던데요.
Print("파일명","Expression", 출력대상)
와 같은 형식이었습니다.
하나의 로그만 꺼낼 수 있는 것인가요?
예를 들면 제가 찍은 모든 로그를 d드라이브 루트에 꺼냏어 디버깅을 하고 싶을 때
Print("d:₩test.txt","시작가(%.2f)", open);
Print("d:₩test.txt","종가(%.2f)", close);
하면 밑에 추가로 써지는 것인가요? 덮어쓰나요?
(위는 예이고, 매수, 매도의 환경 등에 print 를 사용하고 싶다면 같은 줄에 두 개 인자를 넣을 수는 없어서요)
이상입니다.
초보의 질문이라 죄송하고, 좋은하루되시길.
2022-03-30
1599
글번호 157578
답변완료
문의드립니다
주문창에서의 매수/매도건수를 이용한 지표식이 가능할까요?
매수건수 - 매도건수 = 결과값 (매수 매도건수의 차이) 를 표시하는 지표식.
결과값이 + 이면 빨간색
결과값이 - 이면 블루색 으로 표시되게 부탁합니다
2022-03-30
1090
글번호 157577
답변완료
지표 적용시 Y축이 눌리는 현상에 대한 문의
안녕하세요^^
첨부 파일처럼 수식 적용 전/후로 Y축이 눌리면서 차트가 작아보는 현상이 있는데요
상단의 가격과 하단의 가격을 모두다 보여줘야 하기에 Y 길이가 길어지면서 눌리는건 이해하는데요~
키움의 경우 기본차트에 원하는 기준선을 입력해서 Y축이 눌리지 않는데 이렇게 볼 수 있는 방법이 있을까요?
EX) 선물지수가 300인데 기준선을 600으로 넣어도 600까지 다 보여주는 것이 아닌 정해진 스케일만 보여줌으로 600 근처에 와야만 기준선이 보입니다.
이것처럼 혹시 스케일을 고정하는 방법이 있을까요??
2022-03-30
1006
글번호 157570
답변완료
국내주식 종목검색식에서 (highest(H[1],5) + lowest(L[1],5))
고생많으십니다.
프로그램에 이해도가 없지만 질문에대한 답변을 이용하여 잘 사용하고 있습니다.
1=> (highest(H[1],5) + lowest(L[1],5))
2=> (highest(H,5)[1] + lowest(L,5))[1]
1번이 키움증권 수식이었는데요...
종목검색식에서 사용하려면 1번과 같이 적용하면되나요?
그리고 2번이 맞는 수식인가요??
감사합니다.
2022-03-30
966
글번호 157569
답변완료
수식 수정 의뢰드립니다.
안녕하세요! 아래 수식은 전에 만들어 주신 수식입니다!
다름이 아니라 3가격의 트랜드라인이 생성되면 (v1, v2, v3) 3가지 합산 가격이 나타나는데 이때 가격이 봉챠트와 겹쳐 보여서 매매에 다소 불편함이 있네요! 합산 가격이 추세선 우측 밖으로 이동시켜서 나타날 수 있도록 수식 수정을 부탁드립니다!
참고로 V4 (TL4)는 현재 사용하지 않아 제가 삭제를 했는데 그로 인하여 수식이 좀 이상 할 수 있습니다!
부탁드립니다!
input : 색상1(REd),색상2(BLACK),색상3(BLACK),색상4(MAGENTA);
input : 굵기1(1),굵기2(1),굵기3(1),굵기4(1);
var : cnt(0,Data1);
var : v1(0,Data1),v2(0,Data1),v3(0,Data1),v4(0,Data1);
var : tl1(0,Data1),tl2(0,Data1),tl3(0,Data1),tl4(0,Data1);
var : tx1(0,Data1),tx2(0,Data1),tx3(0,Data1),tx4(0,Data1);
#(Data1+Data2)/2;
v1 = (Data1(c)+Data2(c))/2;
#(Data1+Data3)/2;
v2 = (Data1(c)+Data3(c))/2;
#(Data1+Data4)/2;
v3 = (Data1(c)+Data4(c))/2;
For cnt = 0 to 10
{
Text_Delete(tx1[cnt]);
Text_Delete(tx2[cnt]);
Text_Delete(tx3[cnt]);
#Text_Delete(tx4[cnt]);
TL_Delete(tl1[cnt]);
TL_Delete(tl2[cnt]);
TL_Delete(tl3[cnt]);
#TL_Delete(tl4[cnt]);
}
tx1 = Text_New(NextBarSdate,NextBarStime,v1,NumToStr(v1,2));
tx2 = Text_New(NextBarSdate,NextBarStime,v2,NumToStr(v2,2));
tx3 = Text_New(NextBarSdate,NextBarStime,v3,NumToStr(v3,2));
#tx4 = Text_New(NextBarSdate,NextBarStime,v4,NumToStr(v4,2));
tl1 = TL_New(sDate,sTime,v1,NextBarSdate,NextBarStime,v1);
tl2 = TL_New(sDate,sTime,v2,NextBarSdate,NextBarStime,v2);
tl3 = TL_New(sDate,sTime,v3,NextBarSdate,NextBarStime,v3);
#tl4 = TL_New(sDate,sTime,v4,NextBarSdate,NextBarStime,v4);
TL_SetColor(tl1,색상1);#콜427+ 풋430/2
TL_SetColor(tl2,색상2);#콜427+풋427/2
TL_SetColor(tl3,색상3);#콜427+풋425/2
#TL_SetColor(tl4,색상4);#콜427시가
TL_SetSize(TL1,굵기1);
TL_SetSize(TL2,굵기2);
TL_SetSize(TL3,굵기3);
#TL_SetSize(TL4,굵기41);
TL_SetExtLeft(TL1,true);
TL_SetExtLeft(TL2,true);
TL_SetExtLeft(TL3,true);
TL_SetExtLeft(TL4,true);
#TL_SetExtRight(TL1,true);
#TL_SetExtRight(TL2,true);
#TL_SetExtRight(TL3,true);
#TL_SetExtRight(TL4,true);
Plot1 (dayopen);
plot2 ((DayLow+DayHigh)/2);
2022-03-30
1087
글번호 157568