커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1317
글번호 230811
답변완료
종목검색식 부탁드립니다
A = supertrend(period, multiplier);
CROSSUP(C,A)
지표변수
period 41
multiplier 3.5
안녕 하세요 위의 수식은 키움용 지표 수식입니다.
위 신호가 발생하는 종목을 검색식을 만들어 검색코저 합니다.
검색식 부탁 드려 봅니다^^
2025-05-04
383
글번호 190570
답변완료
질문 드리겠습니다
휴일 잘 쉬셨어요?
질문 몇 가지 부탁드리겠습니다
질문1)
아래 추세선 식에서 최근 3개는 나오지 않게 하려고 하는데 어떻게 수정해야 될까요?
TL_SetExtRight(tttl1[12],False);
tttl1[0]=tl_new(sd[2],st[2],aa[0],sd[0],st[0],aa[0]);
TL_SetSize(tttl1[0],0);
TL_SetDrawMode(tttl1[0],0);
TL_Delete(tttl1[12]);
TL_SetExtRight(tttl1[0],true);
질문2)
조건 추가에 대한 질문입니다
첨부된 수식에서
조건만족봉 사이 봉들의 평균값을 구해서 aa[] 배열에 넣었는데요,
조건만족봉 다음에 나오는 봉들을 봤을때
(다음 조건만족봉이 나오기 전까지 발생하는 봉들)
aa[0] 를 돌파하는 경우를 찾아보려고 합니다
(돌파 조건은 봉의 L이 aa[0] 보다 작고 H가 aa[0] 보다 큼) ,
aa[0] 값을 "2번째 돌파하는 봉"이 발생했을때 var4에 그 봉의 H값을 저장, var5에는 그 두개 봉의 고가의 평균을 저장 한다는 하위 조건문을 만들 수 있을까요?
예를들어서 현재만족봉 이후에 나오는 봉 a1, a2 ,a3,a4..들을 aa[0]와 비교했을때 a2 와 a4가 돌파봉이라면 a4 봉의 고가값을 저장.
감사합니다
var : cnt(0), sum1(0), sumi1(0),summ(0),tt(0),hh(0),ll(0),tl(0),tl1(0),n(0);
var: sum2(0),sumi2(0);
var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0),e1(0),e2(0);
Array : ii[50](0),aa[50](0),cc[50](0),ee[50](0),ttl[30](0),tttl[40](0),tttl1[40](0),tttl2[40](0),sd[45](0),st[45](0);
Var33=Money/100000000;
if Bdate != Bdate[1] Then
{
DD = DD+1;
}
if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) and
(hh == 0 or (hh > 0 and (h >= hh*1.1 or h <= hh*0.85))) Then
{
d1 = dd;
hh = h;
var1 = Index;
Var2 = var1[1];
Var3 = Var2[1];
sum1=0; sumi1=0; sum2=0; sumi2=0;
tl=TL_NEW(sDate,sTime,100,sDate,sTime,999999);
TL_SetSize(tl,0);
TL_SetColor(tl,Black);
For cnt = 1 to (var1-Var2)
{
sum1=sum1+l[cnt];
sumi1=sumi1+1;
}
value1=sum1/sumi1;
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
#ee[cnt]= ee[cnt-1];
}
aa[0] = value1*1;
}
2025-05-07
359
글번호 190569
답변완료
부탁드립니다
S=sum(1);
R=RSi(기간);
U70=ValueWhen(1, CrossUp(R, 70), S);
D30=ValueWhen(1, CrossDown(R, 30), S);
순번조건=U70 < D30;
조건=
CountSince(순번조건 && !순번조건(1),
CrossUp(R, 30))==1;
ValueWhen(1, 조건 && !조건(1), O)
수고가 많으세요
지표 변환식과 종목검색식을 알고 싶습니다
바쁘신 와중에 부탁드립니다
감사합니다
2025-05-04
372
글번호 190568
답변완료
스탑로스, 트레이딩스탑 기능이 있나요?
1 예스스탁 자동매매 프로그램도 키움증권처럼
스탑로스, 트레이딩스탑 기능이 있나요?
키움증권은 스탑로스, 트레이딩스탑
보유종목이 자동감시주문으로 청산되면
조건이 없어지고
매수 후에 다시 조건을 처음부터 입력해야 하는데요
2 청산 자동주문 스탑로스, 트레이딩스탑
매수 자동주문 트레이딩 스탑 이렇게 반복하려면
키움증권은 종목 청산되면 조건이 없어져서 처음부터 다시 매번 반복해야 하는데
예스스탁 자동매매 보유한 종목이 자동매매로 청산되고
청산 자동주문 스탑로스, 트레이딩스탑 - 매수 자동주문 트레이딩 스탑
이렇게 유지되서 조건 입력없이 반복할 수 있나요?
선물 거래 가능한 예스스탁의 증권사는 몇개가 있나요?
2025-05-03
486
글번호 190567
답변완료
예스트레이더 차트로 구현할수있게 부탁드립니다
안녕하세요
짧은 지식으로 해보니 자꾸 문법이 틀리다고 나오네요 ㅠㅠ
현대차와 기아차 두종목으로 페어트레이딩하려고 하는데 (현대차주가-기아차주가)/현대차 주가*100을 예스트레이더에서 차트로 한 눈에 볼수있게 도와주세요.
감사합니다
2025-05-03
364
글번호 190566
답변완료
지표 변환 부탁 드립니다
// ====================================================================================================================}
// INPUTS
// ===================================================================================================================={
// User inputs for customization
len = input.int(10, "Length")
dsl_mode = input.string("Fast", "DSL Lines Mode", ["Fast", "Slow"]) == "Fast" ? 2 : 1
// Color definitions
color_up = #8BD8BD
color_dn = #436cd3
// Condition for a dashed line
bool dashed = bool(bar_index % 2)
// ====================================================================================================================}
// CALCULATIONS
// ===================================================================================================================={
// Calculate RSI with a period of 10
RSI = ta.rsi(close, 10)
// Zero-Lag Exponential Moving Average function
zlema(src, length) =>
lag = math.floor((length - 1) / 2)
ema_data = 2 * src - src[lag]
ema2 = ta.ema(ema_data, length)
ema2
// Discontinued Signal Lines
dsl_lines(src, length)=>
up = 0.
dn = 0.
up := (src > ta.sma(src, length)) ? nz(up[1]) + dsl_mode / length * (src - nz(up[1])) : nz(up[1])
dn := (src < ta.sma(src, length)) ? nz(dn[1]) + dsl_mode / length * (src - nz(dn[1])) : nz(dn[1])
[up, dn]
// Calculate DSL lines for RSI
[lvlu, lvld] = dsl_lines(RSI, len)
// Calculate DSL oscillator using ZLEMA of the average of upper and lower DSL Lines
dsl_osc = zlema((lvlu + lvld) / 2, 10)
// Calculate DSL Lines for the oscillator
[level_up, level_dn] = dsl_lines(dsl_osc, 10)
// Determine color based on oscillator position relative to its DSL Lines
color = color.from_gradient(dsl_osc, level_dn, level_up, color_dn, color_up)
// ====================================================================================================================}
// PLOT
// ===================================================================================================================={
// Plot upper and lower DSL Lines
plot(level_up, color = dashed ? color.new(color_up, 20) : na, editable = false)
plot(level_dn, color = dashed ? color.new(color_dn, 20) : na, editable = false)
// Plot the DSL oscillator
plot(dsl_osc, color = color, linewidth = 2)
// Detect crossovers for signal generation
up = ta.crossover(dsl_osc, level_dn) and dsl_osc < 55
dn = ta.crossunder(dsl_osc, level_up) and dsl_osc > 50
// Plot signals on the oscillator
plotshape(up ? dsl_osc[1] : na, "", shape.circle, location.absolute, color_up, -1, "", chart.fg_color, false, size.tiny)
plotshape(dn ? dsl_osc[1] : na, "", shape.circle, location.absolute, color_dn, -1, "", chart.fg_color, false, size.tiny)
// Plot signals on the chart
plotshape(up, "", shape.triangleup, location.bottom, color_up, 0, "Enter", chart.fg_color, true, size.tiny,
force_overlay = true)
plotshape(dn, "", shape.triangledown, location.top, color_dn, 0, "Exit", chart.fg_color, true, size.tiny,
force_overlay = true)
// Color the background on signal occurrences
bgcolor(up ? color.new(color_up, 90) : na, force_overlay = true, editable = false)
bgcolor(dn ? color.new(color_dn, 90) : na, force_overlay = true, editable = false)
// Color candles based on signals
candle_col = up ? color.new(color_up, 0) : dn ? color.new(color_dn, 0) : na
plotcandle(open, high, low, close, "",
candle_col,
candle_col,
bordercolor = candle_col,
force_overlay = true,
editable = false)
// Plot horizontal lines for visual reference
h = plot(75, display = display.none, editable = false)
m = plot(50, display = display.none, editable = false)
l = plot(25, display = display.none, editable = false)
// Fill areas between horizontal lines
fill(m, h, 120, 50, color_up, na, editable = false)
fill(m, l, 50, -20, na, color_dn, editable = false)
// ====================================================================================================================}
2025-05-03
400
글번호 190565
답변완료
NthHighest 관련 질문입니다.
안녕하세요.
NthHighest(N, Value, Length) 함수가 궁금한데 예시를 통해 질문 드립니다.
1) 첫번째 질문입니다.
지난 30일 동안 20일이동평균의 값 중 가장 큰 값부터 위에서 아래로 3번째로 큰 값을 찾고 싶습니다.
그러면, NthHighest(3, 20일이동평균, 30) 이렇게 사용하면 될까요?
2) 두번째 질문입니다.
만약에 1번이 맞다고하면, 말도 안되는 가정이지만 NthHighest(3, 20일이동평균, 30) 수식을 사용했을 때
30일 기간 중 20일이동평균의 값이 1과 2 딱 2가지 밖에 없다고 한다면, 그럼 그 결과 값은 어떤게 나오는 건가요?
3번째 큰 값이 없어서요..
늘 감사합니다
좋은 하루 보내세요.
2025-05-04
320
글번호 190564
답변완료
검색식 부탁드립니다
수식만 들어가면 에러가 나서 캡쳐해서 보냅니다
2025-05-02
337
글번호 190563
nams60 님에 의해서 삭제되었습니다.
2025-05-02
1
글번호 190562