커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6824
글번호 230811
답변완료
문의드립니다.
수고많으십니다.
매수 신호 발생을 시가선을 돌파한 후 50틱 이상 올라간 봉의 종가에 진입하는 것을 원하는데 아래 식대로 하니 실제 시가를 돌파하지 않고 시가 위 50틱 지점의 아래로 내려왔다가 50틱 지점을 돌파해도 매수신호가 나옵니다.
# 매수
If CrossUp(C, O+PriceScale*50) Then
{
Buy("매수");
}
# 매도
If CrossDown(C, O-PriceScale*50) Then
{
Sell("매도");
}
정리하자면
1. 실제 시가선을 위든 아래든 돌파한 후 그 위 또는 그 아래에서 50틱을 넘어서는 봉이 나올 때 해당 봉의 종가에 매수/매도 신호가 나오도록 수정 부탁 드립니다.
-----------------------------------------------------------------
2. 실제 시가선을 위든 아래든 돌파한 후 그 위 또는 그 아래에서 딱 50틱을 넘어서면 바로 매수/매도 신호가 나오는 식도 부탁드립니다.
2025-04-23
379
글번호 190356
답변완료
종목 검색식 요청드립니다.
1. 당일 40일선 < 60일선 < 112일선 < 224일선 역배열
2. 주가가 40일선 < 현재가 < 60일선
3. 지난 80일(4달)동안 한번도 종가가 60일선을 넘지 않음.
INPUT : Period1(40), Period2(60), Period3(112), Period4(224),
LookBack(80);
VAR :;
IF MA(C, Period1)<MA(C, Period2)&& MA(C, Period2)<MA(C, Period3)&& MA(C, Period3)<MA(C, Period4) && C<MA(C,Period2) && C>MA(C,Period1)&& C>MA(C,Period3)&& countif(C>ma(C,60),LookBack)==0 Then //
Find(1);
위와 같이 돌렸을때 지난 4달동안 60일선을 넘지 않는 조건이 만족 되지 않는거 같습니다. 부탁드리겠습니다.
2025-04-23
450
글번호 190355
답변완료
종목검색식 부탁드립니다.
아래와 같이 일목균형표 후행스팬이 볼린저밴드상단을 골든크로스(G.C)하는 종목을 검색코자 합니다.
1.수식
BBU=BBandsUp(Period,2)
crossup(c, BBU(midPeriod-1))
2. 지표변수
Period:20
midPeriod: 26
* 노고에 미리 감사드립니다!
2025-04-23
411
글번호 190354
답변완료
문의 드립니다.
안녕하십니까 노고 많으십니다.
예스트레이더 기존 검색식들 잘 이용중입니다.
현재 키움에 대한 기존 검색식들이 NXT 시장에 대해서는 검색이 되지 않는 것 같은데
nxt 시장에 대한 종목은 별도의 검색식이 필요한 것일까요?
2025-04-23
381
글번호 190353
답변완료
문의드립니다.
아래의 트레이딩뷰 수식을 예스트레이더 수식으로 바꿀수 있을런지요?
===============
// === INPUTS === //
zLen = input.int(100, "Z-Score Period")
emaTrendLen = input.int(50, "EMA Trend Filter")
rsiLen = input.int(14, "RSI Length")
rsiEmaLen = input.int(8, "EMA of RSI Period")
zBuyLevel = input.float(-2.0, "Z-Score Buy Threshold")
zSellLevel = input.float(2.0, "Z-Score Sell Threshold")
cooldownBars = input.int(10, "Cooldown (Bars)")
slopeIndex = input.int(30, "Slope Sensitivity (Bars)", minval=1)
showMeanLine = input.bool(true, "Show Z-Score Mean Line")
// === CORE CALCULATIONS === //
basis = ta.sma(close, zLen)
stdev = ta.stdev(close, zLen)
zscore = (close - basis) / stdev
emaTrend = ta.ema(close, emaTrendLen)
rsi = ta.rsi(close, rsiLen)
rsiEma = ta.ema(rsi, rsiEmaLen)
rsiEmaSlope = rsiEma - rsiEma[1]
isUptrend = close > emaTrend
isDowntrend = close < emaTrend
// === SINGLE-SIGNAL RSI ZONE LOCKOUT === //
var bool canBuy = true
var bool canSell = true
if rsiEma > 30
canBuy := true
if rsiEma < 70
canSell := true
rsiBuyConfirm = rsiEma < 30 and rsiEmaSlope > 0 and canBuy
rsiSellConfirm = rsiEma > 70 and rsiEmaSlope < 0 and canSell
rawBuy = zscore < zBuyLevel and isDowntrend and rsiBuyConfirm
rawSell = zscore > zSellLevel and isUptrend and rsiSellConfirm
if rawBuy
canBuy := false
if rawSell
canSell := false
// === COOLDOWN LOGIC === //
var int lastBuyBar = na
var int lastSellBar = na
buySignal = rawBuy and (na(lastSellBar) or bar_index - lastSellBar > cooldownBars)
sellSignal = rawSell and (na(lastBuyBar) or bar_index - lastBuyBar > cooldownBars)
if buySignal
lastBuyBar := bar_index
if sellSignal
lastSellBar := bar_index
항상 감사합니다. 수고하세요!
2025-04-23
520
글번호 190352
답변완료
종목검색 문의 드립니다
안녕하세요
예스스탁입니다.
mx39(), mn39()
올리신 수식에 위와 같은 시용자함수가 있습니다.
해당 함수의 내용을 올려주셔야 변환이 가능합니다.
즐거운 하루되세요
> 비리번 님이 쓴 글입니다.
> 제목 : 종목검색 문의 드립니다
> st60 = supertrend(60,2);
d=mx39()/mn39()*100-100;
crossup(c,st60) &&
st60<st60(1)&&
st60(1)>mx39()&&
st60<mn39()&&c>mx39()&&
d<5
(mx39() 함수)
m10=ma(c,10);m11=ma(c,11);m12=ma(c,12);
m13=ma(c,13);m14=ma(c,14);m15=ma(c,15);
m16=ma(c,16);m17=ma(c,17);m18=ma(c,18);
m19=ma(c,19);m20=ma(c,20);
m21=ma(c,21);m22=ma(c,22);m23=ma(c,23);
m24=ma(c,24);m25=ma(c,25);m26=ma(c,26);
m27=ma(c,27);m28=ma(c,28);m29=ma(c,29);
m30=ma(c,30);m31=ma(c,31);m32=ma(c,32);
m33=ma(c,33);m34=ma(c,34);m35=ma(c,35);
m36=ma(c,36);m37=ma(c,37);m38=ma(c,38);
m39=ma(c,39);
max(m10,
m11,m12,m13,m14,m15,m16,m17,m18,m19,m20,
m21,m22,m23,m24,m25,m26,m27,m28,m29,m30,
m31,m32,m33,m34,m35,m36,m37,m38,m39);
(mn39() 함수)
m10=ma(c,10);m11=ma(c,11);m12=ma(c,12);
m13=ma(c,13);m14=ma(c,14);m15=ma(c,15);
m16=ma(c,16);m17=ma(c,17);m18=ma(c,18);
m19=ma(c,19);m20=ma(c,20);
m21=ma(c,21);m22=ma(c,22);m23=ma(c,23);
m24=ma(c,24);m25=ma(c,25);m26=ma(c,26);
m27=ma(c,27);m28=ma(c,28);m29=ma(c,29);
m30=ma(c,30);m31=ma(c,31);m32=ma(c,32);
m33=ma(c,33);m34=ma(c,34);m35=ma(c,35);
m36=ma(c,36);m37=ma(c,37);m38=ma(c,38);
m39=ma(c,39);
mn=min(m10,
m11,m12,m13,m14,m15,m16,m17,m18,m19,m20,
m21,m22,m23,m24,m25,m26,m27,m28,m29,m30,
m31,m32,m33,m34,m35,m36,m37,m38,m39);
2025-04-23
736
글번호 190350
답변완료
먼저 감사인사 드립니다. 항상 신세 많이 지고 있습니다^^ 종목검색식 부탁 드려요.
타증권사에서의 수식변환 요청 입니다.
먼저,종목검색이 필요한 수식입니다.
검색봉수는 500봉 내에서 또는 임의 설정도 됩니다.(주로 일봉 검색입니다만 주봉이나 분봉도 상관없지 싶은데 상관 없겠죠? ^^)
지표변수는
L기간 60
R기간 60
입니다.
수식은
조건 = Lowest(L,L기간+R기간+1)==L(R기간);
A=ValueWhen(1,조건,L(R기간),-R기간);
shot = EMA(V,5);
long = EMA(V,10);
OSC = 100 * (long - shot) / shot;
IF(CrossUp(C,A) && OSC<0 && OSC<OSC(1),1,0)
입니다.
혹시 강조수식도 구현이 가능하면 강조수식도 부탁드려봅니다.(종목검색 + 강조)
감사합니다.
2025-04-23
378
글번호 190347
답변완료
부탁드립니다.
봉에 숫자가 표시는 되는데 안 나오게 부탁드립니다.
input : ntime(5);
var : S1(0),D1(0),TM(0),TF(0),B(0);
var : idx(0),idx1(0),idx2(0),tx(0);
var : C1(0),hh(0),ll(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
var1 = 0;
c1 = 0;
hh = 0;
ll = 0;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
B = B+1;
idx = 0;
idx1 = idx[1];
idx2 = idx1[1];
tx = Text_New(sDate,sTime,L,NumToStr(1,0));
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Red);
Text_SetBold(tx,1);
}
idx = idx+1;
Text_SetString(tx,NumToStr(idx,0));
Text_SetLocation(tx,sDate,sTime,L);
if B >= 3 and idx > max(idx1,idx2) Then
{
if var1 == 0 Then
{
c1 = c;
hh = C;
ll = C;
}
var1 = C;
if var1 > hh Then
hh = var1;
if var1 < ll Then
ll = var1;
}
if var1 > 0 Then
{
Plot1(var1);
Plot2(c1,"c1",Green);
}
Else
{
NoPlot(1);
NoPlot(2);
}
if var1 > 0 and hh > var1 Then
Plot3(hh,"hh",Red);
Else
NoPlot(3);
if var1 > 0 and ll < var1 Then
Plot4(ll,"ll",Blue);
Else
NoPlot(4);
}
2025-04-22
368
글번호 190346
답변완료
문의드립니다
H 와 L 차이를
N봉 만큼 더하고 싶습니다
(H[0] - L[0])
+(H[1] - L[1])
+(H[2] - L[2])
+(H[3] - L[3])
....
감사합니다
2025-04-22
389
글번호 190345