커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4534
글번호 230811
답변완료
질문입니다.
data1에 5분봉 차트를 띄우고,
data2에 일봉 차트를 띄운 후에
일봉에서 생성한 볼린져 밴드를 5분봉 차트에 씌우고 싶습니다.
그런데 이 볼린져 밴드의 중심선을 일반적인 이동평균이 아닌,
"(전거래일 종가 + 전거래일 고가 + 전거래일 저가) / 3"을 형성하고,
이에 대한 10일 평균을 구해서 사용하고 싶습니다.
볼린져밴드 상, 하한선도 위의 중심선의 이동평균을 기준으로 +, - 표준편차 2로 하고 싶습니다.
즉, 일봉에서 기존과 다른 볼린져 밴드를 생성한 후에
이 지표를 5분봉에 적용하고 싶습니다.
꼭 data2를 이용한 지표형성 방식을 알고 싶습니다.
예시와 함께 부탁드립니다.
감사합니다.
2016-09-19
105
글번호 101995
답변완료
부탁 드립니다.
YT로 변환 부탁 드립니다.
미리 감사 드립니다.
DEMA(C,P20);
2016-09-19
99
글번호 101992
답변완료
수식 문의
수고많으십니다. 수식 한가지만 문의드립니다.
상품명: 크루드오일
진입조건
- 한국시간 15시 이후의 고가 또는 저가로부터 50틱의 변동이 발생하였을때 변동방향대로 진입
ex.저가로부터 50틱 상승시 시장가 매수진입.
고가로부터 50틱 하락시 시장가 매도진입.
- 청산조건 : 익절 60틱, 손절 35틱
- 거래제한 : 1일 진입횟수 1회로 제한 (일중 최초로 조건만족시에만 진입, 이후는 무시)
- 주문수량
기본 1계약
2일연속 손절시 3일차 2계약 진입
3일연속 손절시 4일차 3계약 진입
4일연속 손절시 5일차 4계약 진입
5일연속 손절시 6일차부터는 다시 1계약 진입
2016-09-19
100
글번호 101990
답변완료
수식 오류 검토 부탁드립니다.
일봉 기준으로,
현재까지의 갭의 총합을 지표로 만들려고 합니다.
즉, 오늘의 지표값은 오늘 아침 갭 + 어제 아침 갭 + 그제 아침 갭 + .... + 지수 도입 이후 둘째날의 갭이 되는 겁니다.
아래와 같이 식을 썼는데.. 그림을 그리면 아무것도 표시가 안됩니다.
var : gap(0),gapsum(0);
gap = open - close[1];
gapsum = gapsum + gap;
Plot1(gapsum, "gapsum");
참고로 위와 동일한 개념으로, 봉 길이의 합 지표를 아래와 만들었는데, 이 경우에는 정상적으로 잘 그려집니다.
var : bong(0),bongsum(0);
bong = (close - open);
bongsum = bongsum + bong;
Plot1(bongsum, "bongsum");
두 개의 차이라고는.. 갭의 경우 전일 데이터와 금일 데이터를 같이 쓴다는 것 밖에는 없는거 같은데..
왜 위에 것은 안되고, 아래 녀석은 되는지 몰겟습니다.
검토 부탁드립니다.
2016-09-18
116
글번호 101989
답변완료
해외선물 5분봉에 타주기 이평선을 넣고 싶습니다..
해외선물 지표를 만들고 있습니다.
검색을 좀 해봤는데.. 잘 안나오네요...
5분봉 차트에 60분봉 5선을 넣고 싶습니다.
수식 부탁드립니다..
미리 감사합니다..^^
2016-09-18
163
글번호 101988
답변완료
보완부탁드림니다.
옵션 자기기준가(매월 2번째금요일의 저가)의 수식을 찿아 적용해보니 금요일으ㅓ 저가가 고정되지않고 움직입니다 수정을 부탁드림니다.
var : nday(0),week(0),cond(false),N(0);
nday = date - int(date/100)*100;
week = DayOfWeek(date);
if (nday >= 8 and nday <= 14 and week == 4) or (sdate == 20160909) then
cond = true;
Else
cond = false;
if date != date[1] Then{
if cond == false and cond[1] == true Then
N = 0;
Else
N = N+1;
}
if N == 1 Then
var1 = daylow;
plot1(var1,"자기기준가");
2016-09-18
112
글번호 101987
수루지 님에 의해서 삭제되었습니다.
2016-09-18
0
글번호 101986
답변완료
문의 드립니다
1번 지수이동평균선 스시템 매매수식(수식은 잘모름)
20일선이 80일선 상승크로스
20일선이 80일선 하락크로스 일때
2번 시스템 매매수식
input : Period(15);
var : T(0);
var1 = ma(c,Period);
if var1 > var1[1] Then
T = 1;
if var1 < var1[1] Then
T = -1;
if T == 1 and T[1] != 1 Then
buy();
if T == -1 and T[1] != -1 Then
sell();
1번 시스템매매인 20일선이 80일선을 상승크로스 만족시
2번 시스템 매매수식의 15일선으로 매수진입 및 청산만 진행하고
1번 시스템매매인 20일선이 80일선을 하락크로스 만족시
2번 시스템 매매수식의 15일선으로 매도진입 및 청산만 진행되도록 구현하고자 합니다
지수이동평균선 3개 종류는 수시로 변경하여 사용할 계획입니다
(시스템 매매 설정창의 변수값 3대를 수시로 변경하여 사용할 계획임)
오늘도 오늘 하루되세요
2016-09-19
101
글번호 101985
답변완료
추가부분의익절
Input : shortPeriod(5), longPeriod(20),최대수량(10);
Var : value(0),vol(0);
if MarketPosition != 0 Then{
if PositionProfit < 0 Then
Vol = MaxContracts+1;
Else
vol = 1;
}
if MarketPosition == 0 Then{
if PositionProfit(1) < 0 Then
Vol = MaxContracts(1)+1;
Else
vol = 1;
}
value = OSCP(shortPeriod, longPeriod);
If CrossUP(value, 0) Then
Buy("b",OnClose,def,min(최대수량,Vol));
If CrossDown(value,-0) Then
Sell("s",OnClose,def,min(최대수량,Vol));
# 추적청산
input : AtrMult(6), AtrPeriod(6);
var : AtrVal(0), posHigh(0), posLow(0);
# ATR 추적청산
ATRVal = ATR(AtrPeriod) * AtrMult;
PosHigh = Highest(H,BarssinceEntry+2);
PosLow = Lowest(L,BarsSinceEntry+2);
If MarketPosition == 1 and C < ma(c,20) Then
sell("ATR1", AtStop, PosHigh - ATRVal,min(최대수량,Vol));
If MarketPosition == -1 and C > ma(c,20) Then
buy("ATR2", AtStop, PosLow + ATRVal,min(최대수량,Vol));
수고합니다.
위수식에서
매매후 추가부분을2p 달성시 즉시 이익실현합니다
즉 손실후 계속추가한부분만 분봉즉시 이익실현합니다.
(그리고 나머지는 원점에서 다시 손실마다 한개씩추가해갑니다)
항상감사합니다.
2016-09-19
99
글번호 101984