커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6879
글번호 230811
답변완료
수식 부탁드립니다..
해외선물에서
A상품(매도), B상품(매수)을 동시에 진입한다고 가정했을때,
1. 60분봉을 기준으로 매 시간단위 봉완성시 A상품은 매도, B상품은 매수 진입했을때 (진입수량 조절 가능하게 해주세요)
2. 진입시점 이후 진입후 누적손익(단순 봉들의 손익 아님)을 표시해주세요(틱포인트, 틱가치를 입력할수 있게 설정 부탁)
3. 누적손익의 평균선 표시 가능하게 해주세요
2024-01-26
969
글번호 176132
답변완료
행복; 지표식 작성 바랍니다
한국의 금융산업 발전을 위해 불철주야 애쓰시는 귀하의 노고를 높이 평가합니다
지표식 관련입니다
<<질문>>
-기준 봉; 7분 봉
- 전일의 일봉 기준 5일 이평선
- 전전일의 일봉 기준 5일 이평선
- 전전전일의 일봉 기준 5일 이평선
을 작성하기 위하여
<아래 1> 처럼 했습니다
근데, 잘못된 것인지 틀리게 나옵니다
그래서 <아래 2> 처럼 하니까 맞게 나옵니다
-------------<아래 1>-----------------
For cnt5 = 1 To 5{
합계5일_0일전 = 합계5일_0일전 + DayClose(cnt5-1);
합계5일_1일전 = 합계5일_1일전 + DayClose(cnt5+0);
합계5일_2일전 = 합계5일_2일전 + DayClose(cnt5+1);
합계5일_3일전 = 합계5일_3일전 + DayClose(cnt5+2);
}
이평5일_1일전 = 합계5일_1일전 / 5;
이평5일_2일전 = 합계5일_2일전 / 5;
이평5일_3일전 = 합계5일_3일전 / 5;
-------------<아래 2>-----------------
합계5일_1일전 = (DayClose(1)+DayClose(2)+DayClose(3)+DayClose(4)+DayClose(5));
합계5일_2일전 = (DayClose(2)+DayClose(3)+DayClose(4)+DayClose(5)+DayClose(6));
합계5일_3일전 = (DayClose(3)+DayClose(4)+DayClose(5)+DayClose(6)+DayClose(7));
이평5일_1일전 = 합계5일_1일전 / 5;
이평5일_2일전 = 합계5일_2일전 / 5;
이평5일_3일전 = 합계5일_3일전 / 5;
<아래 1>에서 어떤 부분이 잘못되었는지요?
수고하십시요^^
2024-01-26
1437
글번호 176123
답변완료
프로그램 수식 문의드립니다.
5분봉에 종가 지수 이동평균선을 기준으로 캔들이 돌파했을경우
진입을하는 수식 부탁드리겠습니다.
이동평균선은 변수로 수정할수 있도록 부탁드립니다.
2024-01-26
903
글번호 176121
답변완료
지표 질문입니다
당일 최고가에서 150분 경과 위치를 표시한다
당일 최저가에서 150분 경과 위치를 표시한다
감사합니다
2024-01-26
1223
글번호 176120
답변완료
평균거래대금
감사합니다
일봉기준
1봉전 기준 5봉동안의 평균거래대금이 천억이상이고
3~5봉전 거래량합 대비 0~2봉전 거래량합 비율이 5%이상이고
전일 동시간 대비 현재거래량 비율이 5%이상인 종목을 검색하고 싶습니다
2024-01-26
1108
글번호 176112
답변완료
수식수정
var : T(0);
var1 = ma(C,120);
if CrossUp(c,var1) Then
{
T = 1;
if MarketPosition == -1 Then
ExitShort();
}
if CrossDown(c,var1) Then
{
T = 1;
if MarketPosition == 1 Then
ExitLong();
}
if T == 1 and C > O Then
{
T = 2;
Buy();
}
if T == -1 and C < O Then
{
T = -2;
Sell();
}
안녕하세요
85556 글입니다
신호가 전혀 틀리게 나옴니다
다시검토해 주세요
input 이평 60
이평 60선을 터치나 하락후 상승시 첫양봉에서 매수
청산 60이평 하향시
매도 매수반대
2024-01-26
927
글번호 176106
답변완료
재답변 부탁드리겠습니다..
안녕하세요 답변 감사합니다 꾸벅..
답변해주신 수식을 두가지 수정을 싶은데요..
1.하나의 지정어로 하고 싶은데요..
아래의 수식처럼 하나의 명칭으로 사용하고 싶은데요..
오류가 자꾸나네요..
2. 아래수식이 발생한 후 20봉동안 시가대비종가가 ( 3% ~ -3%) 이내인 봉을 각 1,2,3 번째 나타날 때 검색
매번 감사합니다..꾸벅..
input : 지연일(20);
var : MM(0),BS(0),HH(0),Cnt(0);
MM = ema(c, 240);
var: 낙엽(false);
낙엽= (
if CrossUp(C,MM) Then
{
HH = H;
BS = 0;
Cnt = 0;
}
Else
{
if HH > 0 Then
{
if H > HH Then
HH = H;
BS = BS+1;
if C > MM Then
Cnt = Cnt+1;
if Bs == cnt and crossup(c, hh[1]) and Bs > 지연일 Then
Find(1);
}
}
);
if ( 낙엽[1] or 낙엽[0] ) then find(1);
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 종목검색 수식요청드립니다..
> 안녕하세요
예스스탁입니다.
3번은 내용이 모호합니다.
1번과 2번만 작성해 드립니다.
1
input : 지연일(20);
var : MM(0),BS(0),HH(0),Cnt(0);
MM = ema(c, 240);
if CrossUp(C,MM) Then
{
HH = H;
BS = 0;
Cnt = 0;
}
Else
{
if HH > 0 Then
{
if H > HH Then
HH = H;
BS = BS+1;
if C > MM Then
Cnt = Cnt+1;
if Bs == cnt and crossup(c, hh[1]) and Bs > 지연일 Then
Find(1);
}
}
2
input : 지연일(20);
var : MM(0),BS(0),HH(0),Cnt(0),첫신호(0);
MM = ema(c, 240);
if CrossUp(C,MM) Then
{
HH = H;
BS = 0;
Cnt = 0;
첫신호 = 0;
}
Else
{
if HH > 0 Then
{
if H > HH Then
HH = H;
BS = BS+1;
if C > MM Then
Cnt = Cnt+1;
if Bs == cnt and crossup(c, hh[1]) and Bs > 지연일 Then
첫신호 = 첫신호+1;
if 첫신호==1 and 첫신호[1] == 0 Then
Find(1);
}
}
즐거운 하루되세요
> downlord 님이 쓴 글입니다.
> 제목 : 종목검색 수식요청드립니다..
> 안녕하세요.
영웅문에서의 수식인데 이것을 예스랭귀지로의 변경이 필요해서 문의드립니다.
1,2번이 기본검색식(영웅문 검색식)
3번이 응용검색식입니다..가능하다면 셋 다 구현해주시면 감사하겠습니다.
3번의 조건이 너무 조잡하여 구현이 안되면
1번,2번만이라도 잘 부탁드리겠습니다.. 꾸벅..
1.지수이동평균선240(M240)을 상향돌파 이후 이평선을 '한번'도 하향 이탈하지 않고
상향돌파 이후 최소 '20'봉 이상 진행 후
( 지수이동평균선240을 상향돌파 한 후의) 전고점 상향 돌파 시
(N번째신호) 표시
2.지수이동평균선240(M240)을 상향돌파 이후 이평선을 '한번'도 하향 이탈하지 않고
상향돌파 이후 최소 '20'봉 이상 진행 후
( 지수이동평균선240을 상향돌파 한 후의) 전고점 상향 돌파 시
(첫번째신호) 표시
3.1번의 조건에서 몇가지 수정하겠습니다..
지수이동평균선240을 이탈한 후
25일이 초과되면 돌파를 초기화한다.
(즉, 25일내로 회복하면 하나의 돌파로 간주한다.)
지수이동평균선240(M240)을 상향돌파 이후
이평선을 '2번'까지는 하향 이탈해도 괜찮다.
(단, 이탈했을시 각 이탈 시 '25'일 내로 다시 이동평균선240 위로 올라와야한다.
(예) 2번이탈시, 첫번째 이탈 시 20일후 회복, 2번째이탈 시 15일 후
회복 총합은 35일이 넘었지만, 각각 25일 이내면 가능함
(이탈 전 '첫' )상향돌파 이후 최소 '20'봉 이상 진행 후
(이탈하더라도 20봉의 갯수는 계속 카운트 된다. 첫 상향돌파 후 20봉이므로)
(이탈 전 '첫' 지수이동평균선240을 상향돌파 한 후의) 전고점 상향 돌파 시
(첫신호 or 2번째신호 or 3번째신호) 표시
영웅문 수식1:
M= ma(c, 240, 종류); //종류:지수
HH= Highestsince(1, crossup(c,m), H);
Bs= barssince(crossup(c,M))+1;
cnt= countsince(crossup(c,m), C>M);
Bs == cnt and crossup(c, hh(1)) and
Bs > 지연일 //지연일:20일
영웅문 수식2:
M= ma(c, 240, 종류); //종류:지수
HH= Highestsince(1, crossup(c,m), H);
Bs= barssince(crossup(c,M))+1;
cnt= countsince(crossup(c,m), C>M);
조건=
Bs == cnt and crossup(c, hh(1)) and
Bs > 지연일; //지연일:20일
첫신호= countsince(crossup(c,m), 조건);
첫신호==1 and 첫신호(1)==0
2024-01-26
1130
글번호 176105
답변완료
여러개의 값을 리턴하고싶습니다.
값을 두개 리턴하고싶은데 "반환값 형" 지정할 때 보니 없는거같은데요..
혹시 값을 여러개 리턴할 수 있는 방법이 있을까요?
2024-01-26
930
글번호 176102
답변완료
문의 드립니다.
아래 식에서 5 20이평 정배열 일 때 DMI골든 매수
청산은 데드 시 매도 청산완료
5 20이평 역배열 일 때 DMI데드 매도
청산은 골든 시 매수 청산완료
매수용 매도용으로 각각 나누어서 부탁드립니다.
Input : Period(14);
value1 = DIPlus(Period);
value2 = DIMinus(Period);
If MarketPosition <= 0 and CrossUP(value1, value2) Then
{
Buy();
}
If MarketPosition >= 0 and CrossDown(value1, value2) Then
{
Sell();
}
if MarketPosition == 1 and BarsSinceEntry == 1 Then
ExitLong();
if MarketPosition == -1 and BarsSinceEntry == 1 Then
ExitShort();
2024-01-26
866
글번호 176101