커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7294
글번호 230811
답변완료
수식 부탁드립니다.
일봉 미만의 차트에서
해당차트의 거래량을
일중
첫봉 거래량은 빨간색
마지막 봉의 거래량은 노란색
나머지 중간의 봉들의 거래량은 파란색으로 그리는 지표를 부탁드립니다.
2017-10-17
142
글번호 113446
답변완료
해외선물 타주기 이평선
항상 신속하고 상세하게 답변 주셔서 많은 도움을 받고 있습니다.
감사합니다.
해외 선물 전략차트 3분봉 같은 차트에
다음과 같이 종목이 포함되어 있습니다.
data1 : E-mini NASDAQ 100
data2 : E-mini S&P 500
이때
data1과 data2의 일간 20 이평선을 출력하고자 합니다.
그리고 20거래일 이전 20 이평선도 다음과 같이 출력하고자 합니다.
※3분봉에 일간지표를 출력함.
plot1(나스닥_일간_20ma, "나스닥_일간_20ma");
plot2(에센피_일간_20ma, "에센피_일간_20ma");
plot3(나스닥_일간_20일이전_20ma, "나스닥_일간_20일이전_20ma");
plot4(에센피_일간_20일이전_20ma, "에센피_일간_20일이전_20ma");
부탁드립니다.
2017-10-17
202
글번호 113445
답변완료
매도 수식 부탁드립니다.
** 일봉상 거래량 60이평선의 3배이상의 거래량이 발생한 시점 이후부터 모니터링하여 당일 이내에일봉상의 전고점(swinghigh(최근 5회)값 중 가장 높은 값)보다 주가가 낮으면 전량매도
** 일봉 거래량 60이평선의 3배이상의 거래량이 발생한 시점 이후부터 모니터링하여 당일 이내에 일봉상의 전고점(swinghigh(최근 5회)값 중 가장 높은 값)을 상승돌파하였다가 다시 하향이탈시 전량매도
** 그리고 중요한건 평단가보다 낮은 가격, 즉 손실구간에서는 매도가 안되도록 부탁드립니다.
수고 많으십니다. ㅎㅎ 늘 감사한 마음입니다 ~~~^^
2017-10-17
157
글번호 113444
답변완료
이것 저것 문의드립니다.
수식왕 예스스탁님 항상 감사합니다. 빨리 익숙해져서 게시판 탈출하고 싶네요.
1. 시스템관련
input : 상승률(1),포지션상승률(10),하락률(3);
if MarketPosition == 0 then{
#일간 마지막봉에 셋팅해 당일 첫봉에 신호가 발생
#봉완성은 다음봉시가가 수신될때인데 다음봉시가가 NextBarOpen입니다.
#일간 마지막 봉완성은 NextBarOpen을 사용해 다음날 시가로 지정해 주고
if NextBarSdate > sdate Then
buy("b1",AtStop,NextBarOpen*(1+상승률/100));
#일간 마지막봉이 아닐때는 시초가를 사용해 가격을 지정해서 매수신호를 발생하게 됩니다.
if NextBarSdate == sdate Then
buy("b2",AtStop,dayOpen*(1+상승률/100));
}
#10%이상 상승후 최고가격에서 3%하락하면 청산
if MarketPosition == 1 and highest(H,BarsSinceEntry) >= EntryPrice*(1+포지션상승률/100) Then
ExitLong("bx",AtStop,highest(H,BarsSinceEntry)*(1-하락률/100));
전에 답변해주신 수식을 변수명만 바꿔서 실행해봤는데요. 백테스팅 변수최적화를 하다보니 희한한 경우가 생겼습니다. 포지션상승률이라고 적힌 부분 인자가 1이고 하락률이 2라고 돼 있는데(위의 상승률인자는 15) 수익이 생긴걸로 리포트가 나오더라구요. 제 머릿속의 생각으로는(요즘 하도 제 생각과 다른 걸 많이 봐서..)포지션 상승률이 1이라면 포지션진입 뒤 수익률이 1%이고 하락률이 2%라면 손실률이 2%이니 당연히 손실이 나와야 하는 것 같은데요. 이상하게도 수익입니다.
제가 잘못 이해하고 있거나 모르고 있는 것이 있나요? 이것도 리포트랑 실제 매매와 많이 다른 경우인가요?
2.
========================================================================================
> 가치투자꾼 님이 쓴 글입니다.
> 제목 : dayclose 재질문드립니다
> 답글 잘 봤습니다.
좀 애매하던 부분이 많이 해소된것 같기도. 특히 (1), [1] 차이 같은 기본적인걸 실수해서...
그래서 확인차 마지막으로 여쭙는데
DayHigh, DayLow, DayClose 같은 함수의 경우 10분봉으로 실시간으로 보고 있다고 가정하면 현재까지의 움직임 중 가장 높은 값, 낮은 값, 현재봉의 종가가 계산된다는 말씀이죠?
가령 오전 11시에 dayhigh를 계산하면 9시-11시 사이 중 가장 고가를 받아오는식의.
감사합니다.
====================================================================================
위의 가치투자꾼님 질문 답변보고 궁금해져서 질문드립니다. dayhigh, dayclose함수는 현재까지의 가장 높은 값, 낮은 값, 종가 등이 계산된다고 하셨는데요. 전 모든 틱데이터를 알 수가 없기 때문에 일봉이 완성되지 않는 이상 일봉상의 실시간 고가 저가를 알 수 없는 줄 알았습니다. (일봉상 미완성 봉이기 때문에) 그럼 저 함수를 쓰면 일봉상의 고가 저가는 실시간으로 알 수 있는 건가요? dayhigh(0) 이런 식으로 하면 최고값을 받아 올 수 있는 건가요?
3.
input: p1(20);
var : sumv(0),mav(0),count(0);
sumv = 0;
for count = 0 to p1 - 1 {
sumv = sumv+dayclose(count);
}
mav = sumv / p1;
plot(mav, "분봉에서 일봉이평")
강의 내용 中
''그러면 일봉이 완성이 되지 않았겠죠.
왜냐면 오늘 장이 안 끝났으면 이것도 움직이고 있을테니까.
참조종목은 최근 완성된 봉까지만 시세를 이용할 수 있습니다.
오늘자 종가를 집어 넣어서는 일간의 이평을 구현할 수 없겠죠. 없기 떄문에
식으로 풀어서 작성하시게 되는데 이런 식 내용입니다. ''
시스템트레이딩 고수되기 편에 나오는 참조데이터 관련 설명입니다. 그런데 설명을 들어도 좀 이해가 안가는데요. 장중이라면 데이터가 완성되지 않았는데 어떻게 저 수식으로 실시간으로 나오게 할 수 있는 건가요?
4. 시스템
진입
전일 거래대금이 300억 이상이고
현 30분봉의 거래대금이 10억 이상이고
30분봉 볼린저밴드 상단을 상향 돌파시
청산
30분봉 볼린저밴드 상단을 하향돌파시 청산
필터
진입은 하루에 두번만
비고
1분봉에 적용.
5. 시스템
전에 교육때 나눠주신 책자보면 수렴구간 Filter라는 설명이 있는데요.
이 부분 만들 수 있으면 부탁드립니다. 책자에는 이렇게 써 있습니다. 시간이 많이 걸려서 다 안된다면 변동성 축소 구간만이라도 부탁드립니다.
변동성 축소 구간에서 매매제어
ATR RANGE 등 변동성 관련지표가 상승전활할 때 진입
삼각수렴형 패턴에서 진입 제어
직사각형 패턴에서 진입제어
수렴패턴 진입제어
2017-10-18
238
글번호 113443
답변완료
55137번 문의 수정 요청 드립니다.
먼저 빠른 답변 감사드립니다.
근데 제가 질문이 좀 부족했던 같습니다.
다시 설명 드리자면..
과거 중 최근 20일, 60일 데드 발생 지점의 주가(챠트봉)의 가격이 아닌
데드 지점의 가격 입니다.
제가 생각한 것은 먼저 최근 20일, 60일 데드 발생 지점의 날짜를 찾고
그 날짜의 데드 지점의 가격을 찾은 후
주가가 데드 지점의 가격을 돌파 하는것을 질문 드린건데
질문이 상세하지 못했던것 같습니다.
죄송하지만 다시 부탁드립니다. 감사합니다.
-------------------------------------------------------------------
55137번 기존 질문 내용 입니다.
1번 과거 이동평균선 20일선이 60일선 데드 발생지점의
가격을 돌파하는 종목
2번 과거 이동평균선 120일선이 240일선 데드 발생지점의
가격을 돌파하는 종목
1번 돌파 이후 2번을 돌파하는 종목을 검색하고 싶습니다.
------------------------------------------------------------------
2017-10-17
139
글번호 113432
답변완료
매수,매도 양방향 수식을 주식에 적용시
[질문1]
매수, 매도 양방향 진입및 각 청산전략도 있는 수식을 한방향인 일반 주식에 적용 경우,
매수진입 전에 매도진입과 매도청산 조건이 만족되면 시스템에서 "오류"로 나타나던데,이는
당연하다고 생각합니다만 궁금한 것은 이후 일반 매수진입에는 아무런 영향이 없는건지요?
만약 영향이 있다면 주식을 매매할 경우엔 Short진입과 short청산에 관련된 수식들을 굳이 다 지워줘야 하는 건지요?
[질문2]
전략실행 차트에 수식 적용(주식거래)시, 이미 "매수" 신호가 나와 있으면 "청산"신호가 나오기 전에는 다시 "매수" 신호가 나와서 실제 매수진입이 될 가능성은 없나요?
(예로서 매수진입 신호가 나와 있었다하더라도 청산 조건이 매우 낮게 되어 있다면. 청산 신호전에 다시 한번 매수조건이 나올 수 있을 것 같은데, 이때는 실제 매수 진입이 되는지요?)
감사합니다.
2017-10-17
164
글번호 113423
답변완료
간단수식문의드려요 감사합니다
안녕하세요 항상고생많으십니다. 제가 초보라서 수고스러우시겠지만 수식좀 부탁 드리려고합니다
07:00~19:00까지는
당일 저가라인 돌파시 당일 저점 00 틱에서 매수진입하고
19:00 ~ 익일 06:00까지는
당일 저가라인 돌파시 당일 저점 00틱에서 매수진입
이런식으로 시간에 따라 진입가격이 달라지고 진입은 하루1회가능하게 하는
수식요청드려봅니다 미리 감사드립니다! 좋은하루되세요
2017-10-18
144
글번호 113422
답변완료
문의드립니다.
선물차트 기준으로 문의드립니다.
1.단순이평100선과 삼각가중평균 150선 사이를 색채우기 하고자 합니다.
2. 단순이평100선과 지수이평 150선 사이를 색채우기 하고자 합니다.
(기간값은 수정가능하게 부탁드립니다.)
감사합니다. 수고하세요!!!
2017-10-17
158
글번호 113418
답변완료
수식 문의 드립니다
수고 많으시죠 한가지 부탁드겠습니다
다름아니라
진입조건이 되면 신호 발생하고 청산조건이 되면 청산되었다가
다시 진입조건이 되면 반복적으로 집입신호를 발생하고자 하는데
한번 집입하여 청산되면 다시 진입조건이 되어도 신호가 발생하지
않습니다
잘못된 부분을 알려 주시면 감사하겠습니다
Input : af1(0.01), maxAF1(0.02), af2(0.02), maxAF2(0.2) ;
Var : Value1(0);
Var : Value2(0);
Value1 = csar(af1,maxAF1);
Value2 = csar(af2,maxAF2);
If CrossUP(C, Value1) and CrossUP(C , Value2) Then
Buy("매수");
If CrossDown(C, value1) and CrossDown(C, value2) Then
ExitLong("매수청산");
If CrossDown(C, value1) and CrossDown(C, value2) Then
Sell("매도");
If CrossUP(C, value1) and CrossUP(C, value2) Then
ExitShort("매도청산");
2017-10-17
164
글번호 113417