커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1541
글번호 230811
답변완료
검색식 부탁드립니다
50일 동안 고점 대비 저점이 10% 이내에서 횡보하다가 50일 평균 거래량보다 500% 이상 거래량이 터지면서 고점을 돌파하고,
전일 종가 대비 당일 종가가 10% 이상인 양봉인 종목을 검색하고싶습니다
기간, 횡보율, 거래량, 전일대비 당일 종가 상승률은 변수 처리 부탁합니다.
2025-06-19
240
글번호 191911
와우리 님에 의해서 삭제되었습니다.
2025-06-19
0
글번호 191905
답변완료
부탁드립니다
var : shortPeriod(5), longPeriod(20); var : bh(0),bd(0),bt(0),tl1(0),tx1(0),A1(0),A2(0),A3(0); var : sl(0),sd(0),st(0),tl2(0),tx2(0),B1(0),B2(0),B3(0); var : A31(0),B31(0); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); If CrossUP(value1, value2) Then { buy(); bh = h; bd = sDate; bt = sTime; if sl > 0 Then { A1 = sd; A2 = st; A3 = sl; A31 = A3[1]; TL_SetEnd(TL1,A1,A2,A3[1]); tl1 = TL_New(A1,A2,A3,NextBarSdate,NextBarStime,A3); Text_SetLocation(Tx1,A1,A2,A3[1]); if A3 > A31 Then tx1 = Text_New(NextBarSdate,NextBarStime,A3,"▼"+NumToStr(A3,1)); Else tx1 = Text_New(NextBarSdate,NextBarStime,A3,NumToStr(A3,1)); Text_SetColor(tx1,Blue); Text_SetStyle(tx1,1,0); } } If CrossDown(value1, value2) Then { sell(); sl = l; sd = sDate; st = sTime; if bh > 0 Then { B1 = bd; B2 = bt; B3 = bh; B31 = B3[1]; TL_SetEnd(TL2,B1,B2,B3[1]); TL2 = TL_New(B1,B2,B3,NextBarSdate,NextBarStime,B3); Text_SetLocation(tx2,B1,B2,B3[1]); if B3 < B31 Then tx2 = Text_New(NextBarSdate,NextBarStime,B3,"▲"+NumToStr(B3,1)); Else tx2 = Text_New(NextBarSdate,NextBarStime,B3,NumToStr(B3,1)); Text_SetColor(tx2,Red); Text_SetStyle(tx2,1,1); } } if MarketPosition == 1 Then { if h > bh Then { bh = h; bd = sDate; bt = sTime; } } if MarketPosition == -1 Then { if l < sl Then { sl = l; sd = sDate; st = sTime; } } TL_SetEnd(tl1,NextBarSdate,NextBarStime,A3); TL_SetEnd(tl2,NextBarSdate,NextBarStime,B3); Text_SetLocation(tx1,NextBarSdate,NextBarStime,A3); Text_SetLocation(tx2,NextBarSdate,NextBarStime,B3); 위의 식을 기준으로 60 일선을 추가 60 일선 위에서는 매수 신호만 표시 60 일선 아래서는 매도 신호만 표시 되게 부탁드립니다
2025-06-19
281
글번호 191904
답변완료
수식 문의 드립니다.
수식 문의 드립니다.
A. 연속_상승후-하락 기준선(매도)
Tgt = 대상;
상승 = Tgt > Tgt(1);
하락 = Tgt < Tgt(1);
상승조건 = Sum(상승, 상승횟수) == 상승횟수;
Valuewhen(1, 상승조건(1) && 하락, Open);
---------------------------------------------------
대상 = (C+O)/2
상승횟수 = 3
하락횟수 = 3
===============================
B. 연속_하락후-상승 기준선(매수)
Tgt = 대상;
상승 = Tgt > Tgt(1);
하락 = Tgt < Tgt(1);
하락조건 = Sum(하락, 하락횟수) == 하락횟수;
Valuewhen(1, 하락조건(1) && 상승, Open);
===============================
부탁드립니다.
감사 합니다
2025-06-19
247
글번호 191903
답변완료
부탁드립니다.
★이 봉 바로 위. 아래에 표시 될 수 있도록 수정 부탁드립니다.
input : length(20);
input : len2(10);
input : showsignals(true);
input : highlighting(true);
var : upper(0),lower(0);
lower = lowest(L,length);
upper = highest(H,length);
plot1(upper, "Upper");
plot2(lower, "Lower");
var : up(0),down(0),sup(0),sdown(0);
var : k1(0),k2(0),k3(0),k4(0),i1(-1),i2(-1);
up=highest(high,length);
down=lowest(low,length);
sup=highest(high,len2);
sdown=lowest(low,len2);
if high >= up[1] Then
i1 = 0;
Else
{
if i1 >= 0 Then
i1 = i1+1;
}
if Low <= down[1] Then
i2 = 0;
Else
{
if i2 >= 0 Then
i2 = i2+1;
}
K1=iff(i1 <=i2, down , up);
K2=iff(i1 <= i2,sdown,sup);
K3=iff(close>K1,down,nan);
K4=iff(close<K1,up,nan);
plot3(K1,"Trend Line",red);
plot4(K2,"Exit Line",blue);
var : buySignal(False),sellSignal(False),buyExit(False),sellExit(False);
var : O1(-1),O2(-1),O3(-1),O4(-1);
var : E1(-1),E2(-1),E3(-1),E4(-1);
var : tx1(0),tx2(0),tx3(0),tx4(0);
var : tx5(0),tx6(0),tx7(0),tx8(0);
buySignal=high==upper[1] or CrossUp(high,upper[1]);
sellSignal = low==lower[1] or CrossUp(lower[1],low);
buyExit=low==sdown[1] or CrossUp(sdown[1],low);
sellExit = high==sup[1] or CrossUp(high,sup[1]);
if BuySignal == true Then
var1 = Index;
if sellSignal == true Then
var2 = Index;
if buyExit == true Then
var3 = Index;
if sellExit == true Then
var4 = Index;
O1= IFf(var1 > 0,Index-var1,-1);
O2= IFf(var2 > 0,Index-var2,-1);
O3= IFf(var3 > 0,Index-var3,-1);
O4= IFf(var4 > 0,Index-var4,-1);
if BuySignal[1] == true Then
var5 = Index;
if sellSignal[1] == true Then
var6 = Index;
if buyExit[1] == true Then
var7 = Index;
if sellExit[1] == true Then
var8 = Index;
E1= IFf(var5 > 0,Index-var5,-1);
E2= IFf(var6 > 0,Index-var6,-1);
E3= IFf(var7 > 0,Index-var7,-1);
E4= IFf(var8 > 0,Index-var8,-1);
if buySignal and O3<O1[1] Then
{
tx1 = Text_New(sDate,sTime,down,"★");
Text_SetStyle(tx1,2,0);
Text_SetColor(tx1,Red);
Text_SetSize(tx1,20);
}
if sellSignal and O4<O2[1] Then
{
tx3 = Text_New(sDate,sTime,up,"★");
Text_SetStyle(tx3,2,1);
Text_SetColor(tx3,Green);
Text_SetSize(tx3,20);
}
아래 수식은 박스에 생기는 위아래 숫자를 없애주시고
반대로 교차되는 수식도 넣어서 하늘색 박스가 생기도록 부탁드립니다
var : T(0),dd(0),tt(0),hh(0),ll(0);
var : box(0),tx1(0),tx2(0);
var1 = ma(C,5);
var2 = ma(C,20);
if CrossUp(var1,var2) Then
{
T = 1;
dd = sDate;
tt = sTime;
hh = h;
ll = l;
box = Box_New(dd,tt,hh,NextBarSdate,NextBarStime,ll);
Box_SetColor(box,rgb(255, 184, 102));
Box_SetFill(box,true);
tx1 = Text_New(sDate,sTime,hh,NumToStr(hh,2));
Text_SetStyle(tx1,2,1);
tx2 = Text_New(sDate,sTime,ll,NumToStr(hh,2));
Text_SetStyle(tx2,2,0);
}
if CrossDown(var1,var2) Then
T = -1;
if T == 1 Then
{
if h > hh Then
hh = h;
if l < ll Then
ll = l;
Box_SetBegin(box,dd,tt,hh);
Box_SetEnd(box,NextBarSdate,NextBarStime,ll);
Text_SetString(tx1,NumToStr(hh,2));
Text_SetLocation(tx1,sDate,sTime,hh);
Text_SetString(tx2,NumToStr(ll,2));
Text_SetLocation(tx2,sDate,sTime,ll);
}
2025-06-19
296
글번호 191902
답변완료
일봉
앞서 질문했으나 원하는 결과가 나오지 않아 재질문합니다.
일봉챠트에서 예를 들어 건수를 100으로 했을 때(캔들 개수 100개) 이 챠트 내에서 시가, 최고가, 최저가를 표시할 수 있는지요? (즉, 100일의 시작가, 100일 중 최고가, 100일 중 최저가를 챠트에 표시하고 싶습니다.)
2025-06-19
228
글번호 191901
답변완료
부탁드립니다
최종 미완성 캔들 제외, 직전 캔들 3개의 1)평균시가와, 2)평균종가 라인과 수치 수식좀 부탁드립니다
2025-06-19
230
글번호 191900
답변완료
수식 부탁드립니다
지표식 부탁 드립니다.
//@version=5
indicator('Linear Regression Bands', overlay = true, max_lines_count = 3)
// ─────────────────────────────
// USER INPUTS
// ─────────────────────────────
bool bands = input.bool(true, "Plot Linear Regression Bands")
int window = input.int(100, "Length")
float devlen_b = input.float(2.0, "Deviation Linear Regression Bands", step=0.1)
// ─────────────────────────────
// COLOR SETTINGS
// ─────────────────────────────
color col_dn = #f01313
color col_up = color.aqua
color col_mid = color.yellow
color gray = color.gray
// ─────────────────────────────
// LINEAR REGRESSION CALC
// ─────────────────────────────
linear_regression(src, window) =>
sum_x = 0.0
sum_y = 0.0
sum_xy = 0.0
sum_x_sq = 0.0
for i = 0 to window - 1
sum_x += i + 1
sum_y += src[i]
sum_xy += (i + 1) * src[i]
sum_x_sq += math.pow(i + 1, 2)
slope = (window * sum_xy - sum_x * sum_y) / (window * sum_x_sq - math.pow(sum_x, 2))
intercept = (sum_y - slope * sum_x) / window
y1 = intercept + slope * (window - 1)
dev = 0.0
for i = 0 to window - 1
dev += math.pow(src[i] - (slope * (window - i) + intercept), 2)
dev := math.sqrt(dev / window)
[intercept, y1, dev, slope]
// ─────────────────────────────
// PLOT
// ─────────────────────────────
[y2, _, dev, slope] = linear_regression(close, window)
mid = y2 + slope
upper = mid + ta.rma(high - low, window) * devlen_b
lower = mid - ta.rma(high - low, window) * devlen_b
p_u = plot(bands ? upper : na, color = bands ? gray : na, linewidth = 2)
p_l = plot(bands ? lower : na, color = bands ? gray : na, linewidth = 2)
p_m = plot(bands ? mid : na, color = bands ? gray : na)
fill(p_u, p_m, mid, upper, na, bands ? color.new(col_up, 80) : na)
fill(p_m, p_l, lower, mid, bands ? color.new(col_dn, 80) : na, na)
2025-06-19
245
글번호 191899
답변완료
문의드립니다...
항상 노고에 감사드립니다.
일목균형표에서 시가 < 선행스팬1 and 주가 > 선행스팬1 and 5일 신고가 and 10일선(ma10) 관통형의 일봉을 기준봉으로 잡고 봉 형성이후 그 기준봉의 시가를 당일(0봉전) 종가가 처음으로 데드크로스 하는 종목을 찾고싶습니다. 즉 특정과거의 기준에 맞는 기준봉의 시가를 처음(1회)으로 당일 종가가 데드크로스하는 종목을 검색하는식입니다
감사합니다.
2025-06-19
242
글번호 191898