커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1717
글번호 230811
답변완료
문의드립니다
input : tenkan_len(9),tenkan_mult(2),kijun_len(26),kijun_mult(4),spanB_len(52),spanB_mult(6),offset(26);
var : ATR1(0),up1(0),dn1(0),upper1(0),lower1(0),os1(0),spt1(0),max1(0),min1(0),tenkan(0);
var : ATR2(0),up2(0),dn2(0),upper2(0),lower2(0),os2(0),spt2(0),max2(0),min2(0),kijun(0);
var : senkouA(0);
var : ATR3(0),up3(0),dn3(0),upper3(0),lower3(0),os3(0),spt3(0),max3(0),min3(0),senkouB(0);
var : tenkan_css(0),kijun_css(0),cloud_a(0),cloud_b(0),chikou_css(0),tx(0);
ATR1 = ATR(tenkan_len)*tenkan_mult;
up1 = (h+L)/2 + ATR1;
dn1 = (h+L)/2 - ATR1;
upper1 = iff(C[1] < upper1[1],min(up1,upper1[1]),up1);
lower1 = iff(C[1] > lower1[1],max(dn1,lower1[1]),dn1);
os1 = iff(c > upper1 , 1 ,IFf(c < lower1, 0 , os1[1]));
spt1 = iff(os1 == 1 , lower1 , upper1);
max1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , max(c,max1[1]) , IFf(os1 == 1 , max(c,max1[1]) , spt1));
min1 = iff(CrossUp(c,spt1) or CrossDown(c,spt1) , min(c,min1[1]) , iff(os1 == 0 , min(c,min1[1]) , spt1));
tenkan = avg(max1,min1);
ATR2 = ATR(kijun_len)*kijun_mult;
up2 = (h+L)/2 + ATR2;
dn2 = (h+L)/2 - ATR2;
upper2 = iff(C[1] < upper2[1],min(up2,upper2[1]),up2);
lower2 = iff(C[1] > lower2[1],max(dn2,lower2[1]),dn2);
os2 = iff(c > upper2 , 1 ,IFf(c < lower2, 0 , os2[1]));
spt2 = iff(os2 == 1 , lower2 , upper2);
max2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , max(c,max2[1]) , IFf(os2 == 1 , max(c,max2[1]) , spt2));
min2 = iff(CrossUp(c,spt2) or CrossDown(c,spt2) , min(c,min2[1]) , iff(os2 == 0 , min(c,min2[1]) , spt2));
kijun = avg(max2,min2);
senkouA = avg(kijun,tenkan);
ATR3 = ATR(spanB_len)*spanB_mult;
up3 = (h+L)/2 + ATR3;
dn3 = (h+L)/2 - ATR3;
upper3 = iff(C[1] < upper3[1],min(up3,upper3[1]),up3);
lower3 = iff(C[1] > lower3[1],max(dn3,lower3[1]),dn3);
os3 = iff(c > upper3 , 1 ,IFf(c < lower3, 0 , os3[1]));
spt3 = iff(os3 == 1 , lower3 , upper3);
max3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , max(c,max3[1]) , IFf(os3 == 1 , max(c,max3[1]) , spt3));
min3 = iff(CrossUp(c,spt3) or CrossDown(c,spt3) , min(c,min3[1]) , iff(os3 == 0 , min(c,min3[1]) , spt3));
senkouB = avg(max3,min3);
tenkan_css = Red;
kijun_css = Blue;
cloud_a = teal;
cloud_b = red;
chikou_css = Green;
plot1(tenkan,"Tenkan-Sen",tenkan_css);
plot2(kijun,"Kijun-Sen",kijun_css);
if CrossUp(tenkan,kijun) Then
{
tx = Text_New(sDate,sTime,kijun,"●");
Text_SetStyle(tx,2,1);
}
if CrossDown(tenkan,kijun) Then
{
Text_New(sDate,sTime,kijun,"■//");
Text_SetStyle(tx,2,0);
}
수고많으십니다
문의드릴 내용은 위 수식에서
Tenkan-Sen가 Kijun-Sen보다 높으면 매도청산 매수진입
Tenkan-Sen가 Kijun-Sen보다 낮으면 매수청산 매도진입
하루 100틱 수익이면 매매종료
하루 100틱 손실이면 매매종료
이런 시스템 수식을 부탁드립니다
감사합니다
2024-08-25
1091
글번호 182812
답변완료
문의드립니다.
늘 고맙습니다.
진입을 했는데요. 당일 청산이 안되고 다음날로 넘어가게 되면요.
프로그램을 종료했다가 다시 켜야 될텐데요.
그렇게 되면 기존 포지션은 수동으로 청산해야 하는 건가요?
다시 로그인을 했을 때 자동청산 방법은 무엇이 있나요?
당일 프로그램이 돌아가면서 진입된 포지션이 아닌 익일로 넘어온 포지션을 자동청산하는 방법중 하나의 예로 다음과 같이 작성하려면 어떻게 해야 하나요?
기존 포지션이 있는 것을 익절은 100포, 손절은 50포.
2024-08-25
904
글번호 182811
답변완료
수식 문의드립니다.
10일 전 저가가 250일 최저가고, 10일-당일보다 10일전 저가가 최저가며
현재 주가가 10일 전 최저가의 10%이상 상승종목 검색
2024-08-25
1030
글번호 182810
답변완료
안녕하세요~~~ 야간선물 관련 문의드립니다.
안녕하세요. 혹시 NH트레이더에서 야간선물이 지원될까요?
혹시 야간선물이 지원되는 예스트레이더 증권사가 있을까요?
감사합니다.
2024-08-25
1005
글번호 182809
답변완료
키움종목식을 예스 챠트에 화살표로 표현 할수 있게 부탁드려요
A=LinearRegressionValue(C,9,0);
A1=LinearRegressionValue(A,9,0);
eq=A-A1;
VL=A+eq;
Crossdown(C,VL)
키움종목식을 예스 챠트에 화살표로 표현 할수 있게 부탁드려요
2024-08-25
804
글번호 182808
답변완료
시스템식 요청드립니다.
시스템식에 대해 설명드리자면,
원금(외부변수) 100만원을 기준으로 시작날짜(외부변수)설정하였을 때,
매수는
1차매수는 해당하는 시작날짜의 종가에 원금의 40% 매수,
2차매수는 1차매수가 대비 -3% 원금의 10% 매수,
3차매수는 1차매수가 대비 -6% 원금의 10% 매수,
4차매수는 1차매수가 대비 -9% 원금의 10% 매수,
5차매수는 1차매수가 대비 -12% 원금의 10% 매수,
6차매수는 1차매수가 대비 -15% 원금의 10% 매수,
7차매수는 1차매수가 대비 -18% 원금의 10% 매수
(1차매수가 대비 2~7차는 간격이 -3%인데, 하나씩 설정하는거 말고
한번에 어떻게 설정해야 할지 모르겠습니다.
그냥 생각은 내부 변수로 차수별로 매매 될때마다. dd=dd+1로 만들어서
1차매수가 x -3%(외부변수) x dd 이런식으로 만들면 될까 싶은데 구현이 어렵습니다. )
매도는
1차 : 1차 매수가격 대비 20% 상승하였을 때 보유수량의 50%매도(외부변수),
나머지 수량은 주가는 1차 매수가격 대비 20% 상승 하고 and 1차 이동평균선 60일선(외부변수) 이탈시 모두 청산
2차 : 2차 매수가격 대비 2%(외부변수) 상승시 2차때 산 물량만큼만 청산
3차 : 3차 매수가격 대비 2%(외부변수) 상승시 3차때 산 물량만큼만 청산
4차 : 4차 매수가격 대비 2%(외부변수) 상승시 4차때 산 물량만큼만 청산
5차 : 5차 매수가격 대비 2%(외부변수) 상승시 5차때 산 물량만큼만 청산
6차 : 6차 매수가격 대비 2%(외부변수) 상승시 6차때 산 물량만큼만 청산
7차 : 7차 매수가격 대비 2%(외부변수) 상승시 7차때 산 물량만큼만 청산
손절은 시작날짜대비 6개월 후
시작날짜 + 180일(외부변수)
예를들어 원금 100만원과 시작날짜 8/30일 로 시작하면 종가에 무조건 1차 매수가 40만원 들어가고,
1차 매수가가 1만원이라고 가정했을때, 주가가 하락시 9,700원 되면, 10만원어치 매수됩니다.
그러다가 2프로 상승하면 10만원어치 물량만큼만 팔고, 다시 떨어지면 9,700원에서 다시 매수하게 됩니다.
2024-08-25
803
글번호 182807
답변완료
몇 가지 여쭤보겠습니다
안녕하세요 매번 감사드립니다
수식 공부하다가 궁금한 사항들이 있습니다
질문1)
array 관련인데요
1-1. for 문에서 cnt 를 1부터 하는 경우와 n부터 down 으로 하는 경우가 있는데 어떻게 다른가요?
1-2.
hh[cnt]=hh[cnt-1]
처럼 하는 경우와
아래같이 이전 방의 [1] 에 옮기는 방식이 있는데 차이점이 있는지요. 그 의미가 궁금합니다
단순히 다음 방으로 옮기는 것과 다음방의 [1] 로 가는가는 경우요. [n] 뒤에 붙은 [] 는 하위 구조로 알고 있습니다
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];
질문2)
지표영역의 표시를 봉차트 영역의 같은 지점으로 수직연장 표시를 하는 방법이 있을까요?
예를 들면 crossup(ma(v,20),ma(v,60) 한 지점을 가격차트 봉에 연장된 막대로 표시하는 방식이요. 강조 수식으로 작성해야되나요?
그리고 하나의 지표에서 특정값만 독립지표 영역에 표시하는건 안되죠??
질문3)
아래 수식 해석에 관련된 질문입니다
질문은 ! 로 표시했습니다
m1 = ma(v,20);
m2 = ma(v,60);
if CrossUp(m1,m2) Then
{
t = 1;
hh = h;
For cnt = 49 DownTo 1
{
swing[cnt] = swing[cnt-1];
}
swing[0] = ll;
plot2(swing[0],"2",Orange);
plot4(swing[1],"4",yellow);
!!!!!!
해석을 해보자면 크로스업이 발생하면 array 카운트를 함. 0번 즉 가장 최근봉에는 ll 값을 저장.
여기서 swing[0] 값이 어떻게 나오는지 궁금해서 출력을 해봤는데 if문안에서 아직 ll 값이 지정이 안됐는데 차트상에서 어떻게 저가가 표현이 되는지 궁금합니다.
그리고 swing[1], swing[2] 와 같이 이관된 값을 출력했을때 어떤 값을 의미하는지 알고 싶습니다.
0이 나오는 경우도 있습니다
스샷에 첨부를 해놨습니다.
}
if CrossDown(m1,m2) Then
{
t = -1;
ll = l;
For cnt = 49 DownTo 1
{
swing[cnt] = swing[cnt-1];
}
swing[0] = hh;
}
if t == 1 and h > hh Then
hh = h;
if t == -1 and l < ll Then
ll = l;
if swing[0] > 0 Then
Plot1(swing[0],"swingpoint",IFf(swing[0] > swing[1],Red,Blue));
!!!! 최종적으로 어떤 조건을 나타내려는 건가요???
수식을 제 나름대로 정리를 해보자면,
크로스업 다운이 발생 하는 구간으로 나누고
최근부터 다운 - 업 순서일때는 그 구간의 고점을, 업-다운 이면 저점을 나타내는거 같습니다
이게 맞다면 어떤 원리로 수식이 작성된건지 설명을 부탁드립니다
감사합니다
2024-08-25
841
글번호 182806
답변완료
조건검색
일봉기준으로 최근120일봉 중에서 최고가와 최저가의 변동폭이 10%이내의 범위 안에 드는 캔들이 최소 3개 이상 이여야 하며 해당하는 모두의 캔들(봉)의 색깔을(모두 연한옐로우) 구현하고 싶습니다 초보입니다 수식적용후 해당종목을 찻을수 있는 경로를 알려주시면 감사하겠습니다.
2024-08-27
884
글번호 182805
답변완료
검색식 부탁 드려요
1. 일목균형표 기준선이 20 이평(단순) 을 돌파할때 종목검색식
부탁드립니다.
2024-08-24
810
글번호 182804