커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7689
글번호 230811
답변완료
거래대금 지표선
항상 신속하고 친절하게 답변 주셔서 감사합니다.
이번에는 선물 거래대금에 관한 지표를 좀 요청합니다.
0. 전제
TA = 개장이후 경과의 分
TB = TA x 1천억원
9시 10분 부터 시작합니다.
1. 일일선물 거래대금 누적액의 1분 단위 평균선을 지표 만들고
※ TP = (TB / TA) 의선
2. TP의 값이 1천억 이상이면 지표선을 녹색으로 미만이면 검정색으로
표시되도록 하고 싶습니다.
※ 선의 색이 불가하면 기준선을 1천억으로 지정하도록 해도 무방하겠습니다.
그럼 부탁드립니다.
2011-12-28
563
글번호 46127
답변완료
배열에관한질문
for cnt=0 to 10
if a < b[cnt] and b[cnt] < a then -----------1
c[cnt]=c[cnt]+d; -----------2
이런배열이 있다면 1 번째 줄 cnt가 3일때 참이라면 2번째 줄 cnt에 3이 할당 되는것입니까 아니면 상관없이 0부터 10까지 순차적으로 다시 할당되는 것입니까.
2011-12-28
415
글번호 46126
답변완료
검색식 문의 드립니다.
먼저 감사의 말씀을 드립니다.
1. 날을 제한하지 않고 1,2,3분봉(사용자가 정할 수 있어야 하고요)과 같이 분봉 기준으로 해서 N봉 이내에서 지금이 최대 거래량인 종목을 검색하고 싶습니다.
2. 또한 N봉은 최대 몇 개까지 과거로 돌릴 수 있는지 궁금합니다.
3. 연속 상승이나 연송 하락을 표현할 때,
C[1] < C[2] and C[2] < C[3]
과 같은 방식이 아닌 다른 방법으로 부탁드립니다.
4. 과거 N일동안 전일까지의 종가 중 최저가나 최고가는 어떻게 표현하면 되는지요?
감사합니다.
2011-12-28
384
글번호 46125
답변완료
재문의 드립니다.
안녕하세요.
아래 답변주신 22184 에서(추가된식을 빼고) 아래의 수식이 조건이 맞족해도 신호가
나오지 않아서 수정부탁드렸는데 식이 전혀 수정되지 않고 똑같네요.
다시 검토부탁드립니다.
var : bcond1(false,data1),B1idx(0,data1),bcond2(false,data1),B2idx(0,data1);
var : Scond1(false,data1),S1idx(0,data1),Scond2(false,data1),S2idx(0,data1);
var : Bxcond1(false,data1),Bxidx(0,data1),Bxcond2(false,data1),Bxidx2(0,data1);
var : Sxcond1(false,data1),Sxidx(0,data1),Sxcond2(false,data1),Sxidx2(0,data1);
if MarketPosition == 1 and C >= EntryPrice*1.0085 and C > dayopen*1.005 then{
if data9(iff(C<OpenD(0),1,0)) + data10(iff(C<OpenD(0),1,0)) >= 1 Then{
BXcond1 = true;
Bxidx = data1(index);
}
if Bxcond1 == true and data1(index) <= Bxidx+10 and data1(C< ma(c,5)) Then
exitlong("bxxx");
}
if MarketPosition != 1 Then
Bxcond1 = false;
if MarketPosition == -1 and C <= EntryPrice*0.9915 and C < dayopen*0.9955 then{
if data9(iff(C>OpenD(0),1,0)) + data10(iff(C>OpenD(0),1,0)) >= 1 Then{
SXcond1 = true;
Sxidx = data1(index);
}
if Sxcond1 == true and data1(index) <= Bxidx+10 and data1(C>ma(c,5)) Then
ExitShort("Sxxx");
}
if MarketPosition != -1 Then
Sxcond1 = false;
2011-12-28
359
글번호 46124
해피포인트 님에 의해서 삭제되었습니다.
2011-12-28
65
글번호 46122
답변완료
재요청
12/25 일 올렸던 질문내용인데 수식지왕님의 블로그를 참조 하라고 하셨는데..
내 용이 좀 다른것같습니다..번거롭겠지만 읽어 보시고 답변 부탁드립니다.
항상감사하게 생각하고 있습니다.
그럼 제가 만들고자 한는것을 차례로 적어 보겠습니다.
우선 기본틀은 선물 1분간의 거래량을 1분간 넘나들었던 호가수로 나누어 각 호가 가격에 저장해서 매분마다 누적하여 각 선물가격대의 거래량을 어림잡는 방법입니다.
1. 기준은 선물 1분봉입니다.
2. 1분동안 움직인 호가를 파악한다
ex)1분동안 선물의 저가가 265.50 고가가 265.80 이고 거래량이 60 이라면 고가-저가 =0.3
3. 여기서 나온0.3을 호가단위 0.05로 나눈다면 6 이 나온다 여기서 거래량60을 6으로 나눈다, 그러면 1분간의 가격단위의 평균적 거래량은 10 이다.
4. 그러면 위에서 말한 저가 265.50, 265.55, 265.60.....265.80 고가까지 각 6개의 가격대에 평균거래량 10을 각 저장시킨다.
5, 다음분봉에도 마찬가지 이런 방식으로 가격대와 거래량을 산추하여 저장하고 만약 전봉(기간중 같은가격)과 같은 가격대가 존재한다면 그 가격대의 거래량에 누적하여 저장하는 방법으로 각 가격대별 거래량을 산출하고 지표로 표시하고 싶습니다.
로직을 짜다 각 가격에 거래량을 저장하는 부분에 있어 막히는 부분이 있어 도움요청합니다.
잘 부탁드리겠습니다.
var:저가(0),고가(0),호가수(0), 변동폭(0), 거래량(0);
저가=L;
고가=h;
변동폭=(고가-저가); #선물 1분간의 변동폭
호가수=변동폭/0.05; #호가 개수 파악
거래량=V/호가수; #거래량 평균
요기까지 하고서 그다음이 어렵더라구요,
배열로 하기도 어렵고 아니면 시작가 +- 호가를 미리 지정해야 한는건지
각 가격대에 거래량 저장 시키는 부분에서 막힙니다.
변동폭이 0.3 이라념 호가가 6개가 생기는데 이 각 가격을 로직으로 어떻게 표현해야 한는지 어렵습니다.
아무튼 자세한 설명과 좋은 로직 부탁드리겠습니다.
그리고 지표로 표시가 되지 않는다고 한다면 시스템 식으로라도 작성해서 디버깅 할수 있도록 해주십시요, 무조건 해주셔야 합니다..
2011-12-28
451
글번호 46120
답변완료
문의드립니다.
1번식
var : D2v(0,data2);
if data2(dayindex == 0) Then
D2v = data2(c);
if data2(dayindex > 0) Then
D2v = data2(c-C[1]);
if D2v >= 300 Then
buy();
if D2v <= -300 Then
sell();
2번식
var : D2v(0,data3);
if data3(dayindex == 0) Then
D2v = data3(c);
if data3(dayindex > 0) Then
D2v = data3(c-C[1]);
if D2v >= 300 Then
buy();
if D2v <= -300 Then
sell();
위두식이있습니다.
위 두식의 조건을 동시에만족할때 매수 ,매도하는식을 만들고싶습니다.
2011-12-28
402
글번호 46119
답변완료
주문관련입니다.
예스 트레이더에서 손매매시 "조건부 지정가" 주문은 어떻게 하나요?
IOC와 FOK 밖에 없어서요
2011-12-28
459
글번호 46118
답변완료
수식 수정바랍니다.
제목없음
안녕하세요.
항상 노고가 많으십니다.
아래 수식 검토 및 추가 부탁드립니다.
무엇이 잘못되었는지 원하는 곳에서 신호가 나오지 않습니다.
<청산 조건>
매수후 현재 수익이 종가로 진입가 대비 0.85% 이상이고
현재 종가가 시초가*1.0085 보다 크고 (데이타9가 시초가보다
작거나
데이타10 이 시초가보다 작으면 그
이후
10
봉이내에 c가 5이평보다 작으면 청산
추가-> 만약에 이렇게 청산이후 데이타9나 10이 시초가보다
크고 c가 10과 20이평보다 크면 매수진입
매도후 현재 수익이 종가로 진입가 대비 0.85% 이상이고
현재 종가가 시초가*0.9955 보다 작고 데이타9가 시초가보다
크거나
데이타10 이 시초가보다 크면 그
이후
10
봉이내에 c가 5이평보다
크면 청산
추가-> 만약에 이렇게 청산이후 데이타9나 10이 시초가보다
작고 c가 10과 20이평보다 작으면 매도진입
var : bcond1(false,data1),B1idx(0,data1),bcond2(false,data1),B2idx(0,data1);
var : Scond1(false,data1),S1idx(0,data1),Scond2(false,data1),S2idx(0,data1);
var : Bxcond1(false,data1),Bxidx(0,data1);
var : Sxcond1(false,data1),Sxidx(0,data1);
if MarketPosition == 1 and C >= EntryPrice*1.0085 and C > dayopen*1.005 then{
if data9(iff(C<OpenD(0),1,0)) + data10(iff(C<OpenD(0),1,0)) >= 1 Then{
BXcond1 = true;
Bxidx = data1(index);
}
if Bxcond1 == true and data1(index) <= Bxidx+10 and data1(C< ma(c,5)) Then
exitlong("bxxx");
}
if MarketPosition != 1 Then
Bxcond1 = false;
if MarketPosition == -1 and C <= EntryPrice*0.9915 and C < dayopen*0.9955 then{
if data9(iff(C>OpenD(0),1,0)) +
data10(iff(C>OpenD(0),1,0)) >= 1 Then{
SXcond1 = true;
Sxidx = data1(index);
}
if Sxcond1 == true and data1(index) <= Bxidx+10 and data1(C>ma(c,5)) Then
ExitShort("Sxxx");
}
if MarketPosition != -1 Then
Sxcond1 = false;
2011-12-28
449
글번호 46112