커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7916
글번호 230811
주봉참조 사용자 함수
주봉데이터 참조할 수 있는 사용자 함수를 의뢰하셨는데 이미 뒷페이지로 넘어갔기에 답변 글로 올리지 않고 새로이 올립니다.
풀이를 생각해보니 재미있을 것 같아 만들어 보았습니다.
원리는 월요일부터 금요일까지 1~5로 표시하면 분봉에서
1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 로 표시됩니다.
위 배열에서 주가 바뀐 것을 어떻게 알 수 있을까요?
5에서 1로 바뀌는 시점이 주종과 주초입니다.
제가 얼마 전에 소개한 요일 체크 함수를 이용하여 day()[1] > day()를 만족하는 시점을 찾으면 그것이 주초의 좌표가 됩니다.
MRO함수의 사용법은 지난 번 글에서 이미 소개하였습니다.
전주 종가는 지금의 주초에서 한개 이전봉의 종가가 될 것이고 전주 시가는 day()[1] > day()를 만족하는 두번째 좌표가 됩니다.
이런 식으로 전주 시가와 전주 종가를 구하고 전주 시가 좌표에서 전주 종가 좌표까지의 고저가를 체크하여 주봉 고가와 주봉 저가를 구합니다.
highest함수를 사용해서 간단하게 구해질 줄 알았는데 지표식을 적용하면 에러가 발생해서 for문으로 계산해야만 했습니다.
해당 기간을 비교 검색해야 하기 때문에 연산 시간이 걸리는 흠이 있습니다.
글로는 쉬운데 저도 시행착오를 겪으면서 장장 3시간째 작업중입니다.
우선 지표식으로 만들어 테스트하고 다시 사용자함수로 만드는 과정에서 예트 프로가 아직은 사용자함수에서 사용자함수를 불러 쓰질 못해 다시 재정의해줘야 되더군요.
다음은 사용자함수로 만들기 전에 지표식으로 만들어 테스트하던 수식입니다.
검증을 위해서는 day()라는 사용자함수가 있어야 하며 제 홈피에 올렸져 있습니다.
input:n(1);
var:period(0),cnt(0),occ1(0),occ2(0),x1(0),x2(0),WeekClose(0),WeekOpen(0),WeekHigh(0),WeekLow(0);
period = ceiling(375/BarInterval())*5*(n+1);
occ1 = n + 1;
x1 = mro(day()[1] > day(),period,occ1);
if n == 0 then
{
occ2 = 1;
x2 = 0;
}
else
{
occ2 = n;
x2 = mro(day()[1] > day(),period,occ2)+1;
}
WeekOpen = o[x1];
WeekClose = c[x2];
weekhigh = 0;
for cnt = x2 to x1 begin
if WeekHigh < h[cnt] then WeekHigh = h[cnt];
end;
weeklow = 10000000000;
for cnt = x2 to x1 begin
if Weeklow > l[cnt] then Weeklow = l[cnt];
end;
plot1(WeekOpen,"o");
plot2(WeekClose,"c");
plot3(Weekhigh,"h");
plot4(Weeklow,"l");
위 내용을 분리해서 각각의 사용자 함수로 만듭니다.
day() 사용자 함수를 불러 쓸 수 없어 재정의해야 하는 불편함은 있습니다.
완성된 사용자함수식과 위 수식 설명은 제 홈피에서 확인하시기 바랍니다.
조회 횟수라도 많아야 글 올리는 맛이 나는 법이니까요.
2003-07-10
5105
글번호 341
종목검색식 문의
강력한 기능을 탑재한 예스트레이더 프로의 탄생을 축하드리며 다음 종목 검색식을 문의 드립니다.
[검색조건]
1) 볼린저밴드(20,2)의 위밴드와 아래밴드의 차이가
현주가의 20% 이하 이고
2) 20MA, 60MA, 90MA 가 정배열이고
3) 5MA가 현재캔들 이전 3번째 캔들부터 20MA와 60MA 사이에 위치 하고
4) 현재캔들과 바로전 캔들이 20MA와 60MA 사이에 위치 하고
5) 현재캔들과 바로전 캔들의 시가와 종가의 차이가 5%이내
미리 감사드립니다.
2003-07-10
1731
글번호 339
수식부탁합니다..
안녕하세요
아래의 수식 부탁 합니다
1. 당일 최고점과 당일 최저점 과의 봉갯수를 알수 있는 수식
2. 당일 최고점과 현재위치 기준 직전 최저점과의 봉갯수를 알수 있는 수식
3. 현재 위치에서 포지션이 매수상태 인지 매도상태인지를 파악 하는 수식
4. 위 3번의 포지션 상태가 파악 된다면 진입 가격을 알수 있는 수식.
2003-07-10
4176
글번호 336
시스템 함수 (즉시매도, 즉시매수 함수) 추가해 주세요!
현재 프로에 시스템 함수 ( sell, exitshort, exitlong, buy ) 가 있습니다.
즉시매도 (손절매) 함수와 즉시매수 함수 를 추가해 주세요!
진입시점과 손절시점 타이밍이 너무 늦어요 (이것 없어면 시스템트레이딩이 될수없음)
그리고 기본챠트속성 창 의 삼선전환도 공식좀 알켜주세요 (가능한가요?)
2003-07-09
10146
글번호 334
로직 체크 부탁합니다...
아래 로직을 돌렸는데 매수 신호가 차트에 표시가 않됩니다.
var : cnt(0), rcnt(0), idx(0),
counter3(true);
//searching low pivot3
cnt = 0; rcnt = 0;
idx = index;
while counter3 begin
//checking out of range....
idx = idx - 1;
if idx < 0 then
begin
counter3 = false;
end;
if cnt >= 3 then counter3 = false;
if (low[cnt] > low[cnt+1]) then
begin //found low p3
cnt = cnt + 1;
rcnt = rcnt + 1;
end;
else
begin
counter3 = false;
end;
end;
if rcnt >= 3 then buy();
로직 에러는 안나오는데요. 차트에 신호 표시가 않됩니다. 무엇이 문제 인가요?
수고하십시오..
2003-07-08
12117
글번호 330
초보가 질문합니다
안녕 하세요.
문의 사항은요.
가) 종목 검색식
1.스토케스틱(20.12.12) 20위 상승증
2.스토케스틱(10.6.6) 20위 상승중
3.스토케스틱(5.3.3.) 하락에서 상승전환.
4.거래량 전일기준(5일)이동평균 30만주 이상
상기 1.2.3.4항을 충족하는 검색식을 부탁합니다.
나)시스템적용(F9)
1.위 .가)종목 검색식에 충족하면 매수신호.
2.스토케스틱(10.6.6)하락 전환하면 매도신호.
상기 식을 부탁합니다.
2003-07-09
10642
글번호 328
주봉에 대한 데이터 참조
안녕하세요 ?
dayopen, dayhigh,daylow,dayclose 함수가 추가되어 일봉데이터를 참조할 수 있어서 매우 좋습니다. 그런데 주봉데이터 참조가 안되서 불편합니다.
사용자 함수로 라도 주봉데이터를 참조할 수 있도록 수식을 만들어주세요.
대신에는 일봉뿐만 아니라 주봉,월봉,년봉도 참조 할 수 있도록 되어 있던데 ...
예스트레이드 프로에서 지원될 줄 알았는데 안되네요.
weekopen, weekhigh, weeklow, weekclose 이렇게 부탁합니다.
가능하다면 월봉도 부탁드립니다.
그럼 즐거운 하루 되세요.
2003-07-08
7447
글번호 326
다음과 같은 수식이 가능한가요
종목검색수식으로
최근전고점이 20이평선위에 있고 전고점의 거래량이 전고점前일 거래량의 50%이하이고
현재 종가가 20 이평선보다 3-5%정도 밑(역배열)에 있는 종목검색
하나의 수식으로 안되면 두개의 수식으로도 가능
부탁합니다..
최근전고점을 어떻게 작성해야할지 ..
2003-07-08
4215
글번호 324
오류 수정부탁합니다
다음 간단수식 오류 수정안되어
1. 오류확인부탁드리며(오류내용 사용자함수: c - 5줄 )
2. 5분봉에 다음 수식 적용하려는데 당일중에 최초 한번만 적용되도록하는 수식 추가 부탁합니다
input:period(5),period1(10),period2(20),period3(60),period4(120);
var: price(17050);
if c > price && c(1) < price
then buy();
if crossdown(c,ma(c,period3))
then exitlong();
2003-07-08
4037
글번호 322