커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7626
글번호 230811
답변완료
수식문의
var : idx(0,data3),sum(0,data3),ma1(0,data3),d2(0,data3);
if data3(date!=date[1]) Then{
idx = 0;
sum = 0;
}
d2 = data3(ma(c,1));
if data3(dayindex < 1) Then{
idx = idx+1;
sum = sum+data3(c);
ma1 = idx/sum;
}
Else
{
ma1 = d2;
}
plot1(ma1);
위의수식에서 위로는빨강아래는파랑으ㅗ구현해주세요 제가해봐는데 Else
이수식땜에구현이안되내요
plot1(data3(C-C[1])); 그리고 이수식해석좀 부탁합니다
2012-10-25
283
글번호 55925
답변완료
시스템식 문의
안녕하세요.
틱차트 상에서 당일 최대거래량이 발생했을때 매수신호가 발생하는 시스템식을 알고 싶습니다.
수고하세요...
2012-10-25
264
글번호 55924
답변완료
문의드립니다
아래식을 변수(봉갯수) 를 넣고 평균값을 구하고 싶습니다
가능할까요? 가능하다면 선그래프로 부탁드립니다
var : stimeTosecond(0),timeTosecond(0),SecondMakecandle(0),value(0);
var1 = TimeToMinutes(stime)*60;
var2 = FracPortion(stime/100)*100;
stimeTosecond = var1+var2;
value1 = TimeToMinutes(time)*60;
value2 = FracPortion(time/100)*100;
timeTosecond = value1+value2;
SecondMakecandle = (timeTosecond-stimeTosecond)/2;
plot1(SecondMakecandle);
2012-10-25
257
글번호 55923
답변완료
예스글로벌 에서 ...
예스글로벌에서 원하는 시간대의 가격데이터만 이용할수 있나요 ?
예를들어서 이동평균선 매매를 한다고할때 밤 12시부터 새벽5시까지 데이터만 계속 가지고 가격을 구할수 있나요 ?
10 분봉으로 5개봉의 이동평균선 가격을 구할때 밤 12시20분의 이동평균선 가격을 새벽4시50분,새벽5시,밤12시,밤12시10분 ..이런식으로 데이터 가공이 가능한가해서요 ^^
2012-10-24
261
글번호 55922
답변완료
시간 간격을 수식으로 표현 가능한지요?
안녕하십니까?
만약 현재 시간인 오전 10시 30분 20초 라면
09:00부터 현재까지 시간 간격을 수치로 표시가 가능한지요.
현재 시간을 변수로 두어 09:00부터 현재까지 시간 간격을
수치로 나타내고 싶습니다.
좋은 하루 되세요.
2012-10-24
245
글번호 55921
답변완료
청산조건 추가분 오류수정 요청합니다
항상 감사합니다.
1.아래식은 정상적으로 신호가 발생하는 상태인데
추가청산조건(지수이평 200선을 돌파시/매수청산/매도청산)을 적용후 시스템을 돌려보니
첨부파일
오류신호 아래챠트에서는
매도신호a 가 발생한후 추가청산조건식에 의거 청산신호가 발생했습니다.
이후 오류신호가 나오질않아야 되는데
추가청산신호 적용이전의 청산신호자리에서
매수진입신호후 발생후 청산신호발생 햇습니다.(매수진입신호 나오면 안됨)
첨부파일.. 오류신호1 에서 보면 매도신호 발생햇는데 매도신호가 발생안햇습니다
시스템이 뭔가 꼬인것같습니다..
시스템식 수정부탁드립니다
2.현재 30분봉20이평기준이 삼각가중이평으로 셋팅되어져 있는건가요
감사합니다
안녕하세요
예스스탁입니다.
1.
Inputs: Length1(5),Length2(20),Atime(30),Length3(20);
Variables: P1(0),P2(0),P3(0),TRIma1(0),TRIma2(0),TRIma3(0);
var : cnt(0),count(0),sum(0),sum1(0);
Array : CC[100](0),mav[100](0);
TRIma1 = ema(c, Length1);
TRIma2 = ema(c, Length2);
p3 = Ceiling((Length3 + 1) * .5);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
Mav[cnt] = mav[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to P3-1{
sum = sum+CC[count];
}
mav[0] = sum/P3;
sum1 = 0;
for count = 0 to P3-1{
sum1 = sum1+mav[count];
}
TRIma3 = sum1/P3;
if C > TRIma3 Then{
if crossup(TRIma1,TRIma2) Then
buy();
if CrossDown(TRIma1,TRIma2) Then
exitlong();
}
if C < TRIma3 Then{
if CrossDown(TRIma1,TRIma2) Then
Sell();
if CrossUp(TRIma1,TRIma2) Then
ExitShort();
}
var1 = ema(c,200);
if MarketPosition == 1 and CrossDown(c,var1) Then
exitlong();
if MarketPosition == -1 and CrossUp(c,var1) Then
ExitShort();
2.
실시간 차트의 최대 봉갯수는 5000개 입니다.
사용하시는 주기에서 30분의 200이평을 계산할 수 없어
신호가 발생하지 않는 것입니다.
해당 부분은 수식으로 따로 처리가 가능하지 않습니다.
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 청산조건 추가요청합니다.
> 항상 감사드립니다...
1.아래식에서 청산조건을 추가코져 합니다
30분20이평기준 200틱챠트 (5/20) 돌파매매식
매수청산추가 200틱챠트에서 지수이동평균 200선을 하향돌파하면 청산
매도청산추가 200틱챠트에서 지수이동평균 200선을 상향돌파하면 청산
지수이동평균은 외부변수로 부탁드립니다.
2.아래식을 시스템으로 돌려보면 30분 20이평기준은은 신호가 정상적으로 나오는데
30분 200 이평으로 고쳐서 돌려보면 시스템 신호가 나오질 않습니다
혹시 수정가능한가요...
Inputs: Length1(5),Length2(20),Atime(30),Length3(20);
Variables: P1(0),P2(0),P3(0),TRIma1(0),TRIma2(0),TRIma3(0);
var : cnt(0),count(0),sum(0),sum1(0);
Array : CC[100](0),mav[100](0);
TRIma1 = ema(c, Length1);
TRIma2 = ema(c, Length2);
p3 = Ceiling((Length3 + 1) * .5);
var1 = TimeToMinutes(stime)%Atime;
if dayindex() == 0 or (var1 < var1[1] and stime > stime[1]) Then{
for cnt = 1 to 99{
CC[cnt] = CC[cnt-1][1];
Mav[cnt] = mav[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to P3-1{
sum = sum+CC[count];
}
mav[0] = sum/P3;
sum1 = 0;
for count = 0 to P3-1{
sum1 = sum1+mav[count];
}
TRIma3 = sum1/P3;
if C > TRIma3 Then{
if crossup(TRIma1,TRIma2) Then
buy();
if CrossDown(TRIma1,TRIma2) Then
exitlong();
}
if C < TRIma3 Then{
if CrossDown(TRIma1,TRIma2) Then
Sell();
if CrossUp(TRIma1,TRIma2) Then
ExitShort();
}
2012-10-25
383
글번호 55920
답변완료
공부하다가,,,
한권으로 끝내는 시스템트레이딩 책에서
225페이지 아래 전략작성 tip을 보면요
청산 식에 marketposition<>0이 사용된 이유는 진입 봉에서 청산 신호가 발생되지 않도록 하기 위함이다,,
라고 되어있는데요,,
저 말이 이해가 안가네요,,
marketposition==0 이라 하더라도 어차피 포지션이 없으면 청산도 안하는거 아닌가요,,
그리고 만약 진입봉에서 청산 신호가 발생하더라도 청산해야 되는거 아닌가요??
말 자체가 이해가 안가요,,설명좀 부탁드려요~
2012-10-24
233
글번호 55919
답변완료
수식부탁드립니다 ^^!
미리 감사드립니다
1. 매수 매도 합쳐서 하루에 한번진입합니다
2. 2분봉을 사용해서 밤 12 시12분 이후로 종가가 이전 5개봉의 고가보
다높은경우 매수 진입 , 이전5개 봉의 저가보다 낮은경우 매도진입합니다
3. 진입가격에서 2포인트에 손절합니다
4. 포지션이 있을경우 새벽 4시50 분 에 청산합니다
5 . 다시 다음날 밤 12시12분 이후 진입합니다
부탁드리겠습니다 예스글로벌 사용할계획입니다
2012-10-24
243
글번호 55918
털보 님에 의해서 삭제되었습니다.
2012-10-24
5
글번호 55917