커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1422
글번호 230811
답변완료
수식 문의 드립니다
매수 : 5 이평선을 5% 상향시 즉시매수
매도: 5 이평선을 5% 하향시 즉시청산
2024-04-26
904
글번호 178932
답변완료
수식 부탁드립니다.
안녕하세요 수고에 감사드립니다.
순매수체결량 지표에서 기준은 0선으로 알고 있습니다.
input: 막대굵기(1);
var : sumPL(0);
if bDate != bDate[1] Then
{
sumPL = 0;
}
Else
{
sumPL = sumPL + (Upvol-DownVol);
if sumPL > 0 Then
Plot1(sumPL, "순매수체결량",RGb(196, 0, 0),def,막대굵기); // 진적
Else
Plot1(sumPL, "순매수체결량",RGb(0, 0, 128),def,막대굵기); // 진청
}
PlotBaseLine1(0, "기준선0");
이 지표를 검색으로 변환할때 강한 종목 또는
당일 분봉상 순매수체결량이 계속 우상향하는
종목을 검색하는 방법을 잘 모르겠습니다.
키움은 체결강도 상위 100종목 또는 체결강도 200이상 등으로
조건을 설정해서 검색하는데,
예스랭귀지로 순매수체결량 상위 100종목 또는
당일 분봉상 지속적으로 상승추세유지 우상향 등을
검색할 검색식을 부탁드립니다.
좋은 검색 방법을 알려주시면 감사하겠습니다.
참고로 저는 분봉에서 순매수체결량지표를 사용합니다.
늘 감사드립니다.
2024-04-26
1055
글번호 178931
답변완료
문의드립니다.
늘 고맙습니다.
#1 아래 값들 중 가장 높은 값과 낮은 값을 찾고 싶습니다. 리스트에 여러값들을 넣어놓고
그 리스트내에 있는 값들중 가장 높은값과 낮은 값을 찾고자 합니다.
예)이평5, 이평10, 이평20, 이평60
캔들이 위 값들중 가장 높은 값을 돌파했다. 낮은 값을 이탈했다. 이런 것을 만들려고 합니다.
#2 어제 알려주신 것(86902) 중 1번을 제대로 소화시키지 못해 추가 질문 드립니다.
condition1을 선언하고, 중괄호 안에 있는 {조건4, 조건5, 조건6}이 순서대로 만족하는 것까지 condition1에 넣고 싶습니다.
condition1 = 조건1 and 조건2 and 조건3 then {조건4, 조건5, 조건6};
이런 식으로 만들어서 저장해놓고 싶은데 잘 안되네요.
조건이 많다보니 알려주신대로 아래 식에 "동일조건으로 10캔들내 재매수 금지"를 넣으려는데 잘 안됩니다. 그래서 순서대로 만족하는 조건들까지 condition1에 저장해놓고 싶습니다.
#3 아래식대로 돌려보면 최종조건만 만족하면 진입이 되고 있습니다. 또다른 문제가 있어보입니다.
var:condition1(false),T(0);
var:HH50(0),LL50(0),HH위치(0),LL위치(0);
HH50 = H==highest(H,50);
LL50 = L==lowest(L,50);
HH위치 = NthHighestBar(1,H,50);
LL위치 = NthLowestBar(1,L,50);
# 10캔들내 50캔들의 최고점이 한번이상 있고, HH위치가 LL위치보다 현재봉에 가깝다면
# 10캔들내 50캔들의 최고점이 없는데도 실행이 됩니다.
if CountIF(HH50==H,10)>0 && HH위치<LL위치 &&
crossup(5이평,20이평)
Then
# 중괄호안에 있는 조건식들이 과거에 일어난 일인데요. 현재봉 기준으로 쓰여 있습니다.
이대로 써도 되나요? countif를 써서 과거 10캔들내에 있었다로 바꿔줘야 되나요?
{
if crossup(5이평[1],20이평[1]) != false Then
T=1;
if crossdown(5이평,20이평) Then
T=2;
}
if crossup(C, 이평20)
Then
Buy();
#4 수식이나 문장을 주석처리할 때 아래 모두를 처리하는 방법은 알겠는데요. /*
중간에 끼어있는 부분의 주석처리는 어떻게 하나요? 줄마다 # 붙이는 방법 말고 드래그 해놓고 한번에 여러줄을 주석처리하는 방법을 알고 싶습니다.
#5
var : 이탈20(-1),돌파60(-1);
이평20 = Ema(C,20);
if Crossdown(c,이평20) Then
이탈20 = 0;
if 이탈20 >= 0 Then
이탈20 = 이탈20 +1;
이평60 = Ema(C,60);
if CrossUp(c,이평60) Then
돌파60 = 0;
if 돌파60 >= 0 Then
돌파60 = 돌파60 +1;
if 이탈20 > 돌파60 then # 이탈20 있고나서 돌파60이 있었다. 이게 맞는건가요?
# 여러종류의 위치를 찾아서 저장해놓고 쓰려고 하는데요.
모두 위와같은 방법으로 하면 되나요? 혹시 더 간단한 방법은 없나요?
# 위의 질문들과 비슷한 내용입니다. 예를 들어서 해보면 이해하기가 쉬울 거 같아서요.
#1 20이평 > 60이평이다.
#2 20캔들내 50캔들중 최고점이 있었다.
#3 그리고 종가가 20이평 아래로 내려왔다.
#4 3이후 종가가 20이평 위로 올라가지 않았다.
#5 60이평을 이탈했다.
2024-04-26
909
글번호 178930
답변완료
수식 부탁합니다.
안녕하세요
10분봉이 20분봉 크로스업이 몇봉전에 발생 했는지 알수 있는수식 부탁합니다.
2024-04-26
895
글번호 178929
답변완료
종목검색식 검토 부탁드립니다.
안녕하세요. 어제 아래와 같이 검색식 만들어 주셨는데 먼저 감사의 인사드립니다.
아래 두가지 검색식중에서 1번 검색식은 검색이 잘되는데, 2번 검색식은 종목이 거의 검색이 되지 않습니다. 무슨 문제인지 확인좀 부탁드립니다. (크로스업한 횟수 카운팅이 잘 안되는걸까요?, N봉값/횟수 값을 변경해도 종목이 검색이 잘 안되네요)
===================================================================================
종목검색 속성에서 검색에 필요한 최소기간에 500봉 지정하고 검색하시기 바랍니다.
1
input : N(30),상승률(15),횟수(3);
var : cnt(0),count1(0),count2(0);
#count1 = 일봉기준 최근 30봉 이내에 전일종가 대비 15%이상 상승횟수 카운트
count1 = 0;
For cnt = 0 to N-1
{
if DayClose(cnt) >= DayClose(cnt+1)*(1+상승률/100) Then
count1 = count1+1;
}
var1 = Ema(C,50);
#count2 = 분봉에서 지정한 조건만족횟수 카운트
if sDate != sDate[1] Then
count2 = 0;
if C < var1*0.99 Then
count2 = count2+1;
if count1 >= 1 and
count2 >= 횟수 Then
Find(1);
2
input : N(30),상승률(15),횟수(3);
var : cnt(0),count1(0),count2(0);
var : A(0),B(0);
#count1 = 일봉기준 최근 30봉 이내에 전일종가 대비 15%이상 상승횟수 카운트
count1 = 0;
For cnt = 0 to N-1
{
if DayClose(cnt) >= DayClose(cnt+1)*(1+상승률/100) Then
count1 = count1+1;
}
A = Ema(C,50);
B = A*1.2;
#count2 = 분봉에서 지정한 조건만족횟수 카운트
if sDate != sDate[1] Then
count2 = 0;
if Crossup(C, B) Then
count2 = count2+1;
if count1 >= 1 and
count2 >= 횟수 Then
Find(1);
2024-04-26
1043
글번호 178928
답변완료
수식부탁드립니다.
키움 조건식 중에
" 당일 첫 분봉 캔들(음봉 또는 양봉 ) N회 연속발생" 이 있습니다.
분봉주기로 종목 검색하고 싶은데 수식부탁드립니다.
2024-04-25
1212
글번호 178926
답변완료
1초봉에서 당일 첫봉과 1봉전 봉과 거래량을 비교해서 자동주문이나 신호
안녕하세요
[조건]
1.1초봉 기준
2.당일 첫번째 봉 거래량 < 당일 1봉전 거래량
질문1 : 위 두가지 조건을 만족하는 수식 작성 부탁합니다.
질문 : 위 두가지 조건을 동시에 만족할 때 자동으로 실시간 검색이 되거나 자동매매가 가능한가요?
2024-04-25
744
글번호 178925
2wnwn 님에 의해서 삭제되었습니다.
2024-04-26
15
글번호 178924
답변완료
수식 문의 부탁 드립니다.
5분봉에서 rsi(14) 40이하이고, (and) 100봉 이내에서 60을 초과하지 않을때 매수이고,
50이상이면 매도할수있는 수식문의 부탁드립니다.
2024-04-25
636
글번호 178923