커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4355
글번호 230811
답변완료
좋은 주말 되십시요^^
분봉거래량이 100개중 최대일때 매수 로직좀 부탁 드립니다
전일 동시간대비 거래랴미 800프로 이상 이면서
분봉 거래량이 100개중 최대이면 매수 입니다
고맙습니다
좋은 주말 되십시요.
2017-07-07
132
글번호 111112
답변완료
이동평균선
안녕하세요?
그림과 같이 5이평선의 고가와 저가 라인을 그린것 입니다
지표는 "고가라인"을 "N값"만큼 5이평위에 그려지게 부탁드립니다,
"저가라인"을 "N값"만큼 5이평아래에 그려지게 부탁드립니다.
N 값은 임의의 변수로 사용하고 싶습니다....(임의로 조정가능하게요)
기존사용수식은 아래와 같습니다 이수식을 수정해주시기 부탁드립니다
input : P(5);
var1 = ma(High,P);
var2 = ma(C,P);
var3 = ma(Low,P);
// 고가이평
if var1 > var1[1] Then
value1 = 1;
if var1 < var1[1] Then
value1 = -1;
if value1 == 1 Then
plot1(var1,"H기준",RED);
else
plot1(var1,"H기준",BLUE);
// 저가이평
if Var3 > Var3[1] Then
Value3 = 1;
if Var3 < Var3[1] Then
Value3 = -1;
if Value3 == 1 Then
plot2(Var3,"L기준",RED);
else
plot2(Var3,"L기준",BLUE);
2017-07-07
265
글번호 111106
답변완료
행복; 지표식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
지표식 관련입니다
<< 지표 조건 >>
- 주기; 100틱
- 10시 ~ 15시 사이에
- 10분 간격의 시가, 고가, 저가, 종가
- 예) 10시 0분 부터 10시 9분 59초 까지
10시 10분 부터 10시 19분 59초 까지
10시 20분 부터 10시 29분 59초 까지
10시 30분 부터 10시 39분 59초 까지
10시 40분 부터 10시 49분 59초 까지
.
.
.
.
14시 40분 부터 14시 49분 59초 까지
14시 50분 부터 14시 59분 59초 까지
에 대하여 << 아래 >>와 같이 답변을 주셨습니다
==========<< 아래 시작 >>==================================
input : N(5);
var : HH(0),LL(0),cnt(0);
var1 = TimeToMinutes(stime)%N;
if stime >= 110000 and stime <= 150000 then{
if var1 < var1[1] Then{
HH = h;
LL = L;
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
}
plot1(HH);
plot2(LL);
==========<< 아래 끝 >>==================================
<< 질문 >>
- 고가와 저가는 표시가 되어 있습니다
- 시가와 종가는 어떻게 표시해야 하는지요?
지표식 작성 바랍니다
수고하십시요^^
2017-07-07
128
글번호 111105
답변완료
문의드립니다.
아래의 질문 후 관리자님의 답변을 아래와 같이 받았습니다.
=====================================================
주식 분봉에서
var12 = (c/c[1]-1)*100; # 당봉의 상승폭
if v== highest(v,60) &&
var12==highest(var12,60) &&
var12>=2 # 당봉의 상승폭이 2% 이상
Then
위 조건을 만족하는 봉을 기준봉이라 하면
기준봉 다음봉이 기준봉의 고점 보다 크면
1. 다음봉의 고점 - 기준봉의 저점
2. 기준봉 거래량 + 다음봉 거래량
기준봉 이후 고점이 계속 높아지면 마지막 고점까지
1. 마지막 고점봉의 고점 - 기준봉의 저점
2. 기준봉 거래량 + 다음봉 거래량...+마지막고점봉의 거래량
수식을 알려주세요.
====================================================
var : idx(0),LL(0);
var12 = (c/c[1]-1)*100;
#조건만족(기준봉)
if v== highest(v,60) && var12==highest(var12,60) && var12>=2 then{
#봉번호
idx = index;
#저가저장
LL = L;
#변수는 초기값
value1 = 0;
value2 = v;
#조건만족 파악 변수 Condition1은 true
Condition1 = true;
}
#조건만족봉 다음봉부터
if index > idx then{
#고가가 작아지면 조건해제
if H < H[1] Then
Condition1 = false;
#Condition1이 true일때만
if Condition1 == true Then{
#현재봉 고점-기준봉저가
value1 = H-LL;
#거래량은 누적
value2 = value2+V;
} }
즐거운 하루되세요
====================================================
< 새로운 질문 >
위 답변 받은 value1과 value2를 아래의 수식 속의 value4처럼
기준봉에서 고점이 끝나는 봉의 다음봉부터 value5+60까지 고정값으로 사용하고 싶습니다.
var12 = (c/c[1]-1)*100; # 당봉의 상승폭
if v== highest(v,60) &&
var12==highest(var12,60) &&
var12>=2 # 당봉의 상승폭이 2% 이상
Then {
Condition1 = true;
value4 = v;
value5 = index;
}
var33 = value4 /2;
if Condition1 == true and
index >= value5+1 and index <= value5+60
Then
Plot1(var33, "기준봉 거래량 절반값");
수고하세요.
2017-07-07
132
글번호 111104
답변완료
진입시간 제한
아래 수식에서
새벽 2시부터는 진입을 제한하는 수식을 추가해 주십시요.
거래조절에도 반영해주세요.
input :진입제한 시간(020000)
늘 고맙습니다.
**************************
input : 당일최대진입횟수(1),B1(0.55),S1(0.65),시작시간(233730),종료시간(035300);
var : C2(0,data1),T1(0,data1),entry(0,data1);
var : Tcond(False,data1);
if 시작시간 == 0 and date != date[1] and bdate == bdate[1] Then{
tcond = true;
T1 = TotalTrades;
}
if 시작시간 > 0 and (stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간)) Then{
tcond = true;
T1 = TotalTrades;
}
if 종료시간 == 0 and date != date[1] and bdate == bdate[1] Then{
tcond = false;
if MarketPosition == 1 Then
exitlong();
if MarketPosition == -1 Then
ExitShort();
}
if 종료시간 > 0 and (time == 종료시간 or (time > 종료시간 and time[1] < 종료시간)) Then{
tcond = false;
if MarketPosition == 1 Then
exitlong();
if MarketPosition == -1 Then
ExitShort();
}
C2 = data2(C);
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = TotalTrades-T1+1;
if Tcond == true then{
if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and HighD(0) > HighD(0)[1] and HighD(0)-LowD(0) >= B1) Then{
buy("b");
}
if entry < 당일최대진입횟수 and data2(Bdate == Bdate[1] and Lowd(0) < LowD(0)[1] and HighD(0)-LowD(0) >= S1) Then{
sell("s");
}
}
2017-07-07
137
글번호 111103
답변완료
지표식 부탁드립니다.
항상 도움 주셔서 감사합니다.
요청식)
일정기간 예를 들면 20봉 동안의 종가가 일정 범위에
가장 많이 있는 봉들의 평균값을 구하고 싶습니다.
범위는 20봉 동안의 ((최고가-현재봉)/(최고가-최저가))*100 하여
총 0%~100%까지 총 10개의 범위를 나누어 줍니다.
20개 봉들을 각각 위 식으로 계산하여 해당 범위에 봉들의
갯수를 카운트 하고 해당 범위의 값들을 더한후 갯수로 나누어 평균값을 구합니다.
그 다음 10개 범위에서 가장 갯수가 많은 범위의 평균값을 지표로 표현하고 싶습니다.
아래는 제가 작성한 식인데 평균값이 표현되지 않습니다.
왜 평균값이 안나오는지 수식 검토 부탁드립니다.
input : period(20) ;
var : hi(0), lo(0), gap(0) ;
var : count(0), temp(0) ;
var : num(0),num2(0),num3(0),num4(0),num5(0),num6(0),num7(0),num8(0),num9(0),num10(0);
var : sum(0),sum2(0),sum3(0),sum4(0),sum5(0),sum6(0),sum7(0),sum8(0),sum9(0),sum10(0) ;
var : cnt(0),hh(0),hii(0);
Array : VV[11](0);
hi = highest(C,period) ;
lo = lowest(C,period) ;
gap = hi-lo ;
for count = 1 to period {
temp = ((hi- c[count])/gap)*100 ;
if temp >= 90 then
num = num + 1 ;
sum = sum + c[count] ;
if temp < 90 and temp >= 80 then
num2 = num2 + 1 ;
sum2 = sum2 + c[count] ;
if temp < 80 and temp >= 70 then
num3 = num3 + 1 ;
sum3 = sum3 + c[count] ;
if temp < 70 and temp >= 60 then
num4 = num4 + 1 ;
sum4 = sum4 + c[count] ;
if temp < 60 and temp >= 50 then
num5 = num5 + 1 ;
sum5 = sum5 + c[count] ;
if temp < 50 and temp >= 40 then
num6 = num6 + 1 ;
sum6 = sum6 + c[count] ;
if temp < 40 and temp >= 30 then
num7 = num7 + 1 ;
sum7 = sum7 + c[count] ;
if temp < 30 and temp >= 20 then
num8 = num8 + 1 ;
sum8 = sum8 + c[count] ;
if temp < 20 and temp >= 10 then
num9 = num9 + 1 ;
sum9 = sum9 + c[count] ;
if temp < 10 then
num10 = num10 + 1 ;
sum10 = sum10 + c[count] ;
}
vv[1] = sum/num ;
vv[2] = sum2/num2 ;
vv[3] = sum3/num3 ;
vv[4] = sum4/num4 ;
vv[5] = sum5/num5 ;
vv[6] = sum6/num6 ;
vv[7] = sum7/num7 ;
vv[8] = sum8/num8 ;
vv[9] = sum9/num9 ;
vv[10] = sum10/num10 ;
HH = VV[1];
Hii = 1;
for cnt = 1 to 10{
if VV[cnt] > HH Then{
HH = VV[cnt];
Hii = cnt;
}
}
Plot1(vv[Hii]) ;
2017-07-06
132
글번호 111102
답변완료
가격박스 수식 문의 드립니다.
가격박스 관련 예전 글을 검색하다가
http://www.yesstock.com/board/view.asp?db=board100036&num=37142&ref=37127&pageno=1&startpage=1&Kind=1&Ext=0&Sort=
이글을 읽었습니다.
키움의 영웅문에서는 설정되는 가격박스와 똑같이 나오게 하고 싶은데요.
대신증권의 경우
1. 표준편차 계산구간을 '전구간' 으로
2. 표준편차기간을 600 으로
설정하면 영웅문과 동일하게 나오더군요.
예스트레이더에도 동일하게 나오게 하고 싶은데 방법이 없을까요?
2017-07-06
247
글번호 111101
관리자에 의해 예스스팟 QnA로 이동되었습니다
2017-07-06
7
글번호 111100
답변완료
수식 문의 드립니다...^^
수고가 많으시죠...^^
수식 문의 드립니다...
MACD (48. 104. 36) macd (12 .26 .9)
1 MACD 기준선이 0선이상이고 macd 골든크로스에 매수 MACD 기준선 0선하락돌파에 매수청산
2 MACD 기준선이 0선이하이고 macd 데드크로스에 매도 MACD 기준선 0선상향돌파에 매도청산
이상입니다...수고하세요
2017-07-06
134
글번호 111099