커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
2553
글번호 230811
매치다는 님에 의해서 삭제되었습니다.
2022-10-25
22
글번호 163284
답변완료
문의합니다
input : 시작시간(090000),종료시간(0);
input : Period1(1),Period2(2),Period3(3),Period4(4),Period5(5),Period6(6),Period7(7),Period8(8),Period9(9),Period10(10),Period11(11),Period12(12),Period15(15),Period20(20),Period25(25),Period30(30),Period35(35),Period40(40),Period52(52),Period70(70),Period80(80),
Period105(105),Period140(140),Period150(150),Period210(210),Period280(280),Period300(300),Period420(420),Period480(480),Period520(520),Period560(560),Period600(600),Period840(840),Period900(810),Period1120(1120),Period1200(1200),Period1800(1800),Period2400(2400),Period2800(2800),Period3360(3360),Period3600(3600),Period4800(4800),Period7200(7200),
Period58(58),Period60(60),Period62(62),Period82(82),Period84(84),Period28(70),Period31(11),Period32(24),Period33(5),
Period41(35),Period42(35),Period43(35),Period48(15),Period1001(850),Period1002(520),Period1003(480),Period1008(36),aa4(0.4),aa5(0.5),aa6(0.8),익절틱수(63),손절틱수(91);
var : mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0),mav7(0),mav8(0),mav9(0),mav10(0),mav11(0),mav12(0),mav15(0),mav20(0),mav25(0),mav30(0),mav35(0),mav40(0),mav52(0),mav70(0),mav80(0),mav105(0),mav140(0),mav150(0),mav210(0),mav280(0),mav300(0),mav420(0),mav480(0),mav520(0),mav560(0),mav600(0),
mav840(0),mav900(0),mav1120(0),mav1200(0),mav1800(0),mav2400(0),mav2800(0),mav3360(0),mav3600(0),mav4800(0),mav7200(0),
mav58(0),mav60(0),mav62(0),mav82(0),mav84(0),mav28(0),mav31(0),mav32(0),mav33(0),
mav41(0),mav42(0),mav43(0),mav48(0),mav1001(0),mav1002(0),mav1003(0),mav1008(0),Bxcond(false),Sxcond(false);
var : Tcond(false);
var : T(0);
var : ii(0);
var : BE1(0),BE2(0),BE3(0),BE4(0),BE5(0);
var : SE1(0),SE2(0),SE3(0),SE4(0),SE5(0);
mav1 = ma(c, Period1);
mav2 = ma(c, Period2);
mav3 = ma(c, Period3);
mav4 = ma(c, Period4);
mav5 = ma(c, Period5);
mav6 = ma(c, Period6);
mav7 = ma(c, Period7);
mav8 = ma(c, Period8);
mav9 = ma(c, Period9);
mav10 = ma(c, Period10);
mav11 = ma(c, Period11);
mav12 = ma(c, Period12);
mav15 = ma(c, Period15);
mav20 = ma(c, Period20);
mav25 = ma(c, Period25);
mav30 = ma(c, Period30);
mav35 = ma(c, Period35);
mav40 = ma(c, Period40);
mav52 = ma(c, Period52);
mav70 = ma(c, Period70);
mav80 = ma(c, Period80);
mav105 = ma(c, Period105);
mav140 = ma(c, Period140);
mav150 = ma(c, Period150);
mav210 = ma(c, Period210);
mav280 = ma(c, Period280);
mav300 = ma(c, Period300);
mav420 = ma(c, Period420);
mav480 = ma(c, Period480);
mav520 = ma(c, Period520);
mav560 = ma(c, Period560);
mav600 = ma(c, Period600);
mav840 = ma(c, Period840);
mav900 = ma(c, Period900);
mav1120 = ma(c, Period1120);
mav1200 = ma(c, Period1200);
mav1800 = ma(c, Period1800);
mav2400 = ma(c, Period2400);
mav2800 = ma(c, Period2800);
mav3360 = ma(c, Period3360);
mav3600 = ma(c, Period3600);
mav4800 = ma(c, Period4800);
mav7200 = ma(c, Period7200);
mav58 = ma(c, Period58);
mav60 = ma(c, Period60);
mav62 = ma(c, Period62);
mav82 = ma(c, Period82);
mav84 = ma(c, Period84);
mav28 = ma(c, Period28);
mav31 = ma(c, Period31);
mav32 = ma(c, Period32);
mav33 = ma(c, Period33);
mav41 = ma(c, Period41);
mav42 = ma(c, Period42);
mav43 = ma(c, Period43);
mav48 = ma(c, Period48);
mav1001 = ma(c, Period1001);
mav1002 = ma(c, Period1002);
mav1003 = ma(c, Period1003);
mav1008 = ma(c, Period1008);
var1 = abs(c-mav70);
var2 = abs(mav10-mav20);
var3 = abs(mav20-mav35);
var4 = abs(mav35-mav70);
var5 = abs(mav70-mav140);
var6 = abs(mav140-mav280);
var7 = abs(mav280-mav560);
var8 = abs(mav560-mav1120);
var9 = abs(mav1120-mav1800);
var10 = abs(mav1800-mav3360);
var11 = abs(mav3360-mav3600);
input : Atime(20),P1(5),P2(20),P3(60);
var : TF(0),cnt(0),sum1(0),mav1(0),sum2(0),mav2(0),sum3(0),mav3(0);
Array : CC[500](0);
TF = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
for cnt = 1 to 499{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
if CC[P3-1] > 0 then{
sum1 = 0;
sum2 = 0;
sum3 = 0;
for cnt = 0 to P3{
if cnt < P1 Then
sum1 = sum1+CC[cnt];
if cnt < P2 Then
sum2 = sum2+CC[cnt];
if cnt < P3 Then
sum3 = sum3+CC[cnt];
}
}
if (sdate != sdate[1] and stime >= 시작시간) or
(sdate == sdate[1] and (Stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간))) Then
{
Tcond = True;
BXcond = false;
SXcond = false;
}
if stime == 종료시간 or (stime > 종료시간 and stime[1] < 종료시간) Then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
if Tcond == true then
{
if MarketPosition >= 0 Then
{
if mav600[1] > mav600 and and mav300[1] > mav300 Then
{
if CurrentContracts < 1 Then
sell("s1",OnClose,def,1);
}
Else
{
if mav800[1] > mav800 and and mav500[1] > mav500 and
CurrentContracts < 1 Then
sell("s2",OnClose,def,1);
}
}
문의합니다
1번. 틱봉에서 분봉(20분) 이평을 수식에 적용하려도 합니다 적용한 수식이 맞는지요
수정 부탁합니다
2번. 매도를 진행할 경우
mav600[1] > mav600 and and mav300[1] > mav300로 매도를 진행할 경우
20분 20이평 > 5이평 클때만 매도진입을 진행하려면 수식을 어떻게 표기하여야
하나요
즉 20분 20이평선 > 5이평선 and mav600[1] > mav600 and and
mav300[1] > mav300 일 때 매도를 진입하고자 합니다 수식을 표기하여 주세요
감사합니다
2022-10-25
959
글번호 163283
답변완료
종목 검색식 부탁 드립니다.
안녕하십니까
신호로 만들어져 있었던건데
종목 검색을 하고 싶습니다.
이격=ma(가격,기간1,종류)-
ma(가격,기간2,종류);
이격률=이격/c*100;
crossup(이격률,k) //이격률이 k% 넘어가면
가격 종가
기간1 5
기간2 25
종류 단순
k 1
부탁 드립니다.
항상 감사합니다.
2022-10-25
939
글번호 163282
답변완료
종목 검색식 부탁 드립니다.
안녕 하십니까
키움증권 신호로 만든거 입니다.
이걸 종목검색을 하고 싶습니다.
A=Disparity(기간);
K99=valuewhen(1, crossup(A, 기준1) or crossdown(A, 기준1), 가격);
K101=valuewhen(1, crossup(A, 기준2) or crossdown(A, 기준2), 가격);
M20=ma(c,20);
(crossup(M20,K99) or crossup(M20,K101)) &&
M20>M20(1)
가격 (고가+저가)/2
기간 20
기준1 99
기준2 101
부탁 드립니다.
감사합니다.
2022-10-25
1240
글번호 163281
답변완료
수식 부탁드립니다.
1. 1분봉 기준으로,
(첫봉의 H-L) + (둘째봉의 H-L) + (세째봉의 H-L)
.
.
.
계속 누적해서 sum 으로 보고 싶습니다.
당일 0 에서 시작해서 당일 마감까지 계속 우상향하는 그래프
2. 1번의 전일 최종 sum 값을
당일 plot2 으로 일직선으로 그리고 싶습니다.
감사합니다.
2022-10-25
1277
글번호 163278
답변완료
수식 의뢰드립니다.
안녕하세요!
항상 도움을 주셔서 감사합니다!
매매에 도움을 받고자 수식을 부탁드립니다.
자동으로 계산된 양합의 가격을 숫자로 표시되는 수식을 만들고 싶습니다!
예) 콜290 + 풋290의 교차챠트를 만들었으면 장이 시작되면 시가양합의 가격과 현재가 양합가격이 보조지표처럼 막대그래프로(참조데이터) 나타나는 수식을 만들고 싶습니다.
만약 불가능 하다면 아래와 같이 표시되길 희망합니다.
표시형태= 시가 양합의 가격
현재가 양합의 가격
콜 현재가(굵은 빨강색)
풋 현재가(굵은 파랑색) = 이런식으로 4줄로 나타나게 해주세요.
새로운 봉은 계속 생성이 되고 새로운 봉이 만들어지면 봉에 맞추어
계속 앞으로 이동이 수식으로 가능하다면 부탁드립니다.
* 시가, 현재가 양합의 글자의 크기.굵기,색상. 표시가격위치는 각각 외부변수로 부탁드립니다.
항상 감사드립니다.
2022-10-26
1209
글번호 163275
답변완료
n자 파동 검색식 요청드려요
1. 5분봉상 하루(76)봉 내에
N자 파동이 2번 이상 발생한종목 검색
- 저점과 고점의 변동폭 3.5%이상일때 하나의 파동으로 카운트
첫번째 파동보다 두번째 파동의 고점이높을것
첫번째 파동의 저점보다 두번째 파동의 저점이 낮으면 않됨
두번째 파동보다 세번째 파동의 고점이 높을것
두번째 파동의 저점보다 세번째 파동의 저점이 낮으면 않됨
n번째 파동보다 n+1의 파동의 고점이 높을것
n번째 파동의 저점보다 n+1번째 파동의 저점이 낮으면 않됨
2. 5분봉상 이틀(152)봉 내에
N자 파동이 2번 이상 발생한종목 검색
- 저점과 고점의 변동폭 5.5%이상일때 하나의 파동으로 카운트
첫번째 파동보다 두번째 파동의 고점이높을것
첫번째 파동의 저점보다 두번째 파동의 저점이 낮으면 않됨
두번째 파동보다 세번째 파동의 고점이 높을것
두번째 파동의 저점보다 세번째 파동의 저점이 낮으면 않됨
2022-10-25
1552
글번호 163266
답변완료
LRL 보조지표를 이용한 검색식을 만들고 싶습니다
안녕하세요
LRL 보조지표를 검색하고 싶습니다
기간 40
a=LinearRegressionvalue(c,기간,0);
a1=LinearRegressionvalue(a,기간,0);
eq=a-a1;
vl=a+eq
vl 값이 하락하다 상승시작하고
현재종가가 20이평아래있고
vl 값이 현재캔들 아래 있고
60 이평은 상승중인걸 검색식으로 만들고 싶습니다
도와주세요~~~~
2022-10-25
1449
글번호 163265
답변완료
문의 드립니다!
연일 수고가많습니다!
아래수식은 일전에 만들어주신 수식인데요
이수식에서 data1과 data2로 설정된 경우나 아래수식과같이 data1과 data5등 다른행사가로 설정된 경우나 모두 같은선이 출력되는것같습니다
* plot11부터 plot18까지에서 출력되는 선을 기준으로 한것입니다
이 plot11부터 plot18까지의 선이 서로 다른선이 출력되게 할려면 어떤부분을 어떻게 수정해야할지 문의드립니다
감사합니다!
-----------------------------------------------------
input : 굵기1(5),굵기2(5),굵기3(5),굵기4(5);
var : cond11(false,data1),cond21(false,data1);
var : cond12(false,data1),cond22(false,data1);
var : TL1(0,Data1),TL2(0,Data1),TL3(0,Data1),TL4(0,Data1);
var : v1(0,Data1),v2(0,Data1),v3(0,Data1),v4(0,Data1);
v1 = data1(highD(0));
v2 = data1(LowD(0));
v3 = data5(highD(0));
v4 = data5(LowD(0));
plot1(v1,"data1고가");
plot2(v2,"data1저가");
plot3(v3,"data5고가");
plot4(v4,"data5저가");
cond11 = data5(highD(0)) >= data1(highD(0)-PriceScale*2);
cond21 = data1(lowD(0)) <= data5(lowD(0)+PriceScale*2);
if Cond11 == true and cond11[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav");
TL1 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL1,White);
TL_SetSize(TL1,굵기1);
}
if Cond21 == true and cond21[1] == false then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav");
TL2 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL2,Yellow);
TL_SetSize(TL2,굵기2);
}
cond12 = data1(LowD(0)) <= data5(lowD(0)+PriceScale*2);
cond22 = data5(highD(0)) >= data1(highD(0)-PriceScale*2);
if Cond12 == true and cond12[1] == false Then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav");
TL3 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL3,White);
TL_SetSize(TL3,굵기3);
}
if Cond22 == true and cond22[1] == false then
{
PlaySound("C:₩예스트레이더₩data₩Sound₩꼬끼오.wav");
TL4 = TL_New(sDate,stime,0,sDate,sTime,99999999);
TL_SetColor(TL4,Yellow);
TL_SetSize(TL4,굵기4);
}
var : month(0,Data1),nday(0,Data1),week(0,Data1);
var :EX(false,Data1),HH(0,Data1),LL(0,Data1),OO(0,Data1),CC(0,Data1);
var : DD(0,Data1),HH1(0,Data1),LL1(0,Data1),OO1(0,Data1);
month = data1(int(date/100)-int(date/10000)*100);
nday = data1(date - int(date/100)*100);
week = data1(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;
Var5 = var2+var3*0.00;
Var6 = var2+var3*1.00;
plot5(Var5);
plot6(Var6);
}
if v1 == Var5 Then
value1 = v1;
if v2 == Var5 Then
value2 = v2;
if v3 == Var5 Then
value3 = v3;
if v4 == Var5 Then
value4 = v4;
if v1 == Var6 Then
value5 = v1;
if v2 == Var6 Then
value6 = v2;
if v3 == Var6 Then
value7 = v3;
if v4 == Var6 Then
value8 = v4;
if value1 > 0 Then
Plot11(value1);
if value2 > 0 Then
Plot12(value2);
if value3 > 0 Then
Plot13(value3);
if value4 > 0 Then
Plot14(value4);
if value5 > 0 Then
Plot15(value5);
if value6 > 0 Then
Plot16(value6);
if value7 > 0 Then
Plot17(value7);
if value8 > 0 Then
Plot18(value8);
2022-10-25
1388
글번호 163264