커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5568
글번호 230811
답변완료
문의 드립니다
아래의 데이터들을 아래의 지정된 일자에 정기적으로 수집하여 지표를 구성하고자 하는데 가능한 방법이 있을지 궁금합니다.
* 필요 데이터
ㅇ KP200 종가 - 매주 마지막 영업일 종가
ㅇ KP200선물 종가 - 매주 마지막 영업일 종가
ㅇ 콜옵션 (지정된 한 행사가) 종가 - 매주 마지막 영업일 종가
ㅇ 풋옵션 (지정된 한 행사가) 종가 - 매주 마지막 영업일 종가
(차월 당월 지정)
감사합니다
2021-06-29
1060
글번호 150409
답변완료
수식 문의 드립니다
이전 문의사항은 게시글 73077로 해결되었습니다만 추가적으로 여쭤보고 싶은 점이 존재합니다
제가 DayIndex가 0번부터 시작하니까 최종 봉 설정을 다시 해서 작성한 수식은 이런 방식입니다
If DayIndex == 6
Then Calculation = ABS(Open[7] - Close[0]);
Else Calculation = Calculation[1];
Plot1(Calculation);
근데 답변을 주신 수식은 이런 식으로 작성되어 있습니다
if DayIndex+1 == 7 Then
{
var1 = O;
Var2 = var1[1];
if var2 > 0 Then
Calculation_HI = abs(Var2-C);
}
if Calculation_HI > 0 Then
Plot2(Calculation_HI);
이 두 수식의 차이를 왜 하필 밑의 방식을 선호하시는지에 대해 답변 부탁드립니다
시뮬레이션 차트상에서 두 지표를 출력해 보았더니 계산되는 시점부터
산출되는 값까지 정확하게 일치하더라고요
그래서 더더욱 의문이 생겼습니다
제 짧은 생각으로는 밑의 방식을 사용하는 이유는 결측값을 처리하기 위한 방법인 것 같고
var1을 Open으로 시작하는 이유가 Calculation을 위해 있어야 되는 가장 시간상으로 처음 등장하는 것이 Open이어서 그런것 같기는 한데..
그렇다면 제가 작성한 위의 방식대로 코드를 작성하면 오류가 나와야 하는 것이 아닌가.. 하는 생각이 드네요
늘 많은 도움 받고 있습니다
감사합니다
2021-06-29
1202
글번호 150405
답변완료
일봉 변동률
var : VK0(0); // 코스피 일봉
var : Text1(0); // 문자출력
VK0 = (DayClose(0) - DayOpen(0)) / (DayOpen(0) / 100); 당일변동률
Text1 = Text_New(sDate, sTime, C, NumToStr(VK0,2));
마지막 현재봉 변동률 표시가 안나오네요
2021-06-29
968
글번호 150402
답변완료
재문의 드립니다.
안녕하세요 / 어제 아래에 대한 내용으로 종목검색식을 부탁드렸었고
답변 주심을 너무 감사드립니다.
수정사항을 부탁드릴 수 있을까해서 다시 글 올리게 되었습니다.
어제의 내용은
1. 양/음 관계없이 윗꼬리의 길이가 몸통 길이보다 A배 이상 길고
2. 고가는 전봉 종가보다 B % 이상 상승
3. 20 거래이평선보다 C 배 이상 거래량 발생
1,2,3을 만족하는 봉을 기준봉으로 설정하고
조건1. N 기간내에 기준봉 고가에 M % 이내로 근접한 종목 검색식으로 ///
///
input : AA(3),BB(15),CC(3),NN(10),mm(5);
var1 = ma(V,20);
if h-max(c,O) >= abs(C-O)*AA and
H >= C[1]*(1+BB/100) and
V >= var1[1]*CC Then
{
value1 = Index;
Value2 = h;
}
else
{
if value1 > 0 and Index <= value1+NN and
C <= Value2*(1+mm/100) and
C >= Value2*(1-mm/100) Then
Find(1);
}
답변을 주셨습니다.
수정 부탁드리고 싶은 내용은
1. 양/음 관계없이 윗꼬리의 길이가 몸통 길이보다 A배 이상 길고
2. 고가는 전봉 종가보다 B % 이상 상승
3. 20 거래이평선보다 C 배 이상 거래량 발생
1,2,3을 만족하는 봉을 기준봉으로 설정하고
조건 1. N 기간 이내에 0봉의 종가가 기준봉의 고가에 -KK% ~ - JJ% 이내로 근접
한 종목을 찾는 검색식 부탁드립니다. 감사합니다.
2021-06-29
871
글번호 150401
타이탄 님에 의해서 삭제되었습니다.
2021-06-29
10
글번호 150400
타이탄 님에 의해서 삭제되었습니다.
2021-06-29
18
글번호 150399
답변완료
문의
3010 차트 열고 오른쪽 가격표시단에 마크하는 방법이 있습니까?
예를 들어 현재가는 파란색으로 색칠되어서 아래위로 움직이잖아요.
제가 지정한 지표의 가격대도 현재가처럼 가격표에서 움직일 수 있는지 궁금합니다!!
2021-06-29
1315
글번호 150396
답변완료
수정부탁드립니다
#,안녕하세요
아래식에서 TL라인1~10번까지를 당일Y축까지 표시할수 있는 방법을 찾고 있습니다,
Y축까지 오른쪽 수평그리기하면 좋겠는데 가능 할지 모르겠습니다,다른방법이
있으면 도움 부탁드립니다.
input : af(0.02), maxAF(0.2),텍스트출력(1),크기(0);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),TL3(0),TL4(0),TL5(0);
var : TL6(0),tl7(0),TL8(0),TL9(0),TL10(0);
var : tx1(0),tx2(0),tx11(0),tx22(0);
var : x1(0),x2(0),x3(0),x4(0),x5(0);
var : x6(0),x7(0),x8(0),x9(0),x10(0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
if LL > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1),2)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_SetColor(tx11,BLUE);
Text_SetSize(tx11,크기);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1]),2)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,BLUE);
Text_SetSize(tx1,크기);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
if HH > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1),2)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_SetColor(tx22,RED);
Text_Delete(tx2);
Text_SetSize(tx22,크기);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL),2)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,RED);
Text_SetSize(tx2,크기);
}
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1]),2)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
Text_SetColor(tx1,BLUE);
Text_SetSize(tx1,크기);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL),2)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
Text_SetColor(tx2,RED);
Text_SetSize(tx2,크기);
}
}
}
if nextbarsdate != sdate Then
{
if T == 1 Then
{
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
#TL1 = TL_New(LD,LT,HH,sDate,sTime,HH);
TL2 = TL_New(LD,LT,HH1+1.0,sDate,sTime,HH1+1.0);
TL3 = TL_New(LD,LT,HH1+1.618,sDate,sTime,HH1+1.618);
TL4 = TL_New(LD,LT,HH1-1.0,sDate,sTime,HH1-1.0);
TL5 = TL_New(LD,LT,HH1-1.618,sDate,sTime,HH1-1.618);
TL_SetColor(TL1,BLUE);
TL_SetColor(TL2,BLUE);
TL_SetColor(TL3,BLUE);
TL_SetColor(TL4,BLUE);
TL_SetColor(TL5,BLUE);
TL_Delete(TL6);
TL_Delete(TL7);
TL_Delete(TL8);
TL_Delete(TL9);
TL_Delete(TL10);
#TL6 = TL_New(LD,LT,LL,sDate,sTime,LL);
TL7 = TL_New(LD,LT,LL+1.0,sDate,sTime,LL+1.0);
TL8 = TL_New(LD,LT,LL+1.618,sDate,sTime,LL+1.618);
TL9 = TL_New(LD,LT,LL-1.0,sDate,sTime,LL-1.0);
TL10 = TL_New(LD,LT,LL-1.618,sDate,sTime,LL-1.618);
TL_SetColor(TL6,RED);
TL_SetColor(TL7,RED);
TL_SetColor(TL8,RED);
TL_SetColor(TL9,RED);
TL_SetColor(TL10,RED);
Text_Delete(x1);
Text_Delete(x2);
Text_Delete(x3);
Text_Delete(x4);
Text_Delete(x5);
#x1 = Text_New(sDate,sTime,HH,NumToStr(HH,2));
x2 = Text_New(sDate,sTime,HH1+1.0,NumToStr(HH1+1.0,2));
x3 = Text_New(sDate,sTime,HH1+1.618,NumToStr(HH1+1.618,2));
x4 = Text_New(sDate,sTime,HH1-1.0,NumToStr(HH1-1.0,2));
x5 = Text_New(sDate,sTime,HH1-1.618,NumToStr(HH1-1.618,2));
Text_SetColor(x1,BLUE);
Text_SetColor(x2,BLUE);
Text_SetColor(x3,BLUE);
Text_SetColor(x4,BLUE);
Text_SetColor(x5,BLUE);
Text_SetStyle(x1,0,2);
Text_SetStyle(x2,0,2);
Text_SetStyle(x3,0,2);
Text_SetStyle(x4,0,2);
Text_SetStyle(x5,0,2);
Text_Delete(x6);
Text_Delete(x7);
Text_Delete(x8);
Text_Delete(x9);
Text_Delete(x10);
#x6 = Text_New(sDate,sTime,LL,NumToStr(LL,2));
x7 = Text_New(sDate,sTime,LL+1.0,NumToStr(LL+1.0,2));
x8 = Text_New(sDate,sTime,LL+1.618,NumToStr(LL+1.618,2));
x9 = Text_New(sDate,sTime,LL-1.0,NumToStr(LL-1.0,2));
x10 = Text_New(sDate,sTime,LL-1.618,NumToStr(LL-1.618,2));
Text_SetColor(x6,RED);
Text_SetColor(x7,RED);
Text_SetColor(x8,RED);
Text_SetColor(x9,RED);
Text_SetColor(x10,RED);
Text_SetStyle(x6,0,2);
Text_SetStyle(x7,0,2);
Text_SetStyle(x8,0,2);
Text_SetStyle(x9,0,2);
Text_SetStyle(x10,0,2);
}
Else
{
TL_Delete(TL1);
TL_Delete(TL2);
TL_Delete(TL3);
TL_Delete(TL4);
TL_Delete(TL5);
#TL1 = TL_New(HD,HT,HH,sDate,sTime,HH);
TL2 = TL_New(HD,HT,HH+1.0,sDate,sTime,HH+1.0);
TL3 = TL_New(HD,HT,HH+1.618,sDate,sTime,HH+1.618);
TL4 = TL_New(HD,HT,HH-1.0,sDate,sTime,HH-1.0);
TL5 = TL_New(HD,HT,HH-1.618,sDate,sTime,HH-1.618);
TL_SetColor(TL1,BLUE);
TL_SetColor(TL2,BLUE);
TL_SetColor(TL3,BLUE);
TL_SetColor(TL4,BLUE);
TL_SetColor(TL5,BLUE);
TL_Delete(TL6);
TL_Delete(TL7);
TL_Delete(TL8);
TL_Delete(TL9);
TL_Delete(TL10);
#TL6 = TL_New(HD,HT,LL1,sDate,sTime,LL1);
TL7 = TL_New(HD,HT,LL1+1.0,sDate,sTime,LL1+1.0);
TL8 = TL_New(HD,HT,LL1+1.618,sDate,sTime,LL1+1.618);
TL9 = TL_New(HD,HT,LL1-1.0,sDate,sTime,LL1-1.0);
TL10 = TL_New(HD,HT,LL1-1.618,sDate,sTime,LL1-1.618);
TL_SetColor(TL6,RED);
TL_SetColor(TL7,RED);
TL_SetColor(TL8,RED);
TL_SetColor(TL9,RED);
TL_SetColor(TL10,RED);
Text_Delete(x1);
Text_Delete(x2);
Text_Delete(x3);
Text_Delete(x4);
Text_Delete(x5);
#x1 = Text_New(sDate,sTime,HH,NumToStr(HH,2));
x2 = Text_New(sDate,sTime,HH+1.0,NumToStr(HH+1.0,2));
x3 = Text_New(sDate,sTime,HH+1.618,NumToStr(HH+1.618,2));
x4 = Text_New(sDate,sTime,HH-1.0,NumToStr(HH-1.0,2));
x5 = Text_New(sDate,sTime,HH-1.618,NumToStr(HH-1.618,2));
Text_SetColor(x1,BLUE);
Text_SetColor(x2,BLUE);
Text_SetColor(x3,BLUE);
Text_SetColor(x4,BLUE);
Text_SetColor(x5,BLUE);
Text_SetStyle(x1,0,2);
Text_SetStyle(x2,0,2);
Text_SetStyle(x3,0,2);
Text_SetStyle(x4,0,2);
Text_SetStyle(x5,0,2);
Text_Delete(x6);
Text_Delete(x7);
Text_Delete(x8);
Text_Delete(x9);
Text_Delete(x10);
#x6 = Text_New(sDate,sTime,LL1,NumToStr(LL1,2));
x7 = Text_New(sDate,sTime,LL1+1.0,NumToStr(LL1+1.0,2));
x8 = Text_New(sDate,sTime,LL1+1.618,NumToStr(LL1+1.618,2));
x9 = Text_New(sDate,sTime,LL1-1.0,NumToStr(LL1-1.0,2));
x10 = Text_New(sDate,sTime,LL1-1.618,NumToStr(LL1-1.618,2));
Text_SetColor(x6,RED);
Text_SetColor(x7,RED);
Text_SetColor(x8,RED);
Text_SetColor(x9,RED);
Text_SetColor(x10,RED);
Text_SetStyle(x6,0,2);
Text_SetStyle(x7,0,2);
Text_SetStyle(x8,0,2);
Text_SetStyle(x9,0,2);
Text_SetStyle(x10,0,2);
}
}
고맙습니다.
2021-06-29
1758
글번호 150392
답변완료
변경 부탁드립니다.
안녕하세요.....글번호72788 에서 포트56번 시가갭라인을 변경부탁드립니다.
9시장시작해서 첫봉을제외한 2번봉에서시작하여
장종료까지 고점과 저점의 중심값라인 부탁드립니다.
plot 56 중심라인
수고하세요...꾸벅
2021-06-29
1560
글번호 150391