커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7424
글번호 230811
답변완료
수식이 어떤게 틀린지 부탁 좀 드립니다.
첨부한 LG디스플레이 주봉에서 맨 오른쪽 세번째 화살표(11월3일) 기준
전봉부터 20봉동안 제일 높은 종가의 봉수를 리턴해서 (Var1)
제일 높은 종가 봉 기준으로 20-var1-1 (Var2) 봉전까지 제일 낮은 종가를 리턴하고 싶습니다.
그렇게 해서 짠게 아래 수식인데
11월3일 기준으로 Var5 와 Var6 이 같은 값이 나와야 하는데
그렇지가 않은 데 왜 그럴까요?
var1 = Nthhighestbar(1,c[1],20);
var2 = 20-var1-1;
var3 = highest(c[1],20)/(lowest(c[var1+1],20-var1))-1;
var4 = Nthhighest(1,c[1],20);
var5 = Nthlowest(1,c[6],14);
var6 = nthlowest(1,c[var1+1],var2);
var7 = highest(c[1],20)/(lowest(c[1],14))-1;
var8 = var4/var6-1;
Plot1(var1, "실험1");
Plot2(var2, "실험2");
//Plot3(var3, "실험3");
//Plot4(var4, "실험4");
Plot5(var5, "실험5");
Plot6(var6, "실험6");
//Plot7(var7, "실험7");
Plot8(var8, "실험7");
2016-05-09
145
글번호 97804
곽민수 님에 의해서 삭제되었습니다.
2016-05-09
0
글번호 97803
답변완료
수식부탁드립니다.
이평선 5일 선이 20일선 보다 아래에 있고, 그 5일선이 1봉전 하락추세, 0봉전에는 상승반전 하는 종목검색식을 알고 싶어요. 수고하세요.
2016-05-08
107
글번호 97802
답변완료
종목검색식 좀 부탁드립니다
20일 거래량 이동평균선이 전일보다 2배이상증가하고 캔들이 5이평선이랑 10이평선 동시에 골드크로스하는 종목
검색식 좀 부탁드립니다
2016-05-08
133
글번호 97801
답변완료
수식 수정 부탁드립니다.
안녕하세요,
1) 지난번에 dayopen, dayclose 등의 함수에 대한 내용에 대한 질문을 드렸는데,
"dayhigh,daylow,dayopen,dayclose는
영업일 변경기준으로 계산을 합니다. 0시가 아닙니다.
차트를 우리나라시간기준으로 설정하시면
7시~다음날 06시가 하루입니다."
란 답변을 듣고 아래와 같은 수식을 작성하였습니다.
수식에서 의도한 바는 7시기준 시가가 PivPnt 중심점 보다 높으면 매수 포지션을 진입하는 것인데, 시뮬레이션 결과에서 00:00 기준으로 매수 주문이 나가고 있습니다.
원래 의도 한 대로 dayopen은 오전 7시 dayclose는 오전 6시에 맞춰서 주문을 하려면 수식을 어떻게 수정해야하나요?
2) 오전 7시 부터 익일 오전 6시까지 매수/청산 주문은 한번만 이루어졌으면 하는데, 어떤 수식이 추가되어야 하나요?
수식)
var : PivPnt(0),Support1(0),Resistance1(0),idx(0);
PivPnt = (DayHigh(1) + DayLow(1) + DayClose(1)) / 3;
Support1 = (PivPnt * 2) - DayHigh(1);
Resistance1 = (PivPnt * 2) - DayLow(1);
if MarketPosition == 0 and PivPnt < dayopen Then
Buy("B",AtStop,DayOpen);
if MarketPosition == 1 Then{
ExitLong("BP1",atlimit,Support1);
ExitLong("BL2",AtStop,(PivPnt+Resistance1)/2);}
2016-05-08
131
글번호 97800
답변완료
Print 와 MessageLog 함수 질문입니다.
질문1 : Print("r:₩a.txt", "%.f", C); 와 MessageLog("%.f", C); 를 종목검색식에서 사용하고 싶습니다.
건의1 : 종목검색에서 Find(A, B, C, ...) 로 진화.
환경 : 하이투자증권의 YesTrader 4.0 , Windows 8.1 x64
질문 : 아래의 식을 지표에서 사용해 보았습니다.
MessageLog("%.f", C);
Print("r:₩a.txt", "%.f", C);
디버깅창과 파일로 출력이 잘 됩니다.
이번에는 종목검색식에
MessageLog("%.f", C);
Print("r:₩a.txt", "%.f", C);
Find(1);
위의 3줄만 입력하였습니다.
화면번호 [3201] 종목검색의 신호검색에서 실행을 시켰습니다.
파일검색은 1665개가 출력되었으나 MessageLog 함수와 Print 함수 2개 모두 되지 않는군요.
그런데 Q&A게시판에서 제목+내용으로 검색해 보니 다른 분들은 사용하고 있네요.
답변 부탁 드립니다.
건의 : 종목검색식에서 Find(매개변수)를 Find(매개변수1, 매개변수2,...)으로 하면 좋겠습니다. 프로그램으로 자신이 원하는 수식을 만드는 과정에서 가장 많은 시간과 비중을 차지하는 것이 변수값의 변화를 확인하는 과정일 것입니다. 물론 messagelog 와 print 함수를 사용할 수 있지만 검색된 각 종목과 같은 행에 출력된 값을 검토하는 것과는 많은 차이가 있을 것입니다. 지표의 경우에는 messagelog 와 print 함수를 사용해도 상관 없으나, 종목 검색의 경우에는 각 종목마다 수치를 검토해야 하므로 원하는 갯수 만큼의 매개변수 항목이 추가로 나와 주면 좋겠습니다.
예) Find(사용자함수 또는 변수값 A, B, C);
[3201] 에 출력된 결과
항목 : 체크항목 뉴 종목명 A B C 종목코드 현재가 거래량 ......
부탁 드립니다.
좋은 하루 되세요.
2016-05-08
217
글번호 97799
회원 님에 의해서 삭제되었습니다.
2016-05-08
26
글번호 97798
답변완료
시스템식부탁드립니다
휴일동안 계속 연이어 부탁드리게 되었습니다
아래 단기 볼린져 색변화 지표식을
상단 하단 red + 중앙 red 발생후 유지할때까지 매수신호 유지
상단 하단 red + 중앙 blue 발생후 유지할때까지 매도신호 유지 시스템식부탁드립니다
만저 감사인사드립니다
input : P(5),dv(2);
var : Price(0),BBmd(0),BBup(0),BBdn(0),diff(0);
Price = (C+H+L)/3;
BBmd = ma(Price,P);
BBup = BBmd + std(Price,5)*dv;
BBdn = BBmd - std(Price,5)*dv;
diff = BBup-BBdn;
if BBmd > BBmd[1] then
plot1(BBmd,"중앙",red);
Else
plot1(BBmd,"중앙",blue);
if diff > diff[1] then{
plot2(BBup,"상단",red);
plot3(BBdn,"하단",red);
}
else{
plot2(BBup,"상단",blue);
plot3(BBdn,"하단",blue);
}
2016-05-07
124
글번호 97797
답변완료
문의드립니다
MACD 로 시스템을 설정하고싶습니다
기준: 0 선에 맞춰서 시스템신호를 받고싶습니다
1. 0선을 타고 올라가는 거에서 매수신호
0선위에서 크로스 발생시 청산신호
0선위에서 청산신호 후 는 매매신호 발생금지
0선 밑으로 내려갈경우 매도신호
0선밑에서 크로스 발생시 청산신호
0선밑에서 청산신호 후 더이상 매매신호 발생금지
2. 외부변수 사용가능하게 설정좀부탁드리겠습니다^^
2016-05-09
123
글번호 97796