커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6549
글번호 230811
답변완료
수식 부탁합니다
지표식으로 볼린저밴드가 축소되어 가장 축소되었을때 지표식으로 나타낼 수 있도록
지표식 부탁합니다
Band Width가 2.0보다 작으면서 50봉 중에 가장 Band Width가 작은 경우
2015-08-07
126
글번호 89269
답변완료
진입/퇴출 수량 설정
시스템 트레이딩 설정에서 비용/수량메뉴에
기본거래수량이 아닌 함수로써 수량을 셋팅하고 싶습니다.
평소 1계약 적용하고 2연패 발생시에만 2계약 진입/퇴출 함수를 넣고 싶습니다.
3연패 발생시 역시 1계약 매매입니다.
2015-08-07
137
글번호 89268
부양가족 님에 의해서 삭제되었습니다.
2015-08-06
0
글번호 89267
부양가족 님에 의해서 삭제되었습니다.
2015-08-06
1
글번호 89266
답변완료
질문....
지표중 a,b,c라는 세가지 plot가 있다고 가정하고
a : 100
b : -50
c : -100
이렇게 세가지 지표선이 있다면
세가지선의 이격을 구하고 싶은데요
+,- 값이 섞여있어서 제대로 된 값을 구하기 힘드네요
어떻게 해야 하나요?
2015-08-06
128
글번호 89264
롤링스 님에 의해서 삭제되었습니다.
2015-08-06
9
글번호 89261
답변완료
스톡캐스틱 매매 추가수식요청
김과장님 아래스톡캐스틱매매에서 ===>
스톡캐스틱기준선20이하에서 스톡K가 스톡D를 골든크로스시-- 매수진입하고
스톡캐스틱기준선 80이상에서 스톡K가 스톡D를 데드크로스시--매도진입
하도록 추가수식을 넣어주시기면 감사하겠습니다
====================================================
Input : Period(25), Period1(6), Period2(6);
value1 = StochasticsK(Period,Period1);
value2 = StochasticsD(Period,Period1,Period2);
# 매수/매도청산
If CrossUP(value1, value2) Then
{
Buy();
}
# 매도/매수청산
If CrossDown(value1, value2) Then
{
sell();
}
2015-08-06
136
글번호 89255
정밀타격수 님에 의해서 삭제되었습니다.
2015-08-06
0
글번호 89254
답변완료
직전저점고점의목표치를 계산하고싶습니다
아래수식을 이용한 직전고점저점을 이용하여 위아래방향에 목표점을 내고자 합니다
감사합니다 또전에 올려주신 시스템수식은 아무런 신호가 나오지 않았읍니다 검토한번 부탁드립니다 더운 날씨에 감사합니다
input : 시작시간(174000),종료시간(030000);
input : 지표출력시작시간(100000),지표출력종료시간(170000);
var : HH(0),LL(0);
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{
HH = H;
LL = L;
}
if 시작시간 > 종료시간 then{
if stime >= 시작시간 or stime <= 종료시간 Then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
}
if 시작시간 < 종료시간 then{
if stime >= 시작시간 and stime <= 종료시간 Then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
}
if stime >= 지표출력시작시간 and stime < 지표출력종료시간 and HH > 0 and LL > 0 then{
var1 = HH+(HH-LL)*1.618;
var2 = HH+(HH-LL)*2.000;
var3 = HH+(HH-LL)*2.618;
var4 = HH+(HH-LL)*3.000;
var5 = LL-(HH-LL)*1.618;
var6 = LL-(HH-LL)*2.000;
var7 = LL-(HH-LL)*2.618;
var8 = LL-(HH-LL)*3.000;
plot1(var1,"+1.618");
plot2(var2,"+2.000");
plot3(var3,"+2.618");
plot4(var4,"+3.000");
plot5(var5,"-1.618");
plot6(var6,"-2.000");
plot7(var7,"-2.618");
plot8(var8,"-3.000");
}
이런식으로 위아래 양방향으로 내고 싶습니다
시스템식~
input : 시작시간(174000),종료시간(030000);
input : 지표출력시작시간(100000),지표출력종료시간(170000);
var : HH(0),LL(0);
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{
HH = H;
LL = L;
}
if 시작시간 > 종료시간 then{
if stime >= 시작시간 or stime <= 종료시간 Then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
}
if 시작시간 < 종료시간 then{
if stime >= 시작시간 and stime <= 종료시간 Then{
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
}
if stime >= 지표출력시작시간 and stime < 지표출력종료시간 and HH > 0 and LL > 0 then{
var1 = HH+(HH-LL)*1.618;
var2 = HH+(HH-LL)*2.000;
var3 = HH+(HH-LL)*2.618;
var4 = HH+(HH-LL)*3.000;
var5 = LL-(HH-LL)*1.618;
var6 = LL-(HH-LL)*2.000;
var7 = LL-(HH-LL)*2.618;
var8 = LL-(HH-LL)*3.000;
if crossdown(c,var1) Then
buy();
if Crossup(c,var5) Then
sell();
고점저점의예식)
input:left(5),right(5),구분(1);
var:j(0),prehv(0),prelv(0),prehb(0),prelb(0),tmpv(0),tmpb(0),
ovr(0),반등(1),반락(-1);
array:hv[10](0),lv[10](0),hb[10](0),lb[10](0),
r[8](0),fr[8](0);
r[0] = 0;
r[1] = 0.236;
r[2] = 0.382;
r[3] = 0.50;
r[4] = 0.618;
r[5] = 0.764;
r[6] = 1;
r[7] = 1.618;
#==============================================================================#
# 변곡점 계산
#==============================================================================#
//파동선 작성 설명은 자주 했으므로 생략
if highest(h[1],left) <= h then {
prehv = h;
prehb = 0;
}
else
prehb = prehb + 1;
if lowest(l[1],left) >= l then {
prelv = l;
prelb = 0;
}
else
prelb = prelb + 1;
for j = 1 to 9 begin
hb[j] = hb[j] + 1;
lb[j] = lb[j] + 1;
end;
if prehb == right and highest(h,right) <= h[right] then {
for j = 9 downto 2 {
hv[j] = hv[j-1];
hb[j] = hb[j-1];
}
hv[1] = prehv;
hb[1] = prehb;
if lb[1] > hb[2] then {
for j = 9 downto 2 {
lv[j] = lv[j-1];
lb[j] = lb[j-1];
}
tmpv = 0;
for j = hb[1] + 1 to hb[2] - 1 {
if tmpv > l[j] or tmpv ==0 then {
tmpv = l[j];
tmpb = j;
}
}
lv[1] = tmpv;
lb[1] = tmpb;
}
}
if prelb == right and lowest(l,right) >= l[right] then {
for j = 9 downto 2 {
lv[j] = lv[j-1];
lb[j] = lb[j-1];
}
lv[1] = prelv;
lb[1] = prelb;
if hb[1] > lb[2] then {
for j = 9 downto 2 {
hv[j] = hv[j-1];
hb[j] = hb[j-1];
}
tmpv = 0;
for j = lb[1] + 1 to lb[2] - 1 {
if tmpv < h[j] or tmpv ==0 then {
tmpv = h[j];
tmpb = j;
}
}
hv[1] = tmpv;
hb[1] = tmpb;
}
}
#==============================================================================#
# Fibonacci Retracements 계산
#==============================================================================#
//반등과 반락을 모두 표시하게 되면 복잡해지므로 한 방향만 표시하는 것이 옳음
if 구분 == 반등 then {
if crossup(lb[1],hb[1]) then
{
for j = 0 to 7 begin
fr[j] = hv[1] - (hv[1] - lv[1]) * r[j];
end;
ovr = 0;
}
if fr[6]>l then ovr = 1;
}
if 구분 == 반락 then {
if crossup(hb[1],lb[1]) then
{
for j = 0 to 7 begin
fr[j] = lv[1] + (hv[1] - lv[1]) * r[j];
end;
ovr = 0;
}
if fr[6]>l then ovr = 1;
}
#==============================================================================#
# 지표출력
#==============================================================================#
if hb[1]==right then plot1(hv[1],"파동선",GREEN);
if lb[1]==right then plot1(lv[1],"파동선",GREEN);
plot2(fr[0],"0%",BLUE);
plot3(fr[1],"23.6%",RED);
plot4(fr[2],"38.2%",MAGENTA);
plot5(fr[3],"50%",GRAY);
plot6(fr[4],"61.8%",LBLUE);
plot7(fr[5],"76.4%",LGREEN);
plot8(fr[6],"100%",PINK);
if ovr then plot9(fr[7],"161.8%",LMAGENTA); //점 그래프로 표시
2015-08-06
248
글번호 89253