커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7631
글번호 230811
답변완료
문의드립니다.
사정이 있어서 webmaster@yesstock.com 으로 문의드렸습니다.
답변부탁드립니다.
수고하세요^^
2012-09-24
337
글번호 54967
답변완료
문의드립니다.
안녕하세요.
지난번 26317문의와 관련 하여 다시 한번 부탁드립니다.
초보라 설명이 많이부족하여 의사전달이 잘되지 않았읍니다.
#########################################################
Input : af(0.01), maxAF(0.1);
Var : value(0);
value = sar(af,maxAF);
If crossup(c, value) Then
{
var1 = H;
var2 = L;
var3 = var1[1];
var4 = var2[1];
}
If CrossDown(c, value) Then
{
var1 = H;
var2 = L;
var3 = var1[1];
var4 = var2[1];
}
if H > var1 Then
var1 = H;
if L < var2 Then
var2 = L;
##직전고저점
if crossUp(c, value) then
var5 = var4;
if CrossDown(c, value) then
var6 = var3;
###############################
var7 = ? ;
설명: c 가 var6 를 crossup하고 상승후 crossdown(c,value) 발생시 직전 crossup
일때 최고점에 var7 를 저장하고,(**차후 c 가 var6 를 crossup 하여도 var7 은
변동없이 고정하여야함. c 가 var6 을 처음 crossup 할때 최고점만 var7에 저장).
그리고
상위와 반대 현상 발생
설명: c 가 var5 를 crossdown하고 하락후 crossup(c,value) 발생시 직전 crossdown
일때 최저점에 var7 를 저장함,(**차후 c 가 var5 를 crossdown 하여도 var7 은
변동없이 고정하여야함. c 가 var5 을 처음 crossdown 할때 최저점만 var7에 저장).
@@@@@@@@@@@@@@@@@@@@
감사합니다,
2012-09-23
321
글번호 54966
답변완료
실전활용시 중요문제점 발견후 문의(포지션 트레이딩시)
선물매매를 포지션 트레이딩으로 하고 있습니다.
이를 예스트레이딩으로 코딩으로 구현한후 시뮬레이션은 구현된 상황입니다.
상대적으로 긴 기간 값을 쓰고 있어 오늘 값이 며칠 전 값에도 영향을 받고 있습니다.
매매신호의 안정화를 위해 시작날짜를 일치하고 싶은데(매일 시스템을 켤때마다 날짜가 바뀌더라도)
실전을 위한 전략시뮬레이션차트가 시뮬레이션차트와는 달리
시작날짜를 지정할 수 없고, 건수로 5000건만 지정하여 많이 불편합니다.
1. 시작날짜를 지정할 방법이 없는지요?
2. 1번이 가능하지 않다면 예스안에서 시작날짜를 지정하고 해당 시작날짜의 지표값을 입력하고 그 값으로부터 새로 시작하는 대안적 방법이라도 활용하고자 하는데 구체적 코딩사례를 알려주시면 감사드리겠습니다.
예) 첫봉 시작일 2012년 4월 1일
당시 지표예1(57)=245.35
지표예2(33)=244.25
지표예3(28)=243.25
5천건을 다 활용할 수 없어서
다시 첫봉 시작일을 2012년 6월 1일
당시 지표예1(57)=255.35
지표예2(33)=254.25
지표예3(28)=253.25
로 다시 지정하여 시작하고자 합니다.
위지표값들이 단순평균이 아니라 지수이동평균ema라서 57기간값을 쓸때
다음봉부터 바로바로 값을 산출하고자 할 때 어떤 형태로 코딩해야하는지 궁금합니다.
57봉지나고 나서 값이 시작하는 형태가 아니라 그대로 연결되는 형태로 만들어야 하기때문입니다.
실전에 바로 활용하고자 하니 꼭 부탁드립니다.
------------------------------------------------------
(추가질의)
3. 그리고 지표값이 제대로 나오는지 확인하기 위해서 차트상에 표시하여 확인하여 보니
차트를 확대 또는 축소하면서 지표차트의 위치가 흔들립니다. 특정상황에서는 봉의 위치가 지표아래에서 표현되었다가 확대하면 지표위에 표시하는 등의 문제가 나타납니다. 이 문제 또한 꼭 확인하여 답변을 부탁드리겠습니다.
감사합니다.
2012-09-23
391
글번호 54965
답변완료
문의드립니다
지표식을 시스템식으로 변환가능 할까요?
Input:상승률(1),하락률(1);
Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1),
기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0);
For j = 1 To 19
{
저Bar[j] = 저Bar[j] + 1;
고Bar[j] = 고Bar[j] + 1;
}
If 이중파동 > 0 Then
{
Plot1(이중파동,"Zigzag",Iff(색깔==빨강,RED,BLUE));
이중파동 = 0;
}
If 기준고 <= H || 기준고 == 0 || IsNaN(기준고) == True Then
{
기준고 = H;
기준고Bar = 0;
}
Else
기준고Bar = 기준고Bar + 1;
If 기준저 >= L || 기준저 == 0 || IsNaN(기준저) == True Then
{
기준저 = L;
기준저Bar = 0;
}
Else
기준저Bar = 기준저Bar + 1;
If 기준고 * (1 - (하락률/100)) > H && 기준저 * (1 + (상승률/100)) < L Then
{
추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락));
}
Else If 기준고 * (1 - (하락률/100)) > H Then 추세 = 하락;
Else If 기준저 * (1 + (상승률/100)) < L Then 추세 = 상승;
If 추세[1] == 상승 && 추세 == 하락 Then
{
For j = 18 DownTo 1 {
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
기준고 = H;
기준고Bar = 0;
기준저 = L;
기준저Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강;
If 이중파동[1] > 0 Then {
이중파동 = 고[1];
}
Else plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE));
}
If 추세[1] == 하락 && 추세 == 하락 &&
고[1] < 기준고 &&
기준고 * (1 - (하락률/100)) > H Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
저[1] = 기준저;
저Bar[1] = 기준저Bar;
기준고 = H;
기준고Bar = 0;
기준저 = L;
기준저Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE));
If 고[2] < 고[1] Then 색깔 = 빨강;
이중파동 = 고[1];
}
If 추세[1] == 하락 && 추세 == 상승 Then
{
For j = 18 DownTo 1
{
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
기준저 = L;
기준저Bar = 0;
기준고 = H;
기준고Bar = 0;
If 저[2] > 저[1] Then 색깔 = 파랑;
If 이중파동[1] > 0 Then {
이중파동 = 저[1];
}
Else plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE));
}
If 추세[1] == 상승 && 추세 == 상승 &&
저[1] > 기준저 &&
기준저 * (1 + (상승률/100)) < L Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
저[1] = 기준저;
저Bar[1] = 기준저Bar;
기준저 = L;
기준저Bar = 0;
기준고 = H;
기준고Bar = 0;
If 고[2] < 고[1] Then 색깔 = 빨강;
plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE));
If 저[2] > 저[1] Then 색깔 = 파랑;
이중파동 = 저[1];
}
If 추세 == 양방향 Then
{
For j = 18 DownTo 1
{
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
저[1] = 기준저;
저Bar[1] = 기준저Bar;
기준고 = H;
기준고Bar = 0;
기준저 = L;
기준저Bar = 0;
추세 = 추세[1];
If 추세[1] == 상승 Then
{
If 고[2] < 고[1] Then 색깔 = 빨강;
Plot1(고[1],"Zigzag",Iff(색깔==빨강,RED,BLUE));
If 저[2] > 저[1] Then 색깔 = 파랑;
이중파동 = 저[1];
}
Else
{
If 저[2] > 저[1] Then 색깔 = 파랑;
Plot1(저[1],"Zigzag",Iff(색깔==빨강,RED,BLUE));
If 고[2] < 고[1] Then 색깔 = 빨강;
이중파동 = 고[1];
}
}
If LastBarOnChart == 1 && 기준고Bar > 0 && 기준저Bar > 0 Then
{
If 추세 == 상승 Then
{
If 고[1] < 기준고 Then 색깔 = 빨강;
Plot1(기준고,"Zigzag",Iff(색깔==빨강,RED,BLUE));
}
Else
{
If 저[1] > 기준저 Then 색깔 = 파랑;
Plot1(기준저,"Zigzag",Iff(색깔==빨강,RED,BLUE));
}
}
2012-09-23
312
글번호 54964
팔보채 님에 의해서 삭제되었습니다.
2012-09-22
4
글번호 54963
답변완료
문의 드립니다
안녕하세여
아래 매수 매도 신호 내용들
예스식으로 구현해 주시길 문의 드립니다
감사합니다 .
2012-09-22
351
글번호 54962
답변완료
위 빨강 아래 파랑 수식
아래 수식의 기준선0선 위로는 빨강
기준선0선 아래는 파랑으로 표현하는 막대를 알려주시면 고맙겠습니다
if date != date[1] Then{
value1 = 0;
value2 = 0;
value3 = 0;
value4 = value3[1];
}
value1 = value1+M;
value2 = value2+V;
value3 = value1/value2;
plot1(C-value4);
PlotBaseLine1(0, "기준선");
2012-09-22
346
글번호 54961
답변완료
강조식문의드립니다
var1 > var2 > var3 의조건을만족할때의첫봉만 PlotPaintBar로 색을표시할수있게 수식부탁합니다.
2012-09-22
319
글번호 54960
답변완료
문의드립니다
문의드립니다
INPUTS: LENGTH(26);
VARS: TEMA(0);
TEMA = (3 * Ema(c,LENGTH)) - (3 * Ema(Ema(c,LENGTH),LENGTH)) +
(Ema(Ema(Ema(c,LENGTH),LENGTH),LENGTH));
if TEMA > TEMA[1] Then
PLOT1(TEMA,"TEMA1",RED);
Else
PLOT1(TEMA,"TEMA1",BLUE);
위식을 출력하면 빨간선과 파란선이 나오는데요
파랑에서 빨강으로 바뀔때 매수
파랑에서 빨강으로 바뀔때 매도
시스템식으로 부탁드립니다
2012-09-23
317
글번호 54959