커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7468
글번호 230811
답변완료
확인바랍니다
첫번째 참조할 데이터가 없습니다
라는 메세지가 뜨네요
수정해주세요
Input:기간(300),
구간개수(10),T(0); //최대 20
Var:최대(0),최소(0),j(0),행번호(0),총거래량(0),총거래량2(0),총거래량3(0),총거래량4(0),
가격대거래량(0),가격대거래량2(0),가격대거래량3(0),가격대거래량4(0),시작번호(0),끝번호(0),val1(0),d2(0,data2),d3(0,data3),dsum(0),d4(0,data4),d5(0,data5),d6(0,data6),d7(0,data7),d8(0,data8),d9(0,data9),d10(0,data10);
Array:가격대[21](0),거래량[21](0),거래량2[21](0),거래량3[21](0),거래량4[21](0),비율[21](0),비율2[21](0),비율3[21](0),비율4[21](0),Text[21](0),TL[21](0);
#----------------------------------------------------------------------------------#
# 가격대를 배열변수에 세팅한다.
#----------------------------------------------------------------------------------#
최대 = Data1(Highest(H,기간-1));
최소 = Data1(Lowest(L,기간-1));
Val1 = Data1(Round((최대-최소)/구간개수,0));
D2 = data2(c); // 예스차트에서 종목추가 - 참조 - 개인 선물 순매수 (수량 혹은 금액)
D3 = data3(c); // 외국인
D4 = data4(c); // 이하 4 ~10 까지 나머지 전부 추가 (금융투자, 연기금, 투신 등등)
D5 = data5(c);
D6 = Data6(c);
D7 = data7(c);
D8 = data8(c);
D9 = data9(c);
D10 = data10(c);
dsum = data4(c) + data5(c) + data6(c) + data7(c) + data8(c) + data9(c) + data10(c); //기관 전체의 합계
가격대[0] = 최대;
For 행번호 = 0 To 구간개수-1 {
가격대[행번호+1] = 가격대[행번호] - Val1;
거래량[행번호] = 0;
거래량2[행번호] = 0;
거래량3[행번호] = 0;
거래량4[행번호] = 0;
비율[행번호] = 0;
비율2[행번호] = 0;
비율3[행번호] = 0;
비율4[행번호] = 0;
}
총거래량 = 0;
For j = 0+T To 기간-2 {
총거래량 = 총거래량 + v[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배 - 총 거래량 값
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량 = V[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량[행번호] = 거래량[행번호] + 가격대거래량;
}
}
총거래량2 = 0;
For j = 0+T To 기간-2 {
총거래량2 = 총거래량2 + D2[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배 2 - 개인 거래량 값
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량2 = D2[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량2[행번호] = 거래량2[행번호] + 가격대거래량2;
}
}
총거래량3 = 0;
For j = 0+T To 기간-2 {
총거래량3 = 총거래량3 + D3[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배 3 - 외국인 거래량 값
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량3 = D3[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량3[행번호] = 거래량3[행번호] + 가격대거래량3;
}
}
총거래량4 = 0;
For j = 0+t To 기간-2 {
총거래량4 = 총거래량4 + Dsum[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배 4 - 기관 거래량 값
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량4 = Dsum[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량4[행번호] = 거래량4[행번호] + 가격대거래량4;
}
}
#----------------------------------------------------------------------------------#
# 비율 계산1 - 거래량의 구간별 비율 / 항상 양수 값을 가지므로 0 ~ 100%로 표현 된다.
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율[행번호] = 거래량[행번호] * 100 / abs(총거래량);
}
#----------------------------------------------------------------------------------#
# 비율 계산2 - 개인 순매수 값은 양수/음수가 가능하므로 총량에 따라 합계값이 100%가 된다. (-15% + 185% 등) / 지표에 표현하지 않음
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율2[행번호] = 거래량2[행번호] * 100 / abs(총거래량2);
}
#----------------------------------------------------------------------------------#
# 비율 계산3 - 외인 순매수 값 / 지표에 표현하지 않음
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율3[행번호] = 거래량3[행번호] * 100 / abs(총거래량3);
}
#----------------------------------------------------------------------------------#
# 비율 계산4 - 기관 순매수 값 / 지표에 표현하지 않음
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율4[행번호] = 거래량4[행번호] * 100 / abs(총거래량4);
}
#----------------------------------------------------------------------------------#
# 지표출력
#----------------------------------------------------------------------------------#
for j = 0 to 구간개수-1 {
TL_Delete(TL[j]);
TL[j] = TL_New(Date[기간-2],sTime[기간-2],가격대[j],Date[0],sTime[0],가격대[j]);
Text_Delete(Text[j]);
Text[j] = Text_New(date[0], stime[0], (가격대[j]+가격대[j+1])/2, "거래량"+ NumToStr(거래량[j],0)+" ("+NumToStr(비율[j],2)+"%) / 개인"+ NumToStr(거래량2[j],0)+ " / 외인" + NumToStr(거래량3[j],0) + " / 기관" + NumToStr(거래량4[j],0)+ "("+NumToStr(가격대[j+1],0)+" ~ "+NumToStr(가격대[j],0)+")");
Text_SetStyle(Text[j], 1, 2);
}
j = 구간개수;
TL_Delete(TL[j]);
TL[j] = TL_New(Date[기간-2],sTime[기간-2],가격대[j],Date[0],sTime[0],가격대[j]);
2015-05-05
199
글번호 85714
답변완료
궁금합니다..
음봉이후 양봉이 연속2개 나오면 2번째 양봉 종가로 매수하고 수익은 10틱으로 하고
손절은 첫번째 양봉의 저가를 이탈하면 손절하라는 수식은 뭔가요?
그리고
양봉이후 음봉이 연속2개 나오면 2번째 음봉 종가로 매도하고 수익은 10틱으로 하고
손절은 첫번째 음봉의 고가를 돌파하면 손절하라는 수식은 원가요?
2015-05-05
156
글번호 85713
답변완료
시스템식 질문입니다.
시스템 시험적용
-강제청산 : 목표수익 체크, 당일청산 체크
-설정 : 목표수익 0.4p , 당일청산 pm03:00
-질문 : 예를 들어 당일 데이트레이딩을 목적으로 시스템식이 진행될때
당일 누적수익이 1p 되면 그날 거래 종료되고 차트에는 더이상 매수 매도
화살표가 안나오게 하려면 어떤 수식을 사용해야 하죠?
보통 청산시간(pm03:00)을 정해놓으면 그때까지 거래가 계속 진행되는데,
만약 0.4p수익이 연속으로 3번 나오면 1.2p가 되니(다른경우로 1p이상일 경우도 있
습니다) 그때 자동으로 거래가 종료되며 시스템은 더이상 거래하지 않고 매수 매
도 화살표도 안나오게끔 하고 싶습니다. 누적 수익의 근거는 시스템 성능보고서를
보면 거래내역에서 거래순서대로 내역이 나오게 되니 그것을 근거로 당일 누적수익
이 1.0p 이상이면 모든 당일 거래가 종료되며 시스템은 다음날에 작동하게 되는경
우를 원하는 것입니다.
소중한 답변 기다리겠습니다. 감사합니다.
2015-05-05
164
글번호 85712
답변완료
특정요일, 특정날짜에만 매매하는 함수 요청
특정요일이나 특정 날짜를 제외하는 함수를 요청드립니다.
1. 매주 수요일에는 진입금지 함수
2. 매월 첫번째 금요일에는 진입금지 함수
3. 매월 5일에는 진입금지 함수
4. 매월 수요일과 첫번째 금요일, 매월 5일은 진입을 금지하는 함수
이렇게 요청드립니다.
2015-05-05
139
글번호 85711
답변완료
지표수식 부탁드려요
price channel의 지표를 조금 다르게 변형 시키고자 합니다
price channel의 지표는 현재 Top,Bot 두개의 선으로 되어있잖아요
이걸 눈의 확 보이게 밸트 처럼 띠 모양으로 만들고 각각 색깔도 넣고 싶습니다
2015-05-05
176
글번호 85710
답변완료
부탁합니다
아래의 조건에 부합하는 시스템 수식을 부탁 드립니다.
이동평균선 var1 에서
가.준비단계
A. 매도 진입 후 var1 값들을 배열변수를 사용하여 저장 합니다.
B. 매수 진입 후 var1 값들을 배열변수를 사용하여 저장 합니다.
나. 진입
1. 매수
준비단계 A의 저장 된 var1 값들 중 가장 낮은 값에서 매수진입
2. 매도
준비단계 B의 저장 된 var1 값들 중 가장 높은 값에서 매도진입
2015-05-06
133
글번호 85709
답변완료
지표식 부탁드립니다.
아래와 같이 부탁드렸던 지표를 만들어주셨습니다.
감사드리고요,
직전 구간의 최고가,최저가를 현재의 상태에서 표시하게 되었는데 직전구간의 고가와 저가사이에 색깔채우기를 하려고 하는데 현재가 골드크로스 상태면 고가와 저가사이가 빨강, 현재의 상태가 데드상태면 파랑 이렇게 채우기를 할수 있을까요?
===== 아래 ====
안녕하세요
예스스탁입니다.
input : sto1(60),sto2(30),sto3(30);
var : HH(0),LL(0),HH1(0),LL1(0);
var1 = StochasticsK(sto1,sto2);
var2 = StochasticsD(sto1,sto2,sto3);
if crossup(var1,var2) Then{
HH = H;
LL = L;
HH1 = HH[1];
LL1 = LL[1];
}
if CrossDown(var1,var2) Then{
HH = H;
LL = L;
HH1 = HH[1];
LL1 = LL[1];
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
plot1(HH1,"직전크로스구간최고가");
plot2(LL1,"직전크로스구간최고가");
즐거운 하루되세요
> 바쁜후니 님이 쓴 글입니다.
> 제목 : 지표부탁드립니다.
> 예를들어 기간이 60, 30,30 인 스토케스틱이
골드, 데드를 반복하는데 골드크로스가 됐을때 바로전의 데드구간의 고가와 저가가 선으로
표시되었으면 합니다.
반대로 데드크로스가 됐을때는 바로전의 골드크로스 구간의 고가와 저가가 현재 데드가 된
시점부터 표시가 되었으면 합니다.
수고하세요^^
2015-05-05
145
글번호 85708
회원 님에 의해서 삭제되었습니다.
2015-05-05
5
글번호 85707
답변완료
당일 최대 거래량...
분봉에서 당일 최대 거래량 갱신시 신호 나오게 하는데
양봉이면 매수신호, 음봉이면 매도신호
나오게 해 주세요. 감사합니다.
2015-05-05
217
글번호 85706