커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1354
글번호 230811
답변완료
수식문의 드립니다
안녕하세요~
수고 많으십니다.
input : atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1);
var : atrv(0),psar(0),af(0),trend_dir(0),ep(0),trend_bars(0);
var : sar_long_to_short(False),sar_short_to_long(False);
var : trend_change(False),nz1(0);
atrv = atr(atr_length);
atrv = IFf(IsNan(atrv) == true, TrueRange , atrv);
psar = 0.0;
af = 0.0;
trend_dir = 0;
ep = 0.0;
trend_bars = 0;
sar_long_to_short = trend_dir[1] == 1 and close <= psar[1]; // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1]; // PSAR switches from short to long
trend_change = Index[1] == 0 or sar_long_to_short or sar_short_to_long;
// Calculate trend direction
nz1 = IFF(IsNan(trend_dir[1])== False,trend_dir[1],0);
trend_dir = iff(Index[1] == 0 and close[1] > open[1] , 1 ,
iff(Index[1] == 0 and close[1] <= open[1] , -1 ,
iff(sar_long_to_short , -1 ,
iff(sar_short_to_long , 1 , nz1))));
trend_bars = iff(sar_long_to_short , -1 ,
iff(sar_short_to_long , 1 ,
iff(trend_dir == 1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) + 1 ,
Iff(trend_dir == -1 , IFF(IsNan(trend_bars[1])== False,trend_bars[1],0) - 1 ,
IFF(IsNan(trend_bars[1])== False,trend_bars[1],0)))));
// Calculate Acceleration Factor
af = iff(trend_change , start ,
Iff((trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]), min(maximum, af[1] + increment) , af[1]));
// Calculate extreme point
ep = iff(trend_change and trend_dir == 1 , high ,
IFf( trend_change and trend_dir == -1 , low ,
iff(trend_dir == 1 ,max(ep[1], high) , min(ep[1], low))));
// Calculate PSAR
psar = iff(Index[1] == 0 and close[1] > open[1] , low[1] ,
Iff(Index[1] == 0 and close[1] <= open[1] , high[1] ,
Iff(trend_change , ep[1] ,
Iff(trend_dir == 1 , psar[1] + af * atrv , psar[1] - af * atrv))));
IF trend_bars == entry_bars TheN
find(1);
위 검색식에서
1.
그림 1번에 보듯이 두개의 선중 빨간색 선을(초록색 선은 아닙니다)
현재의 0봉이 크로스업 할때
조건 검색식과 화살표 나오는 지표식으로 수정부탁 드리겠습니다.
2.
그림 2번에 보듯이
(1봉전 봉이) 초록색을 이탈후(제1의조건)
선위에서 마감(제2의 조건)되었고
다음봉인 현재의 0봉이 양봉이면 (제3의 조건)
OR
1봉전 봉이 초록색과 +- 2% 이내 이면서(근접) 0봉이 초록색 선보다 크고 양봉조건.
조건검색식과 지표 화살표식 부탁드리겠습니다.
---------------------------------------------------------------
그리고 아래 인풋의 주석풀이 꼭 부탁 드리면서
input : 기간atr_length(14),start(0.02),increment(0.02),maximum(0.2),entry_bars(1);
기간14. 기본설정 0.02 외에는 잘모르겠습니다.
가능 하시다면 작성 해주시는 조건검색식의 주석 풀이도 부탁드려봅니다. 수고하십시오.
---------------------------------------------------------------
항상 감사 드리면서 추운날씨 건강 관리 잘하시길 바랍니다.
2024-12-03
617
글번호 185872
답변완료
오류부분 수정부탁드립니다
var: 조건(0);
.
.중간생략
.
조건=C>band1 && C>Sband;
if 조건 && !조건[1] Then
Find(1);
"조건=C>band1 && C>Sband;"식에 오류가 뜨네요. 수정부탁드립니다.
2024-12-02
631
글번호 185871
답변완료
키움수식을 예스랭귀지로 변환부탁드립니다.
A=shift((highest(high,shortperiod)
+lowest(low,shortperiod)
+highest(high,midperiod)
+lowest(low,midperiod))/4,midperiod-1);
B=shift((highest(high,longperiod)
+lowest(low,longperiod))/2,midperiod-1);
2024-12-02
604
글번호 185870
답변완료
종목 검색식 부탁드립니다
다음 키움 신호함수를 예스트레이더 종목검색식으로 부탁드립니다
매번 친절하고 자상한 대응 진심으로 감사드립니다.
1.
A=eavg(Macd(12,26), 9);
B=if(A > Macd(12,26), 1, 0);
Sum(B(1), 30)==30 
and CrossUp(Macd(12,26), A)
2.
Highest(H(1),10)/Lowest(L(1),10) <= 1.03
and C>Highest(H(1),10)
3.
A1=Macd(12,26);
A2=eavg(A1,9);
A3=Valuewhen(1,CrossUp(A1,0),C);
A4=Valuewhen(1,CrossUp(A1,A2),C);
CrossUp(C,A3) && CrossUp(C,A4)
4.
A=if(CrossUp(C, EnvelopeDown(100,20)), 1, 0);
Sum(A(1), 15) >= 1
and CrossUp(C, avg(C, 20))
5.
C(1)*1.2 <= H
and C(1)*1.15 <= C
and Amount >= 100000
and CrossUp(Disparity(5), 115)
2024-12-02
701
글번호 185869
답변완료
에스스팟 종목검색 시 조건 충족 시에만 검색
안녕하세요.
다음과 같은 검색 조건이 예스스팟에서 검색 시 주가 등락율이 일정 범위 안에서 조건이 만족할 때 검색(매수)되도록 하고 싶습니다.
즉, 주가등락율 시가대비 5% 이하에서 다음 조건이 충족 할 경우에만 예스스팟에서 검색(매수)
========================================================================
Input : 기간(60), 승수(1), 이평(120);
VAR : A(0), A1(0),SS1(0), SS2(0);
A=BollbandUp(기간, 승수); //60,1
A1=EMA(C,이평); //120
SS1=(highest(high,9)+lowest(low,9)+highest(high,26)+lowest(low,26))/4;
SS2=(highest(high,52)+lowest(low,52))/2;
if SS1[25]<= C && SS2[25]<=C &&
(CROSSUP(A,A1) or (A1*1.03>= A && A1<=A && CROSSUP(C,A))) TheN
Find(1);
==========================================================================
2024-12-02
518
글번호 185864
답변완료
검색이 안되네요
Input : Period(800),Period1(12), D(0.5),D1(0.5);
If CrossUp ( C,Bollbandup(800,D))
Then
Find(1);
위와같이 수식작성했는데 검색이 안되는 이유가 뭔가요?
해결하는 방법은 뭔가요?
2024-12-02
625
글번호 185863
답변완료
문의드립니다
jj = DateToJulian(CurrentDate);
ww = DayOfWeek(CurrentDate);
dd = JulianToDate(jj-7-(ww-1));
if sdate == dd Then
var1 = 1;
----------------------------
위식에서 jj, ww, dd 좀 해석해주세요 무슨 뜻인지
감사합니다
2024-12-02
693
글번호 185862
살빼고싶다 님에 의해서 삭제되었습니다.
2024-12-02
30
글번호 185859
답변완료
조건식으로 변형부탁드립니다
이동 = ma(C, 기간1);
이동1 = ma(C, 기간2);
조건 = CrossUp(이동, 이동1 );
Valuewhen(1, 조건, (H+L)/비율1)
------------------------------------------
기간1 은 20
기간2는 120
비율1은 2.1
비율2는 2.23
------------------------------------
위수식을 60분봉 차트상에 표현하면 선이하나 나타나는데
그선을 돌파할때 또는 근접할때 종목이 검출되기를 원합니다
절실하오니 꼭 부탁드립니다
-----------------------------------
2024-12-02
490
글번호 185852