커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4355
글번호 230811
답변완료
문의
아래 키움을 macd 크로스 수식작성 부탁드립니다.
1번
Input : shortPeriod(25), longPeriod(30), Period(5);
var : hh(0);
value1 = MACD(shortPeriod, longPeriod);
value2 = ema(value1, Period);
여기까지 했습니다.
== 아래 ==
키움 수식변경이 가능할까요?
a =macd(shortperiod,longperiod);
b =evag(a,sigperiod);
hh = valuewhen(1,crossup(1,b),h);
crossup(c,hh)
2번
혹시 참조데이터할때 꼭 차트를 그려야하나요
현제 기본 국선차트에 참조데이터 data2 를 콜옵션 등가지정이라면
차트에 data3로 또다른 콜지정가 차트를 그리지는 안고 그값을 불러들여서
현제 얼마인지 알수없나요?
콜 317 의 현제가격을 input
2018-02-27
142
글번호 116971
답변완료
함수요청
안녕하세요?
작성주신 식을 응용하여 아래와 같이 작성하였습니다.
생각했던 신호가 아니어서 올바르게 작성된 것인지 검수요청 부탁드립니다.
매수: (data2)일봉상 파라볼릭 매수신호(상승파라볼릭) 상태이며,
(data1)60분봉상 60ma가 볼린저밴드 하단선을 하향돌파 후 3개 봉이 완성되고 4번째 봉 시가에 진입
매도: (data2)일봉상 파라볼릭 매도신호(하락파라볼릭) 상태이며,
(data1)60분봉상 60ma가 볼린저밴드 상한선을 상향돌파 후 3개 봉이 완성되고 4번째 봉 시가에 진입
거래시간: 9시~16시(진입기준)
input : P(20),dv(2);
Input : af(0.02), maxAF(0.2);
var : BBmd1(0,data1),BBup1(0,data1),BBdn1(0,data1);
var : up1(0,data1),dn1(0,data1);
var : sar1(0,data2);
BBmd1 = data1(ma(C,P));
BBup1 = data1(BollBandUp(P,dv));
BBdn1 = data1(BollBandDown(P,dv));
sar1 = data2(sar(af,maxAF));
if data1(Crossup(c,BBup1)) and data2(c>sar1)) Then
up1 = data1(index);
if data1(CrossDown(c,BBdn1)) and data2(csar1)) Then
dn1 = data1(index);
if data1(stime >= 90000 and stime < 160000) then{
if data1(index == dn1+3 and dn1 > 0) Then
buy("b",AtMarket);
if data1(index == up1+3 and up1 > 0) Then
sell("s",AtMarket);
}
2018-02-27
119
글번호 116970
답변완료
지표
1. 차트에 추세선,피보나치 등등을 그리고 나서 저장방법 -> 차트 속성 -> 차트보조도구 저장을 했고, 답변주신거에서 종목을 바꾸면 없어진다했는데 종목을 바꿔도 오늘은 안없어지는데
이게 약간 랜덤인가요?... 아니면 어느정도의 기간이 좀 차트에 그리면 없어지는건지
아니면 위에 하라는대로 보조도구만 저장해두고 오른쪽 하단 기본조건설정해놓으면 1.종목을 바꾸어도, 2.hts를 꺼도 그대로 유지가되는건지
2. 밑에 지표를 거래량처럼 활용을 하려고하는데 분봉 거래(가격대비)처럼 양봉에는 빨간색 음봉에는 파란색으로 하려고하면 어떻게 설정하면 되나요?
var : B(0),B2(0);
if date != date[1] Then{
B2 = B[1];
}
B = B + iff(c>o,(H+O+L+C)/4*V/100000000,iff(c<o,-(H+O+L+C)/4*V/100000000,0));
3. 어제 물어본 내용인데 뜻풀이는 이정도로 하면 되나요?? 공시를 토대로 조건수식입니다
표시는 일봉에 나타내는건데 화살표이든 강세표시이든 표시를 나타낼수있는거면 됩니다
시중에 나와있는 지표라 해석을 안썻었네요 죄송함다
-과열예고발동-
1.
A = sum(avg(c, 40, 1) * 1.3 <= C //1봉전40이평선*1.3 <= 종가이고
and avg(거래대금/C, 40, 1) * 6 <= avg(거래대금/C, 2) //1봉전 기준 거래대금/종가의 40봉평균값*6 <= 0봉전기준 거래대금/종가의 2봉평균값이고
and avg(((h-l)/((h+l)/2)), 40, 1) * 1.5 <= avg(((h-l)/((h+l)/2)), 2) // 1봉전기준 ((고가-저가)/(고가+저가)/2))의 40봉평균값*1.5 <= 0봉전기준 ((고가-저가)/(고가+저가)/2))의 2봉평균값이고
and C(1) < C); //1봉전 종가 < 0봉전 종가 조건을 모두 만족할때마다 1값을 누적함
B = valuewhen(1, A(1) != A, C); // 위 조건 모두 만족했을때의 종가
if(A(1) - A(10) >= 1, B(1) < C and A(1) != A, A(1) != A) // 1봉전기준 10봉이내에 위 조건에 만족한 횟수가 1이상이고 1봉전 B값 < 0봉전 종가이고 1봉전 A값과 0봉전 A값이 서로다를때 신호를 나타내고, 1봉전기준 10봉이내에 위 조건에 만족하지 않았을때에는 1봉전 A값과 0봉전 A값이 서로다를때 신호를 나타냄
2.
A = avg(c, 40, 1) * 1.3 <= C //1봉전40이평선*1.3 <= 종가이고
and avg(거래대금/C, 40, 1) * 6 <= avg(거래대금/C, 2) //1봉전 기준 거래대금/종가의 40봉평균값*6 <= 0봉전기준 거래대금/종가의 2봉평균값이고
and avg(((h-l)/((h+l)/2)), 40, 1) * 1.5 <= avg(((h-l)/((h+l)/2)), 2) // 1봉전기준 ((고가-저가)/(고가+저가)/2))의 40봉평균값*1.5 <= 0봉전기준 ((고가-저가)/(고가+저가)/2))의 2봉평균값이고
and C(1) < C; //1봉전 종가 < 0봉전 종가 조건을 모두 만족하면 1값을 나타냄
B = sum(A); // A조건이 만족할때마다 1값을 누적함
B(1) - B(10) == 0 and A == 1 // 1봉전 기준 10봉이내에 A조건을 만족하지 않고, 0봉전 기준으로 A조건에 만족시 신호를 나타냄
2018-02-27
170
글번호 116969
답변완료
수식추가부탁드립니다.
안녕하세요,, 글번호 53898 에 추가부탁드립니다
데이타4 당일시가라인
데이타4 당일고가라인
데이타4 당일저가라인
데이타4 당일중심라인
수고하세요. 꾸벅
2018-02-27
127
글번호 116968
sdsadsa 님에 의해서 삭제되었습니다.
2018-02-27
1
글번호 116966
답변완료
문의드립니다.
매번 감사합니다.
1. 기타
전에 만들어 주신 전략인데요. 이거 해선에 적용하기 위해서 시작시간을 특정시간(외부변수)을 적용하려면 어떻게 바꾸어야 하나요? 해선은 dayopen하면 오후 시간대가 시작시간이더라구요.
input : N(35);
var : TM(0);
TM = TimeToMinutes(stime);
if date != date[1] Then
var1 = TM;
if TM < var1+N Then{
value1 = dayhigh;
value2 = daylow;
value3 = dayhigh-daylow;
}
input : 당일진입횟수(1);
var : K1(0),Dayentry(0);
if bdate != bdate[1] Then
K1 = TotalTrades;
if MarketPosition == 0 Then
Dayentry = TotalTrades-K1;
Else
Dayentry = TotalTrades-K1+1;
if TM >= var1+N Then{
if crossup(c,value1) Then{
if dayentry < 당일진입횟수 then
buy();
}
if CrossDown(c,value2) Then
{if dayentry < 당일진입횟수 then
sell();
}
}
2018-02-27
127
글번호 116965
gaara 님에 의해서 삭제되었습니다.
2018-02-27
0
글번호 116962
답변완료
질문입니다.
질문1.
지표에 관한 질문입니다.
일봉기준으로 현재일이 2월 27일이라면,
1월 28일부터 2월 27일까지 일봉의 갯수를 구하는 지표를 알고 싶습니다.
즉, 한달간의 거래일 갯수를 구하는 지표이죠.
또한, 변수X를 주어 X가 1이면 한달, X가 2이면 두달...이런식으로
X에 따라 거래일봉의 갯수를 구하고 싶습니다.
질문2.
시스템에 관한 질문입니다.
선물에서 1계약으로 운영하는 시스템이 있습니다.
여기에 피라미딩을 전략을 적용하여 2계약을 운영하려고 합니다.
예를들어 5일이평을 하향돌파하면 매도,
10일이평을 상향돌파하면 매수라는 1계약 운영시스템에,
매수진입한 가격보다 0.5points 상승이라면 1계약추가매수,
매도진입한 가격보다 0.7points 하락이라면 1계약추가매도라는 피라미딩을 적용하려고합니다.
문제는 예를들어 2계약이 들어간 상태에서 특정봉에서 매도시그널이 나왔는데,
매도시그널과 매수피라미딩 시그널이 겹치는 현상이 발생합니다.
매수2계약 진입 후 매도 시그널이 발생하면 매수2계약을 청산하고,
매도로 1계약을 진입해야하는데,
매도로 진입함과 동시에 그 봉에서 매수피라미딩이 발생해버립니다.
이렇게 한봉에서 신호가 겹치는 현상을 해결하고 싶습니다.
예시로 부탁드립니다.
감사합니다.
2018-02-27
113
글번호 116961
알리섬 님에 의해서 삭제되었습니다.
2018-02-27
10
글번호 116955