커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8146
글번호 230811
답변완료
수정 부탁 드립니다
지표식에서 고점 및 저점에 해당 가격표시 및 변동틱수(고점-저점)를 표시 부탁 드립니다
Input:변동률(5),종가사용여부(0);
Var:TL1(0),신규구분(0);
Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime
#==========================================#
Value1 = ChgRateZigZag(변동률, 종가사용여부, 고, 저, 신규구분);
If Value1 == 1 Then { // 고점
If 신규구분 == 1 Then // 신규
TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]);
Else If 신규구분 == 2 Then // 연장
TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]);
} Else If Value1 == -1 Then { // 저점
If 신규구분 == 1 Then // 신규
TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]);
Else If 신규구분 == 2 Then // 연장
TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]);
}
TL_SetSize(TL1,2);
2018-12-28
227
글번호 124816
qha71 님에 의해서 삭제되었습니다.
2018-12-27
9
글번호 124815
답변완료
문의드립니다
시스템문의드립니다.
사진으로 첨부하였습니다.
감사합니다.
2018-12-27
250
글번호 124814
답변완료
질문드립니다.
1. 현재까지 만들어진 거래량캔들의 평균이 30분봉상에서 당일 첫번째봉과 두번째봉 중 가장큰 거래량캔들의 50% 미만.
3. 30분봉에서 dayindex == 0 ~ 10 중 최고가를 표시하는 지표
3. 30분봉에서 dayindex == 0 ~ 10 중 거래량이최대로 터진 캔들에 표시하는 지표
4. 매수신호봉 발생전까지 생성된 DownVol거래량캔들 전부가 3의 조건에 해당하는 최대 거래량의 30%이하이면 매수
감사합니다.
2018-12-27
231
글번호 124813
답변완료
재문의
아래 답을 주셨는데 지표변화가 없습니다.
1. 매수비율
20봉 누적거래량 대비 data2 20봉 누적 매수 비율
var : sum1(0,data1),sum2(0,data2),rate(0,data1);
sum1 = data1(AccumN(v,20));
sum2 = data1(AccumN(v,20));
rate = sum2/sum1;
plot1(rate);
다시 문의드리자면
예를들어
20봉 거래량을 누적하고
20일 외국인 매수량을 누적해서
나누어 주는 것입니다.
즉, 20일 거래량중 외국인이 얼나마 매수했는지 비율을 표시해주면 됩니다.
(20일 외국인 누적순매수)/20일 거래량 누적
감사합니다.
2018-12-27
233
글번호 124812
답변완료
수식문의
수식부탁드립니다.
1. 매수비율
20봉 누적거래량 대비 data2 20봉 누적 매수 비율
2. 바이너리웨이브
1)양봉이면 +1점, 음봉이면 -1점
2)5일선 상승이면 +1점, 하락이면 -1점
3)20일선 상승이면 +1점, 하락이면 -1점
4)전일대비 상승이면 +1점, 하락이면 -1점
2018-12-27
229
글번호 124806
답변완료
수식 부탁드립니다.
1분봉상...종목검색입니다.
A = 당일 거래대금 100억 이상
B = MFI(14) 50이상 1회 이상 발생 (당일)
C = RSI(14) 50이상 1회 이상 발생 (당일)
A and (B or C)
2018-12-27
237
글번호 124801
답변완료
계속 이어서 질문을 드립니다.
제가 질문을 드려서 수식을 만들어 주셨습니다.
그런데 1번은 지표고 2번 3번은 별개의 시스템이라고 하셨는데요
2번과 3번을 합칠 수 있는 방법은 있나요?
추가로 시스템 신호시
1. 전일 저가 / 시가 / 고가 / 중심값
2. 당일 시가 / 중심값
이런 가격을 넣고 싶은데 차트 설정에는 없어서
방법을 여쭙니다.
안녕하세요
예스스탁입니다.
1
input :Period1(10),Period2(20),signal(8);
var : SROC(0),SROCsig(0);
SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100;
SROCsig = ema(SROC,signal);
plot1(SROC);
plot2(SROCsig);
2
input :Period1(10),Period2(20),signal(8);
var : SROC(0),SROCsig(0);
SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100;
SROCsig = ema(SROC,signal);
if crossup(SROC,SROCsig) Then
buy();
if CrossDown(SROC,SROCsig) Then
sell();
3
input :Period1(10),Period2(20),signal(8);
var : SROC(0),SROCsig(0);
SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100;
SROCsig = ema(SROC,signal);
var1 = (highest(H,26)+lowest(L,26))/2;
if crossup(SROC,SROCsig) Then
{
if C > var1 Then
buy();
Else
ExitShort();
}
if CrossDown(SROC,SROCsig) Then
{
if c < var1 Then
sell();
Else
ExitLong();
}
즐거운 하루되세요
> 개미주주 님이 쓴 글입니다.
> 제목 : S-ROC 라는 보조지표 문의
>
1. S-ROC 라는 보조 지표를 이용해서 수식을 만들고 있습니다.
S-ROC : 10, 20 / 시그널 8
2. 시그널이 위로 돌파시 매수, 하향시 매도
3. 추가로 일목균형표 기준선 26일선일 기준으로
기준선 위에 있어야 매수 신호발생
현재가격이 기준선 위 and S-ROC 상향 파 시 매수
현재가격이 기준선 아래 and S-ROC 상향 돌파 시 아무신호도 안나옴
현재 가격이 기준선 아래 and S-rock 하향 돌파시 매도
현재가격이 기준선 위 and S-ROC 상향 돌파 시 아무신호도 안나옴 .
2018-12-27
204
글번호 124797
답변완료
안녕하세요
아래식을
1.3분차트에 15분봉의 값
2.3분차트에 30분봉의 값
상기1.2항을(채우기)로 동시에 사용하고자 합니다
input : 타주기분(30);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : tx1(0),tx2(0),tx3(0);
Array : OO[100](0),HH[100](0),LL[100](0);
if Bdate != Bdate[1] Then{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
감사합니다
if D1 > 0 then{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%타주기분;
if Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1]) Then
{
OO[0] = O;
HH[0] = H;
LL[0] = L;
for cnt = 1 to 99
{
OO[cnt] = OO[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
plot1(OO[0],"시가");
plot2(HH[0],"고가");
plot3(LL[0],"저가");
Text_Delete(tx1);
Text_Delete(tx2);
tx1 = Text_New(sdate,stime,HH[0],NumToStr(HH[0],2));
tx2 = Text_New(sdate,stime,LL[0],NumToStr(LL[0],2));
Text_SetStyle(tx1,0,1);
Text_SetStyle(tx2,0,0);
}
감사합니다
2018-12-27
212
글번호 124796