커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3536
글번호 230811
답변완료
문의
데이트레이딩
개장 후 옵션 가격이 2.00에서 3.00 구간이면 매수하는 수식을 작성해보았습니다.
추천해주실 다른 방식이 있는지요?
*******************************************************************
input : upprice(3.00),dnPrice(2.00);
if upprice >= NextBarOpen and NextBarOpen >= dnprice Then
buy("b",AtMarket );
2019-12-16
133
글번호 134409
답변완료
수정 부탁드립니다
안녕하세요!
아래는 지난번에 만들어 주신 수식인데 약간 수정을 부탁드립니다.
임의로 정해놓은 가격선에 콜이나 풋이 도달하면 선물챠트에 라인이 그려지는 수식입니다.
아래 콜이나 풋이 너무 도달횟수가 많아서 라인이 많이 생성되기에 >>>>>> 콜 만 임의의 가격
선에 돌파하거나 붕괴하면 선물챠트에 라인이 생성되게끔 수정해 주시면 감사하겠습니다.
돌파시 선색상은 마젠타 / 붕괴하면 초록색이 선물챠트에 생성되도록 수정을 부탁드립니다.
감사합니다.
input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0);
input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5);
var : V2(0,data1),V3(0,data1),V4(0,data1),V5(0,data1),V6(0,data1);
var : V7(0,data1),V8(0,data1),V9(0,data1),V10(0,data1),V11(0,data1);
if data2(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v2 = data1(c);
if data3(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v3 = data1(c);
if Data4(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v4 = data1(c);
if data5(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v5 = data1(c);
if data6(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v6 = data1(c);
if data7(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v7 = data1(c);
if data8(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v8 = data1(c);
if data9(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v9 = data1(c);
if data10(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v10 = data1(c);
if data11(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v11 = data1(c);
plot1(v2,"data2");
plot2(v3,"data3");
plot3(v4,"data4");
plot4(v5,"data5");
plot5(v6,"data6");
plot6(v7,"data7");
plot7(v8,"data8");
plot8(v9,"data9");
plot9(v10,"data10");
plot10(v11,"data11");
2-1
input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0);
input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5);
var : V2(0,data1),V3(0,data1);
if data2(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v2 = data1(c);
if data3(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v3 = data1(c);
plot1(v2,"data2");
plot2(v3,"data3");
2-2
input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0);
input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5);
var : V4(0,data1),V5(0,data1);
if data4(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v2 = data1(c);
if data5(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v3 = data1(c);
plot1(v4,"data4");
plot2(v5,"data5");
2-3
input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0);
input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5);
var : V6(0,data1),V7(0,data1);
if data6(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v2 = data1(c);
if data7(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v3 = data1(c);
plot1(v6,"data6");
plot2(v7,"data7");
2-4
input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0);
input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5);
var : V8(0,data1),V9(0,data1);
if data8(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v2 = data1(c);
if data9(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v3 = data1(c);
plot1(v8,"data8");
plot2(v9,"data9");
2-5
input : price1(1.0),price2(1.5),price3(2.0),price4(2.5),price5(3.0);
input : price6(3.5),price7(4.0),price8(4.5),price9(5.0),price10(5.5);
var : V10(0,data1),V11(0,data1);
if data10(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v2 = data1(c);
if data11(crossup(h,price1) or CrossDown(L,price1) or
crossup(h,price2) or CrossDown(L,price2) or
crossup(h,price3) or CrossDown(L,price3) or
crossup(h,price4) or CrossDown(L,price4) or
crossup(h,price5) or CrossDown(L,price5) or
crossup(h,price6) or CrossDown(L,price6) or
crossup(h,price7) or CrossDown(L,price7) or
crossup(h,price8) or CrossDown(L,price8) or
crossup(h,price9) or CrossDown(L,price9) or
crossup(h,price10) or CrossDown(L,price10)) Then
v3 = data1(c);
plot1(v10,"data10");
plot2(v11,"data11");
2019-12-16
158
글번호 134403
답변완료
파라볼릭 돌파 시스템 식 문의
파라볼릭 상단(파란색)을 돌파하면 매수진입(노란색 박스)
파라볼릭 하단(빨간색)을 돌파하면 매도진입(파란생 원)
가능할까요?
2019-12-16
213
글번호 134402
답변완료
문의드립니다.
안녕하세요.
수식문의드립니다.
첨부파일과 같이
A, B 하강엣지 가 둘 다 발생 했을때,
A, B 상승엣지 가 둘 다 발생 했을때 를 기준으로
C신호를 만들고 싶습니다.
가이드 수식 부탁드립니다.
감사합니다.
2019-12-16
180
글번호 134401
답변완료
변율법 수식
리밸런싱법 중 변율법에 대한 수식 부탁드립니다.
[조건]
- kodex200 /현금 으로 리밸런싱
- 리밸런싱 비율 ; 엔벨로프로 채널을 만들어 비율조정 & 채널 중심은 1000일선
. 30% 이상 -> 20/80
. 20~30%미만 -> 30/70
. 10~20%미만 -> 40/60
. -10 에서 +10%미만 -> 50/50
. -10 ~ -20%미만 -> 60/40
. -20 ~ -30%미만 -> 70/30
. -30% 이하 -> 80/20
- 리밸런싱횟수 ; 매월 2회
. 첫째주 화요일
. 셋째주 목요일
(날짜를 바꿀 경우를 대비하여 그 방법도 알려주시면 감사하겠습니다)
[추가질문]
- 리밸런싱 대상을 kodex 200은 그대로 하고, 현금대신 kodex 인버스로 하려면 식은 어떻게 바꾸야 하는 지도 알려 주시면 감사하겠습니다.
매번 감사드립니다.
2019-12-16
193
글번호 134397
답변완료
수식 부탁드립니다.
관리자님, 안녕하세요?
요즘 날씨가 쌀쌀합니다. 건강챙기시기 바랍니다.
수식작성 부탁드립니다.
아래 내용의 예시 이미지 첨부드렸으니, 참고하시면 감사하겠습니다.
***진입
※교차매매 진입은 되지않게, 익/손절에 청산 혹은 청산후 역진입신호시만 되게 부탁드립니다.
※매수진입의 음봉외부변수 양봉외부변수, 매도진입의 양봉외부변수 음봉외부변수 각각 입력할수있게 외부변수 4개로 부탁드립니다.
1) 매수진입 : 몸통길이(외부변수)틱 음봉종가와 몸통길이(외부변수)틱 양봉시가가 같고 연달아 출현시 매수.
2) 매도진입 : 몸통길이(외부변수)틱 양봉종가와 몸통길이(외부변수)틱 음봉시가가 같고 연달아 출현시 매도.
***청산후 역방향 재진입
1) 매수진입후 진입한 양봉의 시가보다 한틱 아래서 마감하는 음봉 출현시 청산후 역진입.
2 )매도진입후 진입한 음봉의 시가보다 한틱 위에서 마감하는 양봉 출현시 청산후 역진입.
***익절/손절
익절(외부변수)틱 / 손절(외부변수)틱
2019-12-16
293
글번호 134396
답변완료
문의 드립니다.
1분봉(1000봉) 챠트에서 실행합니다.
데이터가 하루하루적용이 한되는 경우가 있으서 문의 드립니다.
1. 수식 부탁드립니다.
당일(일별) 최고종가와 이후 봉IDX,
최저종가와 이후 봉IDX.
최초로 종가가 20이평 상향돌파후 최고종가와 이후 봉IDX(일 처음 골든만)
최저종가와 이후 봉IDX.
2. 질문드립니다.
첫번째 질문 : bdate != bdate[1] 영업일이 다르면
sdate != sdate[1] 달력상날짜가 다르면
의미하는 뜻은 알겠는데 수식 작성시 확실히 이해가 되지않아
혼동이 오네요. 어떠한경우에는 bdate 를 쓰고
어떠한 경우는 sdate를 쓰는지 설명부탁드립니다.
두번째 질문 ; 내부변수에 var로 Idx(-1)과 IDX(0)으로 변수설정을 다르게 하는 경우
간단한 설명 바랍니다.
2019-12-15
137
글번호 134395
답변완료
수식 문의
아래 수식은 data5에 대해 당일 평균가를 구하고
그 가격에 볼밴을 입힌 지표 입니다.
---------- 수식 문의 --------------
아래 수식에서 당일 평균가가 아닌,
(야간장) 전일 22:01분~오늘15:00분 까지의
평균가격을 구하고 싶습니다.
친절한 답변 항상 감사드립니다.
############ 다음 #############
input : period(20),Dv(2);
var: sumC(0),Cma(0),CBBUp(0),CBBDn(0),Cstd(0);
var: sumH(0),Hma(0),HBBUp(0),HBBDn(0),Hstd(0);
var: sumL(0),Lma(0),LBBUp(0),LBBDn(0),Lstd(0);
var: Sumi(0);
if date != date[1] then{
sumC = Data5(0);
sumH = Data5(0);
sumL = Data5(0);
Sumi = Data5(0);
}
sumC = Data5(sumC+c);
sumH = Data5(sumH+H);
sumL = Data5(sumL+L);
Sumi = Data5(sumi+1);
Cma = Data5(sumC/Sumi);
Hma = Data5(sumH/Sumi);
Lma = Data5(sumL/Sumi);
Cstd = Data5(std(Cma, Sumi));
Hstd = Data5(std(Hma, Sumi));
Lstd = Data5(std(Lma, Sumi));
CBBUp = Data5(Cma + (Dv* Cstd));
CBBDn = Data5(Cma - (Dv* Cstd));
HBBUp = Data5(Hma + (Dv* Hstd));
HBBDn = Data5(Hma - (Dv* Hstd));
LBBUp = Data5(Lma + (Dv* Lstd));
LBBDn = Data5(Lma - (Dv* Lstd));
plot1(CBBup,"CBBup");
plot2(CBBdn,"CBBdn");
plot3(Cma,"Cma");
plot4(HBBup,"HBBup");
plot5(HBBdn,"HBBdn");
plot6(Hma,"Hma");
plot7(LBBup,"LBBup");
plot8(LBBdn,"LBBdn");
plot9(Lma,"Lma");
2019-12-15
172
글번호 134394
답변완료
현재봉 앞에 한봉 놓아보기
항상 수고 많으십니다.
현재봉 앞에 한봉을 현재봉의 종가로 놓아보고
지표나 시스템 신호를 발생시키는 방법을 알고 싶습니다.
2019-12-15
120
글번호 134393