커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7470
글번호 230811
답변완료
시스템 수식 수정 부탁드립니다.
아래의 수식은 시초가 이후 스토캐스틱 첫 골든크로스에 매수하는 수식입니다.
스토캐스틱 두번째 골든크로스에 매수할수 있도록 수정 좀 부탁드립니다.
- 아 래 -
if date != date[1] Then{
Entry = 0;
GoldenCross = 0;
}
if CurrentContracts > CurrentContracts[1] Then
Entry = Entry+1;
if Entry == 0 Then{
if crossup(stok,stod) Then{
GoldenCross = GoldenCross+1;
if GoldenCross == 1 Then
buy("매수");
}
}
2015-03-26
135
글번호 84458
답변완료
시스템식 부탁드립니다.
1. 포지션 시스템이고 피라미딩 시스템입니다.
2. [첫 진입] - 매수는 c > dayopen+ 1 / 매도는 c < dayopen- 1
3. [피라미딩 진입] - 첫진입후 1포인트 움직이면 그 방향으로 5개까지 피라미딩 진입
4. [첫진입 손절] - 첫진입시에는 1포인트 반대로 가면 손절
5. [피라미딩진입 이후 손절] - 피라미딩 이후에는 가격이 직전진입가 대비 1포인트 반대로
가면 전부 청산
6. 첫진입은 하루에 매수 / 매도 각각 하루에 한번씩만 진입.
피라미딩은 하루진입 제한은 없고 5개까지 진입갯수로 제한.
피라미딩후 전부청산하게 되면 그날은 더이상 진입이 없고 다음날부터 다시 시작.
부탁드립니다.
항상 건강하세요. ^^
2015-03-26
122
글번호 84457
미송 님에 의해서 삭제되었습니다.
2015-03-26
6
글번호 84456
팡팡 님에 의해서 삭제되었습니다.
2015-03-26
1
글번호 84455
팡팡 님에 의해서 삭제되었습니다.
2015-03-26
0
글번호 84454
답변완료
Re : Re : n일 까지의 첫봉 -오류 수정 요망 합니다
질문한지 5일이 지나도 답이없어 재차 질문 합니다
1번항은 재대로 되어 감사 드림니다
2번항은 11시로 기준 잡아 해보니 전일 종가 돌파는 작동이 안되고 시가돌파는 90
%로만 맞고 일부 틀려서 10시로 해서 다시 해보니 같은 결과입니다
빠른 답변 부탁 드림니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : n일 까지의 첫봉
> 안녕하세요
예스스탁입니다.
전화로 설명드린부분과 1번과 2번에 대해 리스트가 출력되는 식을 올려드립니다.
차트 전체기간에 각 일자별로 리스트 됩니다.
1.
input : N(0);
var : cnt(0),idx(0),V1(0),Hl(0);
if dayindex == 0 Then{
V1 = V;
HL = H-L;
print("F1.csv",",거래량,%.f,변폭,%.2f",V1,HL);
}
2.
input : N(110000);
var : preDayCloseCross(0),dayOpenCross(0),T1(0),T2(0);
var1 = max(C,O);
var2 = min(C,O);
if date != date[1] Then{
dayOpenCross = 0;
preDayCloseCross = 0;
T1 = 0;
}
if stime < N Then
{
if T1 >= 0 and var1 < DayClose(1) Then
{
preDayCloseCross = preDayCloseCross+1;
T1 = -1;
}
if T1 <= 0 and var2 > DayClose(1) Then
{
preDayCloseCross = preDayCloseCross+1;
T1 = 1;
}
if dayindex > 0 and T2 >= 0 and var1 < dayopen Then
{
dayOpenCross = dayOpenCross+1;
T2 = -1;
}
if dayindex > 0 and T2 <= 0 and var2 > dayopen Then
{
dayOpenCross = dayOpenCross+1;
T2 = 1;
}
}
if stime == N or (stime > N and stime[1] < N) Then
print("F2.csv",",전일종가,%.f,당일시가,%.2f",preDayCloseCross,dayOpenCross);
2015-03-26
191
글번호 84453
선물꾼 님에 의해서 삭제되었습니다.
2015-03-26
0
글번호 84452
답변완료
수식 질문입니다..
빠른 답변 덕분에 많이 알아가고 있어서 감사드립니다..
내일이 주말이라 기초 지식은 좀 있어야 공부가 쉬울거 같아 질문이 좀 많네요^^;;
질문 01) Force Index
당일 0봉기준 아래의 Condition과 봉조건에 맞는 종목 검색식을 만들고 싶은데...
잘 안되네요^^;;
input : P1(2),P2(15);
Variables: fval(0),fis(0),fil(0);
fval= ((Close - Close[1]) * Volume) ;
fis = Ema(fval, P1);
fil = Ema(fval, P2);
Condition1 = fis <= 0 and fil <= 0;
Condition2 = fis >= 0 and fil >= 0;
Condition3 = fis >= 0 and fil <= 0;
if ( ?if(Condition1(5) == true,3) == 0 잘모르겠네요^^;; ---- ) Then
find(1);
여기에서 당일종가 0봉을 기준으로
5봉전은 Condition1에 만족,
4봉전은 Condition3에 만족,
3봉전은 Condition1에 만족,
2봉전은 Condition2에 만족,
1봉전은 Condition2에 만족,
0봉전은 Condition2에 만족하는 검색식을 만들고 싶습니다.
그리고 이 검색식을 테스트하기 위하여
당일 0봉을 기준으로하는 검색이 아닌
20봉 전을 기준으로 검색하고도 싶습니다.
fval (20)하면 될까요?
------------------
질문02)
어제 답변주신 수식중에서 화살표 부분의 의미가 궁금합니다.
input : P1(5),P2(20);
var : aa(0),bb(0),xx(0),cc(0),dd(0),yy(0),ee(0),ff(0),zz(0); # <----- '0'의 의미
var : gg(false),hh(false); # <----- 'false'의 의미
var : mav1(0),mav2(0); # <----- '0'의 의미
aa=(C[4] + C[3] + C[2])/3;
.
.
.
.
.
ff=(H[2] + L[1] + O[0])/3;
zz=(ff-ee);
mav1 = ma(c,P1);
mav2 = ma(C,P2);
gg = C[1] < O[0];
hh = O[0] < C[0];
if gg and hh and xx<0 and yy<0 and zz<0 Then
find(1); 에서
- gg(false),hh(false); 의미가 궁금합니다. false말고 ture를 사용하면 어떤 의미가 될까요?
- var에서 '0'의 의미가 알고 싶습니다.
- Variables: Fval(0),FvalFast(0),FvalSlow(0); 여기서 Fval은 무슨 뜻이 있나요?
- Input과 Inputs는 뭐가 다른가요?
- var 와 Variables는 다른 의미인가요?
(직접 설명을 달아주시니가 훨씬 이해가 빠른데...
아니면 도움말 어느부분을 공부하라고 해주셔요 상관없습니다.)
------------------
질문 03)
아래 수식에서 검색 기준봉이 0봉이 아닌 20봉전으로 검색하게하려면 뭘 바꿔야할까요?
그러니까 당일 기준 20봉전부터 22봉까지를 검색하고 싶습니다.
검색식의 결과를 알기 위해서입니다.
Inputs: ShortPeriod(5),LongPeriod(20);
Variables: Fval(0),FvalFast(0),FvalSlow(0);
Fval = ((Close - Close[1]) * Volume) ;
FvalFast = Ema(Fval, ShortPeriod);
FvalSlow = Ema(Fval, LongPeriod);
#동시 0이하이면 true 아니면 false
Condition1 = FvalFast <= 0 and FvalSlow <= 0;
#최근 3개봉에 동시 0이하인 경우가 없는 종목검색
if countif(Condition1 == true,3) == 0 Then
find(1);
----------------
질문 04)
검색식 안에 추가할 내용인데 적당할까요/
#전일 거래량
Condition7= 100000 < volumed( 1) And volumed (1) =< 999999999999
#전일 거래 대금 (대략)
Condition8= ( volumed(1 ) * opend(1 )) > 100000000
#주가범위
Condition9 = 3000 < closed And closed < 50000
-------------------
질문 05)
60봉중 최대거래량이 터진날을 기준수량으로하여
당일 거래량이 최대거래량 대비 30%이하로 줄어든 종목을 검색하는 수식 부탁드립니다.
-------------------
질문 06)
마지막 질문입니다.
3번 수식에서 이어지는 질문인데요...
Condition1 = FvalFast >= 0 and FvalSlow >= 0;
Condition2 = FvalFast <= 0 and FvalSlow >= 0;
Condition3 = FvalFast >= 0 and FvalSlow <= 0;
Condition4 = FvalFast <= 0 and FvalSlow <= 0;
3번수식에 만족한 결과내 검색을 한번 더 하는데...
만약 20봉을 검색하는데...
Condition3이 발생한 횟수보다
Condition1이나 2가 발생한 횟수가 더 많은 종목을 검색할 수 있을까요?
말도 안되는 질문이면 패스하셔도 상관없습니다.^^*
감사합니다^^*
2015-03-27
255
글번호 84451
답변완료
수식
41044..주문번호참고바람
일목26기준선값이 있지요 ~
일목기준평균값(깔아라보니까일목기준선하고 같더군요..기준선은26일동안최과.최저가중간값말고요제가원하는건...기준선값을..다시/2값입니다)
일목기준선값....주가가최고+최저/2....말고
이미...나눈상태에서 /2수식부탁드려요
(타증권사랑선의위치가다르네요)
2015-03-27
169
글번호 84450