커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1531
글번호 230811
답변완료
종목검색식 문의드립니다
아래 수식을 종목 검색식으로 변환 부탁 드립니다.
참고로 W10은 주10이평을 일봉값으로 바꾼 함수식 입니다.
이전주 종가=
A=요일(DATE);
Valuewhen(n, A(1)>A, C(1))
기간1(12),기간2(26), 기간3(9)
일목균형표 기간: ShortPeriod(13.5) midperiod(39) longperiod(78)
수식1
M=Macd(기간1,기간2);
Me=eavg(M,기간3);
W10=(C+이전주종가(1)+이전주종가(2)+이전주종가(3)+이전주종가(4)+
이전주종가(5)+이전주종가(6)+이전주종가(7)+이전주종가(8)+
이전주종가(9))/10;
조건1=ValueWhen(1, CrossUp(M,0),C);
조건2=ValueWhen(1, CrossUp(M,Me), C);
CrossUp(C,조건1) &&
CrossUp(C,조건2) &&
(CrossUp(C,W10) or C>W10) &&
((C>선행스팬1) or (C>선행스팬2))
수식2
M=Macd(기간1,기간2);
Me=eavg(M,기간3);
W10=(C+이전주종가(1)+이전주종가(2)+이전주종가(3)+이전주종가(4)+
이전주종가(5)+이전주종가(6)+이전주종가(7)+이전주종가(8)+
이전주종가(9))/10;
조건1=ValueWhen(1, CrossUp(M,0),C);
조건2=ValueWhen(1, CrossUp(M,Me), C);
CrossUp(C,조건1) &&
CrossUp(C,조건2) &&
(CrossUp(C,W10) or C>W10)
2025-08-09
373
글번호 193102
답변완료
하이킨아시
input : MaPeriod(2),MaPeriod2(1);
var : maOpen(0),maClose(0),maLow(0),maHigh(0);
var : haOpen(0),haClose(0),haLow(0),haHigh(0);
var : ExtMapBuffer1(0),ExtMapBuffer2(0),ExtMapBuffer3(0),ExtMapBuffer4(0);
var : ExtMapBuffer5(0),ExtMapBuffer6(0),ExtMapBuffer7(0),ExtMapBuffer8(0);
var : r(0),g(0),b(0), TL(0),t(0),tx(0);
if Index == 0 Then
{
maOpen=Open;
maClose=Close;
maLow=Low;
maHigh=High;
}
Else
{
maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod;
maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod;
maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod;
maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod;
haOpen=(ExtMapBuffer5[1]+ExtMapBuffer6[1])/2;
haClose=(maOpen+maHigh+maLow+maClose)/4;
haHigh=Max(maHigh, Max(haOpen, haClose));
haLow=Min(maLow, Min(haOpen, haClose));
if (haOpen<haClose) then
{
r=255;
g=10;
b=0;
ExtMapBuffer7=haLow;
ExtMapBuffer8=haHigh;
t = 1;
}
else
{
r=0;
g=191;
b=255;
ExtMapBuffer7=haHigh;
ExtMapBuffer8=haLow;
t = -1;
}
ExtMapBuffer5=haOpen;
ExtMapBuffer6=haClose;
ExtMapBuffer1=WMA(ExtMapBuffer7,MAperiod2);
ExtMapBuffer2=WMA(ExtMapBuffer8,MAperiod2);
ExtMapBuffer3=WMA(ExtMapBuffer5,MAperiod2);
ExtMapBuffer4=WMA(ExtMapBuffer6,MAperiod2);
}
예: maOpen(0,data3)
data3로 좀 만들어 주세요 몇개 바꾸는 걸로 아는데 잘 안되서 부탁합니다
2025-08-09
256
글번호 193101
답변완료
예스스탁에서 제공되는 RSI 수식을 알고 싶습니다.
안녕 하세요? 저는 예스스탁에서 제공되는 RSI 수식을 알고 싶습니다.
기존 커뮤니티에 올려 주신 내용으로 해 보았으나 결과가 다르게 나오네요.
예스스탁에서 제공되는 wilder 방식의 수식을 알고 싶습니다.
<<기존 알려 주신 내용>>
input : N(10);
var : RS(0),RSIV(0);
#n일간종가평균상승폭
var1 = AccumN(IFF(C>C[1],C-C[1],0),N);
var2 = AccumN(IFF(C>C[1],1,0),N);
Var3 = var1/Var2;
#n일간종가평균하락폭
var4 = AccumN(IFF(C<C[1],C[1]-C,0),N);
var5 = AccumN(IFF(C<C[1],1,0),N);
Var6 = var4/Var5;
#RS = n일간종가평균상승폭 / n일간종가평균하락폭
RS = Var3/Var6;
#RSI = 100 - 100/(1+RS)
RSIV = 100-100/(1+RS);
Plot1(RSIV);
PlotBaseLine1(30);
PlotBaseLine2(70);
2025-08-09
241
글번호 193100
답변완료
매수신호의 위치
수고하십니다.
차트 내에서 매수신호가 여러번 발생하였는데,
그 위치값(가장 최근봉과의 거리)을 CSV파일로 출력하고자 합니다.
아래와 같이 해봤는데, CSV파일로 출력한 결과, 모든 BarsSince 값이 0으로 나오네요.
if 매수신호 then
신호위치 = BarIndex;
BarsSince = BarIndex - 신호위치;
if 매수신호 and NextBarStime > time Then
{
Print("C:₩test.csv",",%.5f,%d",Close,BarsSince);
}
해결방법을 부탁드리겠습니다~
2025-08-09
247
글번호 193099
파솔라 님에 의해서 삭제되었습니다.
2025-08-09
9
글번호 193098
파솔라 님에 의해서 삭제되었습니다.
2025-08-08
7
글번호 193097
답변완료
종목검색입니다
1. 연속 3개 이상 음봉 출현후 연속 2양봉...종목 검색식
2. 연속 3개 이상 양봉 출현후 연속 2음봉...종목 검색식
감사합니다
2025-08-08
233
글번호 193096
답변완료
문의드립니다.
AA=MA(C,50) ;
B1=((n-1)/2)*C+ ((n-3)/2)*C(1)+ ((n-5)/2)*C(2)+
((n-7)/2)*C(3)+ ((n-9)/2)*C(4)+ ((n-11)/2)*C(5)+
((n-13)/2)*C(6)+ ((n-15)/2)*C(7)+ ((n-17)/2)*C(8)+
((n-19)/2)*C(9) ;
B2=((n-21)/2)*C(10)+ ((n-23)/2)*C(11)+
((n-25)/2)*C(12)+ ((n-27)/2)*C(13)+ ((n-29)/2)*C(14)+
((n-31)/2)*C(15)+ ((n-33)/2)*C(16)+ ((n-35)/2)*C(17)+
((n-37)/2)*C(18)+ ((n-39)/2)*C(19) ;
B3=((n-41)/2)*C(20)+ ((n-43)/2)*C(21)+
((n-45)/2)*C(22)+ ((n-47)/2)*C(23)+ ((n-49)/2)*C(24)+
((n-51)/2)*C(25)+ ((n-53)/2)*C(26)+ ((n-55)/2)*C(27)+
((n-57)/2)*C(28)+ ((n-59)/2)*C(29) ;
B4=((n-61)/2)*C(30)+ ((n-63)/2)*C(31)+
((n-65)/2)*C(32)+ ((n-67)/2)*C(33)+ ((n-69)/2)*C(34)+
((n-71)/2)*C(35)+ ((n-73)/2)*C(36)+ ((n-75)/2)*C(37)+
((n-77)/2)*C(38)+ ((n-79)/2)*C(39) ;
B5=((n-81)/2)*C(40)+ ((n-83)/2)*C(41)+
((n-85)/2)*C(42)+ ((n-87)/2)*C(43)+ ((n-89)/2)*C(44)+
((n-91)/2)*C(45)+ ((n-93)/2)*C(46)+ ((n-95)/2)*C(47)+
((n-97)/2)*C(48)+ ((n-99)/2)*C(49) ;
CC=B1+B2+B3+B4+B5 ;
AA+(6*CC)/((K+1)*K)
지표조건은
k 50
n 50
입니다. 좀목검색 부탁드립니다
2025-08-08
401
글번호 193095
답변완료
sDate의 다음 날짜 구하는 방법
안녕하세요.
분봉차트에서 야간 22:30 근처에서 부터 다음날 18:00 까지 선을 긋고 싶습니다.
TL_New의 날짜에 다음날을 넣고 싶습니다.
sDate의 다음 날짜를 어떻게 구하나요?
JuliantoDate(DateToJulian(sDate) + 1);
이렇게 하면 될까요?
또 예스랭귀지에서는
위에 처럼 함수리턴을 매개변수에 바로 중첩해도 문제 없나요?
아니면 아래 처럼 예비된 변수에 넣는 것이 좋을까요?
var1 = DateToJulian(sDate) + 1;
JulianToDate(var1);
감사합니다
2025-08-10
244
글번호 193094