커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1582
글번호 230811
답변완료
92080 수식 수정 부탁드립니다
아래 만들어주신 수식에
전일 종가 선 위에 '전일 종가'
전일 시가 선 위에 '전일 시가'
글자 표출 부탁합니다
감사합니다
------------------------------
안녕하세요
예스스탁입니다.
var : ii(0),tx1(0),tx2(0);
plot1(DayClose(1));
plot2(DayOpen(1));
if Bdate != Bdate[1] Then
{
tx1 = Text_New(sDate,sTime,DayClose(1),NumToStr(DayClose(1),2));
tx2 = Text_New(sDate,sTime,DayOpen(1),NumToStr(DayOpen(1),2));
ii =0;
}
Else
{
ii = ii +1;
var1 = Ceiling(ii/2);
Text_SetLocation(tx1,sDate[var1],sTime[var1],DayClose(1));
Text_SetLocation(tx2,sDate[var1],sTime[var1],DayOpen(1));
}
즐거운 하루되세요
> para 님이 쓴 글입니다.
> 제목 : 지표 질문입니다
> 1.
전일 종가를 표시하는 선을 그리고
당일 시가부터 표시되는 전일 종가선 시작 위치와 현재 위치 중간 위치에 전일 종가 값을 글자로 표시한다
중간 위치에 표시되지 않으면 현재 위치에 그린다
2.
전일 시가를 표시하는 선을 그리고
당일 시가부터 표시되는 전일 시가선 시작 위치와 현재 위치 중간 위치에 전일 시가 값을 글자로 표시한다
중간 위치에 표시되지 않으면 현재 위치에 그린다
감사합니다
2025-03-26
402
글번호 189584
답변완료
문의 드립니다
안녕하세요
input : P(20);
var1 = Ema(H,P);
var2 = Ema(L,P);
Plot1(var1);
plot2(var2)
위지표에서 각선이 상승일때는 빨강, 하락일때는 파랑색으로 표시하고싶습니다.
그리고 상승일때 하락일때의 밴드의 색을 다르게 표시하고자 합니다
감사합니다
감사합니다
2025-03-26
394
글번호 189583
답변완료
종목검색식 요청드립니다.
아래 답변에서 말씀하신게 3분봉기준 129봉인데 그럼 3분봉기준(129봉*3.5일=약 451.5)으로는 최대 약 3.5일 기간내에 아래신호가 발생한 신호개수가 카운팅(MM) 되는 종목이 검색되어야 하는데
말씀하신 바에 따르면 129*5*NN<500 이내여야 한다는 말씀이신데 그러면 3분봉은 아예 조회가 안되는건가요? 혹시 3분봉 기준으로 약 3.5일내에 아래신호가 발생한 횟수(MM)을 검색하는 종목검색식은 안되는건가요?
3분봉에 아래신호가 발생한 횟수를 카운팅하는거고 조회는 3분봉 기준으로 3.5일 이내에 가능해야 하는거 아닌가요? 잘 몰라서 문의드립니다.
> 안녕하세요
예스스탁입니다.
종목검색에 제공되는 봉수는 모든주기에 최대가 500봉입니다.
계산에 사용되는 봉수가 500개를 넘어가면 검색을 불가합니다.
봉수*5까지 이전봉 참조를 하고 현재봉 기준 NN봉 이전까지 체크하므로
봉수*5+NN이 500이 넘지 않게 조정하셔야 합니다.
input : 봉수(129), 기준(10),NN(10),MM(3);
var : V5(0);
V5 = (V[봉수] + V[봉수*2] + V[봉수*3] + V[봉수*4] + V[봉수*5])/5;
if countif(CrossUp(V / V5, 기준),NN) >= MM Then
Find(1);
즐거운 하루되세요
> onlypsn 님이 쓴 글입니다.
> 제목 : 종목검색식 요청드립니다.
> 아래 키움수식의 신호가 분봉에서 N봉 이내에 몇 회 이상(M) 발생했던 종목을 모두 검색하는 검색식을 만들고 싶습니다. 도움 부탁드립니다.(봉수, 기준, n과 m은 조정가능하도록 부탁드립니다.)
항상 감사합니다.
* 키움신호(지표조건 : 봉수(129), 기준(10))
V5 = (V(봉수) + V(봉수*2) + V(봉수*3) + V(봉수*4) + V(봉수*5))/5;
CrossUp(V / V5, 기준)
2025-03-26
436
글번호 189581
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2025-03-26
2
글번호 189574
답변완료
문의 드립니다
안녕하세요
20emat선을 high,low밴드선을 만들고 싶습니다
수치는 변경가능 부탁드립니다
감사합니다
2025-03-26
381
글번호 189573
답변완료
수식 부탁드려요!
안녕하세요~
100 거래량 가중 이동평균선이
50 종가단순이동평균선
아래 있다가(정배열) 100거래량가중선이 50종가단순이동평균선을
1분봉에서 돌파하는 종목을 찾을 수 있는
검색식 좀 만들어주세요~
2025-03-26
390
글번호 189571
답변완료
종목검색식 요청드립니다.
아래 키움수식의 신호가 분봉에서 N봉 이내에 몇 회 이상(M) 발생했던 종목을 모두 검색하는 검색식을 만들고 싶습니다. 도움 부탁드립니다.(봉수, 기준, n과 m은 조정가능하도록 부탁드립니다.)
항상 감사합니다.
* 키움신호(지표조건 : 봉수(129), 기준(10))
V5 = (V(봉수) + V(봉수*2) + V(봉수*3) + V(봉수*4) + V(봉수*5))/5;
CrossUp(V / V5, 기준)
2025-03-26
440
글번호 189570
답변완료
지표 질문입니다
1.
전일 종가를 표시하는 선을 그리고
당일 시가부터 표시되는 전일 종가선 시작 위치와 현재 위치 중간 위치에 전일 종가 값을 글자로 표시한다
중간 위치에 표시되지 않으면 현재 위치에 그린다
2.
전일 시가를 표시하는 선을 그리고
당일 시가부터 표시되는 전일 시가선 시작 위치와 현재 위치 중간 위치에 전일 시가 값을 글자로 표시한다
중간 위치에 표시되지 않으면 현재 위치에 그린다
감사합니다
2025-03-26
445
글번호 189569
답변완료
문의
진입명이 아래와 같습니다.
b1,b2,b3
s1,s2,s3
리버스 거래 때
b1,s1 (진입순서에 따라 손절구분)
고점돌파할 때 b2,b3
저점돌파할 때 s2,s3
위와 같이 진입할 때 아래 청산식을 작성했습니다.
하나의 거래수식에서 청산식을 이렇게 나열만 해도 되는지 살펴주십시요.
******************************************************************************
input : ls1(1),gl1(8.75),tr1(2);
input : ls4(1),gl4(6.75),tr4(2);
input : ls2(1),gl2(7.75),tr2(2);
input : ls3(1),gl3(2),tr3(2);
input : bbls(1),bbgl(999999),bbtr(1);
input : bsls(2),bsgl(999999),bstr(2.75);
input : sbls(3.25),sbgl(999999),sbtr(4.5);
input : ssls(1),ssgl(3.5),sstr(1);
var : entry(0);
if Bdate != Bdate[1] Then
entry = 0;
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if MarketPosition == 1 Then
{
//매수진입이 첫진입일때
if entry == 1 Then
{
SetStopLoss(ls1,PointStop);
SetStopProfittarget(gl1,PointStop);
SetStopTrailing(tr1,0,PointStop);
}
Else //매수진입이 두번째진입일때
{
SetStopLoss(ls3,PointStop);
SetStopProfittarget(gl3,PointStop);
SetStopTrailing(tr3,0,PointStop);
}
}
Else if MarketPosition == -1 Then
{
//매도진입이 첫진입일때
if entry == 1 Then
{
SetStopLoss(ls2,PointStop);
SetStopProfittarget(gl2,PointStop);
SetStopTrailing(tr2,0,PointStop);
}
Else //매수진입이 두번째진입일때
{
SetStopLoss(ls4,PointStop);
SetStopProfittarget(gl4,PointStop);
SetStopTrailing(tr4,0,PointStop);
}
}
if MarketPosition== 1 Then
{
if IsEntryName("b2") == true Then
{
SetStopLoss(bbls,PointStop);
SetStopProfittarget(bbgl,PointStop);
SetStopTrailing(bbtr,0,PointStop,1);
}
Else if IsEntryName("b3") == true Then
{
SetStopLoss(bsls,PointStop);
SetStopProfittarget(bsgl,PointStop);
SetStopTrailing(bstr,0,PointStop,1);
}
}
if MarketPosition== -1 Then
{
if IsEntryName("s2") == true Then
{
SetStopLoss(sbls,PointStop);
SetStopProfittarget(sbgl,PointStop);
SetStopTrailing(sbtr,0,PointStop,1);
}
Else if IsEntryName("s3") == true Then
{
SetStopLoss(ssls,PointStop);
SetStopProfittarget(ssgl,PointStop);
SetStopTrailing(sstr,0,PointStop,1);
}
}
2025-03-26
408
글번호 189568