커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1691
글번호 230811
답변완료
숫자 표시좀 부탁 드립니다.
항상 많은 도움 고맙습니다.
<요청 사항>
1. 봉길이(H + L / 2) 기준 으로
2. 기준값이 전봉 저가 보다 낮으면 봉 하단에1 다움봉도 낮으면 2 ...
계속 연속 나오는 봉수 만큼 숫자 표시 (끈어지면 다시 1부터 시작)
3. 고가도 동일 하게 전봉 보다 높으면 봉 상단에 1.........표시
고맙습니다 좋은 하루 되삽사요.
2024-10-17
509
글번호 184337
회원 님에 의해서 삭제되었습니다.
2024-10-18
313
글번호 184334
답변완료
종목검색식 부탁드려요
안녕하세요
항상 도움주셔서 감사드립니다
아래 키움 지표를 종목검색식으로 각각 부탁 드립니다
1)
A=BBandsUp(60,1);
A1=EAVG(C,120);
SS1=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4;
SS2=(highest(high,52)+lowest(low,52))/2;
SS1(25)<=C && SS2(25)<=C &&
(CROSSUP(A,A1) OR (A1*1.03>= A && A1<=A && CROSSUP(C,A)))
2)
a=sum(v*
((Pow((C-L),2) - Pow((H-C),2))
/
(H-L))
);
crossup(a,0)
2024-10-17
609
글번호 184333
답변완료
이해가 안가는 부분 여쭤보고 싶습니다
지난번 답변주신 내용에서 이해가 잘 안가서 여쭤봅니다
수식은 아래와 같은데요
var : cnt(0),i1(0),i2(0),sum1(0),mav1(0),p(0);
Array : v1[100](0);
Var1= ma(c,30);
Plot1(Var1,"ma");
if c>Var1*1.05 and h>l*1.09 Then
{
i1 = Index;
i2 = i1[1];
p=6;
#조건봉 사이 30개 이상이면
#현재봉과 직전의값의 중간값을 추가
if i2 > 0 and i1 >= i2+30 Then
{
For cnt = 99 downto 1
{
V1[cnt] = V1[cnt-1];
}
v1[0] = (C+V1[1])/2;
}
#현재봉 종가 추가
For cnt = 99 downto 1
{
V1[cnt] = V1[cnt-1];
}
v1[0] = C;
plot4(V1[0],"이평대비",Orange,Def,2);
if V1[P-1] > 0 Then
{
sum1 = 0;
For cnt = 0 to P-1
{
sum1 = sum1+V1[cnt];
}
mav1 = sum1/P;
plot5(mav1,"조건이평",Green,Def,2);
}
}
for 문으로 배열 (V1[100]) 처리하는 부분이 두 파트라서 이해하는데 좀 헷갈리는 점이 있습니다.
if i2 > 0 and i1 >= i2+30 (조건만족 현재봉과 직전봉 사이 30봉 이상) 일때 배열과
현재봉 종가 추가 부분에서의 배열이 같은 v1 배열을 쓴다는 개념이 이해가 어려운 부분이 있습니다
글로는 질문 설명이 어려울거 같아서 통화가 가능하다면 오후 중에 한번 연락드려도 될까요?
가능하신 시간 남겨주시면 연락드리겠습니다
이외에도 몇 가지 질문이 있는데 미리 수식과 질문내용 간단하게 적어놓겠습니다
질문 2)
var : cnt(0),i1(0),i2(0),sum1(0),mav1(0),p(0),LL(0),LL1(0);
Array : v1[100](0);
Var1= ma(c,30);
Plot1(Var1,"ma");
if c>Var1*1.05 and h>l*1.09 Then
{
i1 = Index;
i2 = i1[1];
p=6;
#초기값으로 조건만족봉 저가를 LL에 저장
LL = L;
#LL1에는 전봉까지의 LL을 저장
LL1 = LL[1];
if i2 > 0 and i1 >= i2+30 Then
{
For cnt = 99 downto 1
{
V1[cnt] = V1[cnt-1];
}
v1[0] = LL1;
}
#현재봉 종가 추가
For cnt = 99 downto 1
{
V1[cnt] = V1[cnt-1];
}
v1[0] = C;
plot4(V1[0],"이평대비",Orange,Def,2);
if V1[P-1] > 0 Then
{
sum1 = 0;
For cnt = 0 to P-1
{
sum1 = sum1+V1[cnt];
}
mav1 = sum1/P;
plot5(mav1,"조건이평",Green,Def,2);
}
}
Else #아니면(조건만족봉 이후라는 의미임)
{
#LL에 저장된 값보다 작은 저가가 발생하면 LL에 저가 저장
if LL > 0 and L < LL Then
LL = L;
}
써주신 주석을 보고 생각을 해봐도 잘 이해가 안가서 여쭙고 싶습니다
LL은 조건만족봉의 저가를 나타내는건 알겠는데요
LL[1] (#전봉까지의 LL 을 저장) 을 차트에 출력했을때 주석 내용과 매치가 잘 안되는거 같습니다 . 이 외에도 수식 전반적으로 한번 여쭤보고싶습니다
질문 전에 미리 수식을 보여드리는게 좋을거 같아서 먼저 적어놓겠습니다.
*그리고 지난 답변에서 알려주신 수식은 적용해보니 차트에 아무내용이 안나오네요 (n/a 도 안나옵니다)
지난 글 내용:
조건과 조건 만족 사이에 봉 중에 30이평보다 저가가 모두 높은 경우도 발생할 수 있습니다.
이경우 이평보다 하락한 봉은 없게 됩니다.
아래식 참고하셔서 추가하시기 바랍니다.
조건과 조건사이에 30이평보다 저가가 작은 봉이 없으면 LL이 0이고
값이 0이면 추가하지 않습니다.
#조건만족봉
if c>Var1*1.05 and h>l*1.09 Then
{
#저가가 이평보다 작으면 LL에 최값으로 저가저장
if L < ma(c,30) TheN
LL = L;
ElsE #저가가 이평보다 크거나 같으면 초기값은 0
LL = 0;
LL1 = LL[1];
if i2 > 0 and i1 >= i2+30 and LL1 > 0 Then
{
For cnt = 99 downto 1
{
V1[cnt] = V1[cnt-1];
}
v1[0] = LL1;
}
if V1[P-1] > 0 Then
{
sum1 = 0;
For cnt = 0 to P-1
{
sum1 = sum1+V1[cnt];
}
mav1 = sum1/P;
plot5(mav1,"조건이평",Green,Def,2);
}
}
Else#아니면(조건만족봉 이후라는 의미임)
{
#저가가 이평보다 작은 봉이 발생하면
#LL이 0이면 LL에 저가를 저장
#LL이 0보다크 면(값이 이미 저장된 상태) 저가가 LL보다 작으면 저장
if L < ma(C,30) and (LL == 0 or (LL > 0 and L < LL)) Then
LL = L;
}
2024-10-17
673
글번호 184332
살빼고싶다 님에 의해서 삭제되었습니다.
2024-10-16
29
글번호 184331
답변완료
수고하십니다
수고하십니다
트레이딩뷰챠트인데 예스로 변환 가능할지요 부탁드립니다
//@version=4
study("RSI + backlight overbought / oversold", shorttitle="RSI + BOO", overlay=false)
//input
len = input(title="RSI len", defval=14, type=input.integer, inline="1")
src = input(title="Source", defval=close, type=input.source, inline="1")
upli = input(title="Up line limit", defval=70, type=input.integer, inline="2")
lowli = input(title="Down line limit", defval=30, type=input.integer, inline="2")
theme = input(title="Mode", defval="Dark", type=input.string, options=["Dark","Light"])
//rsi
rsilevel = rsi(src, len)
//calculations RSI lines
ob = 100
upper = ob - lowli
lower = ob - upli
center = ob - 50
zero = 0
//mode settings
color colorred = (na)
color colorgreen = (na)
color coloryellow = (na)
color colorwhite = (na)
color coloraqua = (na)
modeDark = if theme == "Dark"
colorred := color.red
colorgreen := color.green
coloryellow := color.yellow
colorwhite := color.white
coloraqua := color.aqua
modeLight = if theme == "Light"
colorred := color.red
colorgreen := color.green
coloryellow := color.blue
colorwhite := color.green
coloraqua := color.yellow
//display RSI lines (center, overbought, oversold)
upline = plot(upper, color=colorred, title="Up line", linewidth=2)
dnline = plot(lower, color=colorgreen, title="Down line", linewidth=2)
ctr = plot(center, color=colorwhite, transp=50, title="Center line")
//display rsi
rsiover = plot(rsilevel, color=coloryellow, title="RSI", transp=30)
//calculations RSI overbought and oversold lines for filling
lineupper = (rsilevel > upper) ? upper : rsilevel
linelower = (rsilevel < lower) ? lower : rsilevel
lu = plot(lineupper, color=colorred, title="Overbought", transp=100)
ll = plot(linelower, color=colorgreen, title="Oversold", transp=100)
//filling lines
fill(ll, rsiover, color=colorgreen, transp=20, title="Fill background oversold zone")
fill(lu, rsiover, color=colorred, transp=20, title="Fill background overbought zone")
fill(upline, dnline, color=coloraqua, transp=80, title="Fill background between Up line and Down line")
fill(ctr, upline, color=colorred, transp=100, title="Fill background from center line to Up line")
fill(ctr, dnline, color=colorgreen, transp=100, title="Fill background from center line to Down line")
2024-10-16
699
글번호 184330
답변완료
검색식 부탁드립니다. 감사합니다.
아래와 같은 조건을 주고 나열된 7가지 만족하는 검색식 부탁드리겠습니다.
Input : 기간(20), D1(1), period(9), percent(1), Period1(20), sig(2);
BoV = avg(V,기간)+D1*stdev(V,기간);
StV = Sum(V-lowest(V,Period1),sig)/Sum((highest(V,Period1)-lowest(V,Period1)),sig) * 100;
En = envelopedown(period,percent);
S1 = highest(H[25],26)+lowest(L[25],26);
S2 = highest(H[25],52)+lowest(L[25],52);
1. S2>S1 일때
2. 당일V(거래량)이 BoV를 돌파하며
3. StV값이 50이상
4. RSI 기본값이 50이상
5. Macd 기본값 선이 시그널선 상단위치
6. 종가는 En선 상단위치, C > En
7. 종가는 20일 이평선 상단위치
항상 감사드립니다.
2024-10-16
644
글번호 184329
답변완료
검색식 부탁 드려요
***아래수식에서,
1. 기준선 0을 돌파한 , 0봉전 ~ 20봉전 까지의 모든종목을 검색하고자 합니다
종목검색식 부탁 드려요.
2. 0봉전 기준 (일봉) , 기준선 0 위에 있는 모든종목 검색식 부탁드립니다.
감사합니다.
.
=====================================
수식: C-C (기간 1 )
지표변수 : 기간1 11
기준선 0
2024-10-16
583
글번호 184328
답변완료
검색식 검토 부탁드립니다
var: A(0),B(0),D(0);
A=wMa(c,20);
B=wMa(c,60);
D=wMa(c,5) ;
if crossup(A,B) Then
var1= B;
if c> var1 and CrossUp(D,B) Then
Find(1);
20 이 60 돌파시의 60값 위에서 5,60 돌파식입니다.5가 60돌파할때의 결과만 검색 되는데 검토 부탁드립니다
2024-10-16
687
글번호 184327