커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8162
글번호 230811
답변완료
문의드려요
강조에서
mac오실레이터값이 0보다 크고 5이평이 우상향일때 빨강
0보다 작고 5이평이 우 하향일때 녹색
강조식 부탁드려요
2016-10-30
176
글번호 103491
답변완료
질문입니다.
일전에 일봉차트에서 봉의 갯수를 카운트하는 지표를 질문드렸습니다.
------------------
안녕하세요
예스스탁입니다.
복합차트를 염두에 두지 않았습니다.
날짜를 영업일 기준으로 변경해 드립니다.
input : X(1);
var : Month(0),nday(0),cnt(0),count(0),pre(0);
#차트 첫봉 부터 현재봉까지 월수를 카운트
if bdate > bdate[1]+30 Then
Month = Month+1;
#날짜에서 일만 추출
nday = int(sdate%100);
#봉수 저장할 변수 초기값
pre = 0;
#for 루프를 200번 시행
for cnt = 1 to 200{
#1봉전 부터 200번째 봉전까지 월수카운트 값과 일자값을 가져와
#현재봉 월수보다 N만큼 작고 날짜가 같은 봉이 있으면
if Month[cnt] == month-X and nday[cnt] == nday then{
#pre에 봉수(cnt) 저장하고
Pre = cnt;
#cnt에 큰값을 주어 for문을 빠져나옴
cnt = 10000;
}
#현재봉 월수보다 N만큼 작은데 휴일등으로 날짜가 같은 봉이 없고 일수가 작은날 발생
if Month[cnt] == month-X and nday[cnt] < nday then{
#pre cnt에서 1을 차감해서 저장하고
Pre = cnt-1;
#cnt에 큰값을 주어 for문을 빠져나옴
cnt = 10000;
}
#이전월에 지정한 날짜와 같은 날도 없고 작은날도 없이(주로 오늘 7월1일인데, 이전월은 1일이 휴일등으로 없을때)
#지정한 월 전월로 변경되면
if Month[cnt] < Month-X Then{
#pre에 cnt에서 1을 차감해서 저장하고
Pre = cnt-1;
#cnt에 큰값을 주어 for문을 빠져나옴
cnt = 10000;
}
}
plot1(Pre);
------------------------------
수정해 주신 지표는 작동합니다.
감사합니다.
한가지 더 질문을 하면,
여기서 변수"pre"가 1달간의 봉의 갯수를 표시하는데,
이 pre를 이용해 ma값을 계산해보려하니까 지표에 아무것도 나타나지 않아서 질문드립니다.
위의 지표에 추가하여
var : mapre(0);
mapre = ma(c, pre);
plot2(mapre);
라고 해보았더니 아무것도 나타나지 않습니다.
저 pre값을 이용해 이동평균을 계산하는 방법을 예시로 부탁드립니다.
감사합니다.
2016-10-30
172
글번호 103490
답변완료
NextBarOpen 문의(2건)
* 항상 많은 도움 고맙습니다.^^
* 질문사항 : " 현재봉 이전 20개봉중 고가,저가 편차가 5% 이상인 종목은 제외"
할려면 어떻게 주어야 하죠?
and countif(NextBarOpen*1.05 > H, 20) < 1 이케 하니까 안되네요.....
ps: 혹시 당일 혹은 (당일+전일)만 적용 가능 한가요?
2번 질문 : Condition2==True or Condition3==True or Condition4==True then buy() 일경우
Condition3==True 일 경우만
if CrossDown(c,ma(c,5) Then ExitLong("이평선하락매도")
적용 할라면 어케하죠?
즉 Condition2,Condition4는 5일이평선 하락에는 매도 안하고
Condition3 에서만 5일 이평선 하락시 매도 적용 하고 싶습니다.
고맙습니다^^
2016-10-30
176
글번호 103489
답변완료
문의 드립니다
문의사항입니다.
1. 추세선A: 봉이 X개 만들어질때 선지가 Y 만큼상승 하는자동 추세선(A)을만듭니다.
(X,Y 입력변수로하시고, 처음적용은 x==20,Y==1 로합니다)
이추세선 A를 기준추세선 이라고하고
2. 추세선B: X는동일 Y는 A의 50% 즉 0.5로적용한 추세선을 만듭니다.
3. 추세선C; X는동일 Y는 A의 150% 즉 1.5 로적용한 추세선을 만듭니다.
추가 조건;
1. 5 이평과 20 이평 골든크로스 발생시 X,Y의 기준이 됍니다
즉 기준 추세선경우
기준봉: X는 골든크로스시 0 이고 이후봉하나생길때마다 1식증가합니다.
기준값;Y는 골든크로스시 해당봉의 min(C,O)+1 이 돼게합니다.
2. 자동추세선이 나타나게하는것은
5 이평과 20 이평 골든크로스시 나타나게하고,
데드크로스 발생시 추세선은 보이지않게합니다.
틱차트에 적용 예정입니다.
위의 지표식을 부탁드립니다.
2016-10-30
178
글번호 103488
답변완료
문의드립니다
시가에 진입이 가능할지는 모르겠습니다.
시가에 매수하고
손절은 10틱
10시30분까지만 매매
진입 수량은 input으로 부탁 드립니다
익절은 지난번 만들어 주신 수식으로 사용 할려고 합니다.
항상 친절한 응대에 감사 드립니다....^^
2016-10-30
156
글번호 103487
답변완료
수식부탁드립니다
(1)
틱 차트에서 이번 주 주봉 시가 지난 주 주봉 시가,이번 달 월봉 시가 지난달 월봉 시가 표시
감사합니다
2016-10-30
191
글번호 103486
답변완료
식?
안녕하세요
우리나라 에서
타주기참조 선행값이용하여 선물 거래할수있는것 무엇이 있나요
타주기 참조 선행값을 이용해서 거래하는것은 자기 자신을 속이는것 이라는데?
누군가 에게 주워 들어서 질문 합니다
사용가능 타주기는 무엇입니까? 사용가능식 과 금지 식 있는지요?
있다면 대표적인 예를 참고 해주십시요
많은 사용자 분이 궁금해 하실겁니다 이만 꾸벅 ^^
2016-10-29
201
글번호 103485
답변완료
글번호 50130 재검토 요청드립니다.
안녕하신 운영자님
작성해주신 수식에 의해 시물레이션 해보면 매수진입시에는 손절이 15틱 잘 맞는데 매도진입 시에는 손절이 일관적이지가 않은 것 같습니다.
2016년 10월 25일자 /26 자 사진을 첨부해 드리오니 검토 부탁드립니다.
input : 거래시간1(1), 시작시간1(200000), 끝시간1(10000),익절틱수 (36),손절틱수 (15);
input : P1(5),P2(20),N(20),X(10);
var : AA(0),BB(0),DD(0),HH(0),LL(0);
if 거래시간1 == 1 then
condition3 = (stime>=시작시간1 or stime<=끝시간1);
Else if 거래시간1 == 2 then
condition3 = (stime>=시작시간1 and stime<=끝시간1);
Else
condition3 = true;
AA = ma(C,P1);
BB = ma(C,P2);
DD = Disparity(P2);
if MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and
BB > BB[1] and C < AA and C > BB and C < O and
DD <= 100.5 and
highest(BB,N) >= Lowest(BB,N)+PriceScale*X Then
buy();
if MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and
BB < BB[1] and C > AA and C < BB and C > O and
DD >= 99.5 and
highest(BB,N) >= Lowest(BB,N)+PriceScale*X Then
Sell();
if MarketPosition == 1 Then{
HH = Floor((highest(H,BarsSinceEntry) - EntryPrice)/(PriceScale*손절틱수));
ExitLong("bx",AtStop,(EntryPrice-(PriceScale*손절틱수))+(PriceScale*손절틱수)*HH);
}
if MarketPosition == -1 Then{
LL = Floor((Lowest(L,BarsSinceEntry)-EntryPrice)/(PriceScale*손절틱수));
ExitShort("sx",AtStop,(EntryPrice+(PriceScale*손절틱수))-(PriceScale*손절틱수)*LL);
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
if stime == 끝시간1 or (stime > 끝시간1 and stime[1] < 끝시간1) Then{
if MarketPosition == 1 Then
ExitLong();
if MarketPosition == -1 Then
ExitShort();
}
2016-10-29
200
글번호 103484
답변완료
글번호 50313번 재질문
안녕하세요?
글번호 50313번 재질문 드립니다.
세부내역은 첨부로 올립니다.
감사합니다.
----------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
input : xtime(60000),af(0.02),maxaf(0.2);
var : tcond(false),cond1(false),cond2(false);
var : sarv(0);
sarv = csar(af,maxaf);
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] and c > sarv Then
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] and c < sarv Then
sell("S");
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 함수수정요청(269)
> 안녕하세요?
아래의 함수 수정요청드립니다.
진입신호가 생성될 때 조건을 추가하고자합니다.
추가된 조건이 기존 신호를 새롭게 바꾸는 것이 아니라
단순하게 필터링만 하고자 합니다.
파라볼릭신호가 매수일 때 아래 함수의 매수신호가 발생되면 진입하며
파라볼릭신호가 매도일 때 아래 함수의 매도신호가 발생되면 진입하고자 합니다.
파라볼릭의 정의는 시스템 지표에 기본적으로 제공되는 '파라볼릭(종가)'입니다.
감사합니다.
input : xtime(60000);
var : tcond(false),cond1(false),cond2(false);
if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{
Tcond = false;
}
if bdate != bdate[1] Then{
Tcond = true;
Condition1 = false;
Condition2 = false;
}
var1 = ma(c,5);
var2 = ma(c,20);
cond1 = C > var1 and var1 > var2;
cond2 = C < var1 and var1 < var2;
if cond1 == true and cond1[1] == false then
Condition1 = true;
if cond2 == true and cond2[1] == false then
Condition2 = true;
if Tcond == true And
Condition1 == true and cond1 == true and
var1 > var1[1] and var2 > var2[1] Then
buy("B");
if Tcond == true And
Condition2 == true and Cond2 == true and
var1 < var1[1] and var2 < var2[1] Then
sell("S");
2016-10-29
193
글번호 103482