커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1642
글번호 230811
답변완료
부탁드립니다
수고하십니다
아래수식은 모든 콜,풋종가에 그려지던데, 현재의등가콜,풋에만 그려지다가, 등가가 변경될때 마다 변경된등가의 콜,풋종가 가 아닌 ,콜4틱위에,풋4틱아래에 그려지는 수식으로 변경 부탁드립니다
var : V1(0,Data1),V2(0,Data1),ATM(0,Data1);
var : cnt(0,Data1);
var : Ci(0,Data1),Pi(0,Data1);
Array : CS[7](0),CC[7](0),PS[7](0),PP[7](0);
#콜종가
CC[2] = Data2(c);
CC[3] = Data4(c);
CC[4] = Data5(c);
CC[5] = Data6(c);
CC[6] = Data7(c);
#풋가격
PP[2] = Data3(c);
PP[3] = Data8(c);
PP[4] = Data9(c);
PP[5] = Data10(c);
PP[6] = Data11(c);
if data1(Bdate != Bdate[1]) then
{
V1 = Data12(c);
V2 = data12(Floor(c/2.5)*2.5);
if V1-V2 > 2.5/2 Then
ATM = V2+2.5;
else
ATM = V2;
#콜행사가
CS[2]= data2(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[3]= data4(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[4]= data5(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[5]= data6(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
CS[6]= data7(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
#풋행사가
PS[2]= data3(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[3]= data8(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[4]= data9(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[5]= data10(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
PS[6]= data11(iff(StrToNum(RightStr(SymbolCode,1)) == 5 or StrToNum(RightStr(SymbolCode,1)) == 0, StrToNum(RightStr(SymbolCode,3)), StrToNum(RightStr(SymbolCode,3))+0.5));
var1 = 0;
Var2 = 0;
Var3 = 0;
For cnt = 2 to 6
{
if CS[cnt] == ATM Then
var1 = cnt;
if CS[cnt] == ATM+2.5 Then
Var2 = cnt;
if CS[cnt] == ATM-2.5 Then
Var3 = cnt;
if PS[cnt] == ATM Then
value1 = cnt;
if PS[cnt] == ATM+2.5 Then
Value2 = cnt;
if PS[cnt] == ATM-2.5 Then
Value3 = cnt;
}
}
if var1 > 0 Then
Plot1(CC[var1]);
if Var2 > 0 Then
Plot2(CC[Var2]);
if Var3 > 0 Then
Plot3(CC[Var3]);
if value1 > 0 then
plot4(PP[value1]);
if value2 > 0 then
plot5(PP[value2]);
if value3 > 0 then
plot6(PP[value3]);
2022-10-06
1176
글번호 162797
답변완료
수고하십니다 지표하나 문의 드립니다
수고하십니다!!!
다름이 아니라
10분봉상에 60분봉의 N봉 중 최고가, N봉 중 최저가를 그리고 싶습니다~~~~
도움 부탁드립니다
2022-10-06
968
글번호 162796
답변완료
부탁드립니다
일반함수
함수명 w_disp(Period)
수식 c/eavg(c,Period)*100-100
기술적지표 다중이_누적
수식1 가격이평합1
NP=0;
NP=NP+w_disp(p);
NP=NP+w_disp(p+ 1*m);
NP=NP+w_disp(p+ 2*m);
NP=NP+w_disp(p+ 3*m);
NP=NP+w_disp(p+ 4*m);
NP=NP+w_disp(p+ 5*m);
NP=NP+w_disp(p+ 6*m);
NP=NP+w_disp(p+ 7*m);
NP=NP+w_disp(p+ 8*m);
NP=NP+w_disp(p+ 9*m);
NP=NP+w_disp(p+10*m);
NP=NP+w_disp(p+11*m);
NP=NP+w_disp(p+12*m);
NP=NP+w_disp(p+13*m);
NP=NP+w_disp(p+14*m);
NP=NP+w_disp(p+15*m);
NP=NP+w_disp(p+16*m);
NP=NP+w_disp(p+17*m);
NP=NP+w_disp(p+18*m);
NP=NP+w_disp(p+19*m);
NP=NP+w_disp(p+20*m);
NP=NP+w_disp(p+21*m);
NP=NP+w_disp(p+22*m);
NP=NP+w_disp(p+23*m);
NP=NP+w_disp(p+24*m);
NP=NP+w_disp(p+25*m);
NP=NP+w_disp(p+26*m);
NP=NP+w_disp(p+27*m);
NP=NP+w_disp(p+28*m);
NP=NP+w_disp(p+29*m);
NP=NP+w_disp(p+30*m)
수식2 이격long
NP=NP+w_disp(p+31*m);
NP=NP+w_disp(p+32*m);
NP=NP+w_disp(p+33*m);
NP=NP+w_disp(p+34*m);
NP=NP+w_disp(p+35*m);
NP=NP+w_disp(p+36*m);
NP=NP+w_disp(p+37*m);
NP=NP+w_disp(p+38*m);
NP=NP+w_disp(p+39*m);
NP=NP+w_disp(p+40*m);
NP=NP+w_disp(p+41*m);
NP=NP+w_disp(p+42*m);
NP=NP+w_disp(p+43*m);
NP=NP+w_disp(p+44*m);
NP=NP+w_disp(p+45*m);
NP=NP+w_disp(p+46*m);
NP=NP+w_disp(p+47*m);
NP=NP+w_disp(p+48*m);
NP=NP+w_disp(p+49*m);
NP=NP+w_disp(p+50*m);
NP=NP+w_disp(p+51*m);
NP=NP+w_disp(p+52*m);
NP=NP+w_disp(p+53*m);
NP=NP+w_disp(p+54*m);
NP=NP+w_disp(p+55*m);
NP=NP+w_disp(p+56*m);
NP=NP+w_disp(p+57*m);
NP=NP+w_disp(p+58*m);
NP=NP+w_disp(p+59*m);
NP=NP+w_disp(p+60*m);
NP=NP+w_disp(p+61*m);
NP=NP+w_disp(p+62*m);
NP=NP+w_disp(p+63*m);
NP=NP+w_disp(p+64*m);
NP=NP+w_disp(p+65*m);
NP=NP+w_disp(p+66*m);
NP=NP+w_disp(p+67*m);
NP=NP+w_disp(p+68*m);
NPR = 100*NP/max(abs(highest(NP,maxd,1)), abs(lowest(NP,maxd,1))); //연중 최고값과의 비율
//NPR = NP;
eavg(NPR,long)
수식3 이격middle
eavg(NPR, middle)
수식4 이격short
eavg(NPR, short)
수식5 NPR
NPR
지표조건
p 5
m 2
maxd 240
short 5
middle 20
long 60
길게 올려죄송해요
아침저녁으로 쌀쌀하네요 건강조심하세요
2022-10-06
1233
글번호 162795
답변완료
감사합니다
수식
NP=0;
NP=NP+w_disp(p);
NP=NP+w_disp(p+ 1*m);
NP=NP+w_disp(p+ 2*m);
NP=NP+w_disp(p+ 3*m);
NP=NP+w_disp(p+ 4*m);
NP=NP+w_disp(p+ 5*m);
NP=NP+w_disp(p+ 6*m);
NP=NP+w_disp(p+ 7*m);
NP=NP+w_disp(p+ 8*m);
NP=NP+w_disp(p+ 9*m);
NP=NP+w_disp(p+10*m);
NP=NP+w_disp(p+11*m);
NP=NP+w_disp(p+12*m);
NP=NP+w_disp(p+13*m);
NP=NP+w_disp(p+14*m);
NP=NP+w_disp(p+15*m);
NP=NP+w_disp(p+16*m);
NP=NP+w_disp(p+17*m);
NP=NP+w_disp(p+18*m);
NP=NP+w_disp(p+19*m);
NP=NP+w_disp(p+20*m);
NP=NP+w_disp(p+21*m);
NP=NP+w_disp(p+22*m);
NP=NP+w_disp(p+23*m);
NP=NP+w_disp(p+24*m);
NP=NP+w_disp(p+25*m);
NP=NP+w_disp(p+26*m);
NP=NP+w_disp(p+27*m);
NP=NP+w_disp(p+28*m);
NP=NP+w_disp(p+29*m);
NP=NP+w_disp(p+30*m);
NP=NP+w_disp(p+31*m);
NP=NP+w_disp(p+32*m);
NP=NP+w_disp(p+33*m);
NP=NP+w_disp(p+34*m);
NP=NP+w_disp(p+35*m);
NP=NP+w_disp(p+36*m);
NP=NP+w_disp(p+37*m);
NPR = 100*NP/max(abs(highest(NP,maxd,1)), abs(lowest(NP,maxd,1)));
crossup(eavg(NPR,middle),eavg(NPR,long))
지표변수
p 5
m 2
maxd 250
short 5
middle 60
long 250
일반함수
함수명 w_disp(Period)
수식 c/eavg(c,Period)*100-100
2022-10-06
935
글번호 162794
a3306 님에 의해서 삭제되었습니다.
2022-10-06
13
글번호 162793
답변완료
문의드립니다
연간 & 월간구분선을 세로선으로 나타내고 싶습니다
즉 2021. 2022 식으로 년(year)이 바뀌면.. 새로운 년도가 시작되면
차트에 세로선을 그어 구분하고 싶습니다
같은방식으로 월(month) 가 바뀔때도 세로선을 긋고 싶습니다
세로선 굵기, 색상은 지정할수있게 부탁드립니다
감사합니다
2022-10-06
942
글번호 162792
답변완료
재 문의 드립니다.
수식을 잘몰라 적용할려니 잘 안되네요.
만약 이평을 적용할려면 어떻게 적용 시켜야 되는지요?
Input : Period1(600);
var1 = ma(C,Period1);
plot1(var1,"이평"); //이지표를 이틀치만 표현하고 싶습니다.
#######################################################################
안녕하세요
예스스탁입니다.
당일은 컴퓨터의 현재날짜와 차트봉의 날자만 비교하면 되므로
해당 조건으로 체크가 가능하지만
전일은 휴일정보가 없어 항상 전일부터 출력하게 조건을 지정할 수 없습니다.
아래는 전일부터 출력하게 하는 수식인데
월~금요일에 휴일인 경우가 있으면 맞지 않습니다.
var1 = DateToJulian(CurrentDate)-1;
IF DayOfWeek(CurrentDate) == 1 Then
Var1 = Var1-2;
if sDate >= JulianToDate(var1) Then
Plot1(1);
즐거운 하루되세요
> 새가날아오를때 님이 쓴 글입니다.
> 제목 : 지표 부탁드립니다.
> 이평을 전일하고 당일만 표현할수있나요?
당일만 표현할려면
if currentdate == sdate then
{
Plot1(var1, "당일이평");
}
이렇게 표현하면 되던데 전일 이평까지 표현할려니 방법을 모르겠습니다.
도움 부탁드립니다.
2022-10-06
962
글번호 162791
배움이 님에 의해서 삭제되었습니다.
2022-10-06
61
글번호 162790
답변완료
출력값 관련 질문드립니다.
검색 출력값은 수치 확인용인줄 알았는데, 출력값에 무엇을 넣느냐에 따라서 종목이 다르게 나옵니다.
find()안에 들어가는 출력값은 어떻게 돌아가는 건가요??
코드는 모두 동일한 형태에서 find()안에 출력값 변화만 줫는데 다르게 나오는 경우입니다.
그리고 find(val); 이런식으로 하면 val값 하나만 보이는데
val, val2 두개의 값을 확인하려면 어떤식으로 써야하나요??
find(val, val2); 이런식으로 출력하고 싶습니다.
2022-10-06
786
글번호 162789