커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7470
글번호 230811
답변완료
타주기 참조 수식 문의 드립니당
예를들어 주데이터를 10분봉으로 하고 참조데이터를 60분봉으로 해서
var: mav(0);
mav= ma(close,20);
plot1(data2(mav),"60분 20이평선");
이런 식으로 만들면 올바르게 적용되는 건가요?
또 이런 지표를 다른창에 뜨지않고
10분봉에 그려지게 만드려면 어떻게하나요?
한마디로 60분 20이평선을 10분봉에 그리는 법을 알고싶습니당
더불어서 10분봉에서 종가가 60분 20이평선에 닿으면 매수하고
+10틱이면 청산, -5틱이면 손절 같은 식도 세울 수 있나요?
if c[1] < data2(mav) and c > data2(mav) then buy();
if entryprice+0.010 or entryprice-0.005 exitlong();
이런식으로
2015-03-03
256
글번호 83627
답변완료
문의드립니다
장시작후 MFI 를 기간을 정하지않고 나타내고싶은데 가능할까요?
2015-03-03
193
글번호 83626
답변완료
질문드립니다.
기본 차트 속성 에서의
분,틱봉의 일간 갭 보정의 유무에 따라서 시스템의 결과값이 판이하게 차이나네요
실재로 갭 보정을 쓰는것이 봉 가정 오류의 하나로써 오류로 판단해야 하나요
아니면 실질적으로 수익률을 보장해주는 것인가요
이 기능이 갭차이가 나는것을 보정하는것 뿐인데 실질적으로 시스템상에서는
시뮬레이션 결과값이 오류가 없다는 뜻인지 궁금합니다.
2015-03-03
194
글번호 83625
답변완료
문의드립니다.
안녕하세요.
아래는 이전에 질문드렸던 내용입니다.
현물종목 일봉차트에서
60과 120이평이 역배열 된 후 처음으로 30이평을 상향돌파한 종목검색식 부탁드립니다.
위 수식에 대한 답변을 아래와 같이 주셨는데
input : P1(60),P2(120);
var : count(0);
var1 = ma(c,P1);
var2 = ma(c,p2);
var3 = ma(c,30);
if CrossDown(var1,var2) then
count = 0;
if var1 < var2 and crossup(c,var3) Then{
count = count+1;
if count == 1 Then
find(1);
}
========================================================
새질문 - 위 질문에 추가삽입된 내용이 있음
60과 120이평이 역배열 된 후 3개봉 이후에 (추가삽입내용)
처음으로 30이평을 상향돌파한 종목검색식 부탁드립니다.
2015-03-02
195
글번호 83624
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2015-03-02
7
글번호 83623
답변완료
볼린져
안녕하세요.
볼린져의 값을 종가 이동평균선값이 아닌 일목균형표의 기준선값처럼
일정기간의 고가 저가값의 2등분값으로 표현하고 싶습니다.
수고하십시요.
2015-03-02
211
글번호 83622
dandy 님에 의해서 삭제되었습니다.
2015-03-02
0
글번호 83621
답변완료
수식변경 부탁 드립니다.
키움수식 지표변수 -> 예스수식 지표변수로 변환요청 드립니다.
1. 키움에서 사용중인 지표변수
short1 -> (1)
long1 -> (2)
short2 -> (3)
long2 -> (4)
signal -> (5)
short3 -> (6)
short4 -> (7)
mid -> (8)
mid1 -> (9)
long30 -> (10)
long30 -> (11)
MA1 -> (12)
MA2 -> (13)
Period -> (14)
Percent -> (15)
shortPeriod -> (16)
longPeriod28 -> (17)
baseLine -> (18)
2. 키움에서 사용중인 수식
매수진입
a=CrossUp(MACD(short1,long1),eavg(MACD(short2,long2),signal);
b=(C > avg(C,short3) && avg(C,short4) > avg(C,mid) && avg(C,mid1) > avg(C,long30));
e=CrossUp(avg(C,MA1),eavg(C,MA2));
f=CrossUp(C-3,EnvelopeUp(Period,Percent));
if(time >= 090000 && time <= 120000,f or b or e,a) or
if(time >= 093000 && time <= 151500 && 1.7<(PreDayClose()-Low)>1.3,e,a)
매수청산
a=CrossDown(eavg(MACD(short1,long1)),signal);
e=(C < avg(C,short3) && avg(C,short4) < avg(C,mid) && avg(C,mid1) < avg(C,long28));
f=MACD(shortPeriod,longPeriod28)<baseLine);
if(time >= 090000 && time <= 130000 && -1.7<(PreDayClose()-High)>-1.3,e,a)
매도진입
a=CrossDown(eavg(MACD(short1,long1)),signal);
b=(C < avg(C,short3) && avg(C,short4) < avg(C,mid) && avg(C,mid1) < avg(C,long30));
e=CrossDown(avg(C,MA1),eavg(C,MA2));
f=CrossDown(C+3,EnvelopeDown(Period,Percent));
if(time >= 090000 && time <= 120000,f or b or e,a) or
if(time >= 093000 && time <= 151500 && -1.7<(PreDayClose()-High)>-1.3,e,a)
매도청산
a=CrossUp(MACD(short1,long1),eavg(MACD(short2,long2),signal);
e=(C > avg(C,short3) && avg(C,short4) > avg(C,mid) && avg(C,mid1) > avg(C,long28));
f=MACD(shortPeriod,longPeriod28)>=baseLine);
if(time >= 090000 && time <= 130000 && 1.7<(PreDayClose()-Low)>1.3,e,a)
당일청산 -> 매일 15시 당일 청산신호 발생
손절정산 -> 진입후 1.9 POINT 손실 발생시 강제청산
진입조건 -> 조건만족시 모든신호진입,
재진입조건 -> 손절청산후 조건만족시 재진입
부탁드립니다.
2015-03-02
257
글번호 83620
답변완료
수식 검토 요청
60일선이 상향이고 20일선이 60일선 위에 있으면 종가가 60일선 + 0.1p 이내인 경우 매수하고
60일선이 하향이고 20일선이 60일선 아래에 있으면 종가가 60일선 -0.1p 이내인 경우 매도하는 수식을 아래와 같이 만들었는데 시뮬레이션 챠트에서는 명령과 틀리게 나옵니다
어디가 틀려서 다른 결과가 나오는지 검토 부탁드립니다
감사합니다
Input : Period1(5), Period2(20), Period3(60);
var : Sma1(0),Sma2(0),Sma3(0);
Sma1 = ma(C,Period1);
Sma2 = ma(C,Period2);
Sma3 = ma(C,Period3);
# 매수/매도
If Sma3 -Sma3[1] > 0 then
{if c < (Sma3 +0.1) and Sma2 > Sma3 Then
buy();
}
# 매도/매수
If Sma3 -Sma3[1] < 0 then
{ if c > (Sma3 -0.1) and Sma3 > Sma2 Then
sell();
}
2015-03-02
168
글번호 83619