커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3472
글번호 230811
답변완료
질문 부탁드립니다
답변 감사드립니다
알려주신 수식은 if h>l*1.08 ... 조건이 만족한 봉 사이의 일수차 중에서 가장 짧은 값을 구하는거죠? (현재와 직전 만족봉을 가지고 비교)
배열 hh[] 을 가지고도 일수차를 구하고자 합니다
hh[]의 값이 발생한 시점의 index 값을 구해서
hh[0] 과 hh[1] 의 일수차, hh[1] 과 hh[2] 의 일수차...hh[19] 와 hh[20] 차 까지 구해서
가장 짧은 값을 구하고 싶습니다
감사합니다
if Bdate != Bdate[1] Then
{
DD = DD+1;
}
if (h>l*1.08) and (d1 == 0 or (d1 > 0 and dd >= d1+5)) Then
{
d1 = dd;
value1 = dd;
var1=index;
var2=var1[1];
var3=h;
for cnt = 1 to (var1-var2)-1
{
if h[cnt] > var3 then
{
var3=h[cnt];
}
}
for cnt = 49 downto 1
{
hh[cnt] = hh[cnt-1];
tt[cnt] = tt[cnt-1];
if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then
mintt = tt[cnt]-tt[cnt+1];
}
hh[0] = var3;
tt[0] = var1;
mintt = 0;
for cnt = 0 to 20
{
if mintt == 0 or (tt[cnt]-tt[cnt+1] < mintt) Then
mintt = tt[cnt]-tt[cnt+1];
}
}
2025-06-30
284
글번호 192180
답변완료
수식 부탁드립니다.
주식종목 일봉챠트에 외국인 수급현황을 선챠트로 보여주고 싶습니다.
그리고 종목검색식 부탁 드립니다.
거래대금, 거래량 상위 30종목 AND 외인매수상위 30종목 을 찾는 수식을 부탁 드립니다.
2025-06-30
326
글번호 192179
답변완료
수식변환 요청
다름 라인을 주가등락률 5% 범위 내에서 돌파하는 종목검색식 부탁드립니다.
전환선 = (highest(high,shortPeriod)+lowest(low,shortPeriod))/2;
기준선 = (highest(high,midPeriod)+lowest(low,midPeriod))/2;
선행1 = (highest(high,shortPeriod)+lowest(low,shortPeriod)+highest(high,midPeriod)+lowest(low,midPeriod))/4;
선행2 = (highest(high,longPeriod)+lowest(low,longPeriod))/2;
조건 = Crossup(선행1, 선행2) && 전환선>기준선;
valueWhen(1, 조건, 선행1)
=============
shortPeriod(9)
midPeriod(26)
longperiod(52)
2025-06-29
315
글번호 192173
답변완료
수식 문의드립니다.
안녕하세요. 항상 감사드립니다.
input:con1(15000),con2(50000);
var:대금(0),조건1(False),조건2(False),조건3(False),조건4(False);
대금=(H+O+L+C)/4*V/1000000;
조건1=(대금[1]>=con1 && (C[1]/O[1]-1)*100>=9 && (H[1]/O[1]-1)*100>=15 && O>C[1] && C>=C[1]*0.97);
조건2=(대금[2]>=con1 && (C[2]/O[2]-1)*100>=9 && (H[2]/O[2]-1)*100>=15 && O[1]>C[2] && C[1]>=C[2]*0.97 && O>=C[2]*0.97 && C>=C[2]*0.97);
조건3=(대금[1]>=con2 && (C[1]/O[1]-1)*100>=9 && (H[1]/O[1]-1)*100>=15 && O>C[1] && C>=C[1]*0.97);
조건4=(대금[2]>=con2 && (C[2]/O[2]-1)*100>=9 && (H[2]/O[2]-1)*100>=15 && O[1]>C[2] && C[1]>=C[2]*0.97 && O>=C[2]*0.97 && C>=C[2]*0.97);
if(조건1 or 조건2) or (조건3 or 조건4)
TheN
FinD(1);
위와 같이 일봉에서 종목검색 사용하고 있는데
주봉으로 변경하고 싶습니다.
C H O L V 수식 주봉으로 변경하려면 어떻게 바꿔야 될까요?
2025-06-29
305
글번호 192172
답변완료
종목검색식 부탁드립니다.
여러 질문에 답해주신 것에 감사드리며,아래의 복합지표에 대한 검색식을 부탁드립니다.
감사합니다. 건강하세요~
M=MACD(short,long);
CC=CCI(Period1);
S=eavg(StochasticsSlow(sto1,sto2),sto3);
R=RSI(Period2);
MCSR=(M+CC+S+R)/4;
Crossup (MCSR,100) or MCSR>100
지표변수
short 12
long 26
Period1 9
Period2 14
sto1 12
sto2 5
sto3 5
2025-06-29
291
글번호 192171
답변완료
하루동안에 특정시간대만 표시되는 고,저가
안녕하세요
하루 동안에
16:00에서16:10에서의 고가와 저가표시
22:30에서 22:40에서의 고가와 저가표시를
하는 지표를 그리고 싶은데요
보통 수평선 차트를 보면 계단으로 어저깨 그저깨 것들고 나오는데요
당일것만 표시돼게가능한지 수식 부탁드립니다
제가 나름한것은 지정한 시간에서의 고저가가 안나오고 00:00~00:10의고저가와지정한 시간대의 고가만 나옵니다 왜이런지
하여튼 선생님의 오류없는 수식 부탁드립니다
Input :시작(223000),마감(224000);
if date != date[1] Then{
var1 = H;
var2 = L;
}
if stime >= 시작 and stime <= 마감 Then{
if H >= var1 Then
var1 = H;
if L <= var2 Then
var2 = L;
}
plot1(var1);
plot2(var2);
2025-06-29
282
글번호 192170
답변완료
수식문의
수고많으십니다.
항상 감사드립니다.
그물망 차트를 이용하여 시스템을 만들어 보려합니다.
1. 매수진입
1-1 매수진입 조건
- 이동평균선(ex:단순 20)이 상승추세 일 것.
- 그물망 이평이 모두 상승추세 일 것.
- ADX지표값이 20 이상 일 것.
1-2 매수청산 조건
- 그물망 10개중 5개가 상승에서 하락으로 추세전환 일 것
2. 매도진입
1-1 매도진입 조건
- 단순 이동평균선(ex:단순 20)이 하락추세 일 것.
- 그물망 이평이 모두 하락 추세 일 것.
- ADX지표값이 20 이상 일 것.
1-2 매수청산 조건
- 그물망 10개중 5개가 하락에서 상승으로 추세전환 일 것
지표값은 모두 변경 가능하게 변수값으로 부탁드립니다.
* 첨부한 그림의 그물망은 아래의 수식을 이용한 것입니다
Input : Period(5),간격(1);
var : tx(0);
var1 = Ema(C,Period+간격*0);//5
var2 = Ema(C,Period+간격*1);
var3 = Ema(C,Period+간격*2);
var4 = Ema(C,Period+간격*3);
var5 = Ema(C,Period+간격*4);
var6 = Ema(C,Period+간격*5);//10
var7 = Ema(C,Period+간격*6);
var8 = Ema(C,Period+간격*7);
var9 = Ema(C,Period+간격*8);
var10 = Ema(C,Period+간격*9);
var11 = Ema(C,Period+간격*10);//15
var12 = Ema(C,Period+간격*11);
var13 = Ema(C,Period+간격*12);
var14 = Ema(C,Period+간격*13);
var15 = Ema(C,Period+간격*14);
var16 = Ema(C,Period+간격*15);
Plot1(var1,"지수이평0",IFf(var1>var1[1],RED,BLUE));//5
Plot2(var2,"지수이평1",IFf(var2>var2[1],RED,BLUE));
Plot3(var3,"지수이평2",IFf(var3>var3[1],RED,BLUE));
Plot4(var4,"지수이평3",IFf(var4>var4[1],RED,BLUE));
Plot5(var5,"지수이평4",IFf(var5>var5[1],RED,BLUE));
Plot6(var6,"지수이평5",IFf(var6>var6[1],RED,BLUE));//10
Plot7(var7,"지수이평6",IFf(var7>var7[1],RED,BLUE));
Plot8(var8,"지수이평7",IFf(var8>var8[1],RED,BLUE));
Plot9(var9,"지수이평8",IFf(var9>var9[1],RED,BLUE));
Plot10(var10,"지수이평9",IFf(var10>var10[1],RED,BLUE));
Plot11(var11,"지수이평10",IFf(var11>var11[1],RED,BLUE));//15
Plot12(var12,"지수이평11",IFf(var12>var12[1],RED,BLUE));
Plot13(var13,"지수이평12",IFf(var13>var13[1],RED,BLUE));
Plot14(var14,"지수이평13",IFf(var14>var14[1],RED,BLUE));
Plot15(var15,"지수이평14",IFf(var15>var15[1],RED,BLUE));
Plot16(var16,"지수이평15",IFf(var16>var16[1],RED,BLUE));//20
if CrossUp(C,var1) Then
{
tx = Text_New(sDate,sTime,H,"U");
Text_SetStyle(tx,3,1);
}
if CrossDown(c,var1) Then
{
tx = Text_New(sDate,sTime,H,"D");
Text_SetStyle(tx,3,1);
}
미리 감사드립니다
2025-06-29
323
글번호 192169
답변완료
부탁드립니다
아래 수식에 대한 예스트레이더 종목검색식 부탁드립니다
[수식1]
A = ma(C, 50);
B1 = Lowest(A, 200);
B2 = BarsSince(A == B1);
D1 = Lowest(A(B2 + 10), 50 - (B2 + 10));
D2 = BarsSince(A == D1 and BarsSince(A == B1) > 3);
D2 - B2 <= 20
아래 수식을 당일 분봉에 적용하고자 합니다.
예스트레이더 종목검색식 부탁드립니다.
[수식2]
조건1 = if(C > (H+L)/2, 1, 0);
조건2 = if(C < (H+L)/2, 1, 0);
조건3 = Sum(조건1);
조건4 = Sum(조건2);
조건4 > 조건3;
2025-06-29
312
글번호 192168
답변완료
수식 부탁드립니다
타주기 적용 부탁드립니다.
input : length(100);
var : trend(False),trend_value(nan),trend_color(0);
var : up_color(0),dn_color(0),atr_value(0);
var : alpha(0),ATRV(0);
var : sma_high(0),sma_low(0);
var : signal_up(False),signal_down(False);
up_color = Green;
dn_color = Red;
alpha = 1 / 200 ;
ATrV = IFf(IsNan(ATrV[1]) == true, ma(TrueRange,200) , alpha * TrueRange + (1 - alpha) * IFf(isnan(ATrV[1])==true,0,ATrV[1]));
atr_value = ma(ATrV, 200) * 0.8;
sma_high = ma(high, length) + atr_value;
sma_low = ma(low, length) - atr_value;
if CrossUp(close, sma_high) Then
trend = true;
if CrossDown(close, sma_low) Then
trend = false;
trend_value = IFf(trend, sma_low, sma_high);
trend_color = iff(trend , up_color , IFf(trend == False, dn_color, Black));
signal_up = trend != trend[1] and trend[1] == False;
signal_down = trend != trend[1] and trend[1] == true;
if trend == true Then
Plot1(trend_value,"trend true",trend_color);
Else
NoPlot(1);
if trend == False Then
Plot2(trend_value,"trend False",trend_color);
Else
NoPlot(2);
2025-06-29
342
글번호 192167