커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3520
글번호 230811
답변완료
함수 검증 요청
안녕하세요??
아래 글번호 65404번 스크립트 검증 요청드립니다.
진입만 1번 있고 청산이 발생되지 않습니다.
----------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
input : starttime(101500),endtime(020000);
var : Tcond(false);
if (sdate != sdate[1] and stime >= 181500) or
(sdate == sdate[1] and stime >= 181500 and stime[1] < 181500) then
{
var1 = O;
}
if stime < 100000 then
var2 = c;
if (NextBarSdate != sdate and NextBarStime >= 101500) or
(NextBarSdate == sdate and NextBarSdate >= 101500 and stime < 101500) then
{
if var2 > var1 and var1 > 0 Then
buy("b",AtMarket);
if var2 < var1 and var1 < 0 Then
sell("s",AtMarket);
}
즐거운 하루되세요
> 흰둥이아빠 님이 쓴 글입니다.
> 제목 : 함수요청
> 안녕하세요?
함수 요청드립니다.
항셍지수 선물 5분봉으로 거래를 하고자 합니다.
10시 15분 T장 시초가에 진입을 하는데
T+1장이 양봉이면 매도, 음봉이면 매수
당일 17시 시간청산입니다.
2019-12-26
188
글번호 134678
답변완료
문의
별첨1. 필터에 걸리지 않았고 고점갱신수가 높을 때
별첨2. 필터에 걸렸고 고점갱신수가 높을 때
별첨3. 필터에 걸렸고 고점갱신수가 낮을 때
-별첨3의 조건에서는 b3 진입이 많이 발생해야 하는데 진입횟수가 너무 적습니다.
수식을 살펴주세요.
***************************************************************************************
안녕하세요
예스스탁입니다.
input : 진입시간(090000),n(5);
input : b1(20),b2(20);
input : upfilter(1.20);
var : T1(0),entry(0),LL(0),EH(0),hh(0),hcnt(0);
if Bdate != Bdate[1] Then
{
T1 = TotalTrades;
hh = h;
hcnt = 0;
Condition1 == false;
}
else
{
if h > hh Then
{
hh = h;
hcnt = hcnt+1;
if MarketPosition == 0 and Condition1 == false and hcnt == n Then
{
Condition1 = true;
buy("b3");
}
}
}
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 and C < daylow+upfilter and Condition1 == false Then
buy("b1",AtMarket);
if TotalTrades > TotalTrades[1] Then
LL = L;
if L < LL Then
LL = L;
if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 and C < daylow+upfilter and Condition1 == false Then
buy("b2",AtMarket);
즐거운 하루되세요
> 좌오비우오비 님이 쓴 글입니다.
> 제목 : 문의
> b1,b2가 upfilter로 진입하지 않는 상황이 발생하는 경우에
b3으로 추가진입하는 수식을 요청드립니다.
-당일 시가기준으로 고가갱신이 N회 이상이면 b3 진입
-당일 b3 직전거래는 없어야 함
-당일 b3 거래는 1번임.
-당일 b3 거래발생하면 b1,b2 거래는 하지 않음
**************************************************************************************
input : 진입시간(090000);
input : b1(20),b2(20);
input : upfilter(1.20);
var : T1(0),entry(0),LL(0),EH(0);
if Bdate != Bdate[1] Then
T1 = TotalTrades;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 and stime >= 진입시간 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 and C < daylow+upfilter Then
buy("b1,AtMarket");
if TotalTrades > TotalTrades[1] Then
LL = L;
if L < LL Then
LL = L;
if MarketPosition == 0 and entry == 1 and stime >= 진입시간 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 and C < daylow+upfilter Then
buy("b2,AtMarket");
2019-12-26
207
글번호 134677
답변완료
수식.문의입니다.
A=BBandsUp(17,2);
B=BBandsUp(40,2);
D=Disparity(20);
E=EnvelopeUP(20,6);
P=EnvelopeUp(50,3);
(o<c and c>P(19) and D<150 and D>D(1) and
((c>ma(h,5) and Crossup(A,E))
or
(c>ma(h,5) and B>E and A(1)<B(1) and CrossUp(A,B))
or
(A>B and B>E and CrossUp(C,A))
or
(CrossUp(C,A) and CrossUp(C,E))
or
(CrossUp(C,A) and CrossUp(C,B) and
CrossUp(C,E))))
or
(o<c and c<P(19) and D>D(1) and v>ma(v,5)*2 and
((c>ma(h,5) and Crossup(A,E))
or
(c>ma(h,5) and B>E and A(1)<B(1) and CrossUp(A,B))
or
(A>B and B>E and CrossUp(C,A))
or
(CrossUp(C,A) and CrossUp(C,E))
or
(CrossUp(C,A) and CrossUp(C,B) and
CrossUp(C,E))))
====================
위에 수식을 종목검색 할수있게 수식변경 부탁드립니다.^^
2019-12-26
310
글번호 134666
답변완료
질문 입니다
예스랭귀지를 처음 접하고 공부하는 중입니다
변수 이해하기도 버겁네요^^
얼마전 만들어 주신 수식입니다.
1, 아래의 식은 당일분만 나타나고 있어
1일전(ex 11시), 또는 2일전(ex 종가)에 진입할 경우는 볼수가 없습니다.
2. 당일분만 또는 몇일치를 볼수있게 지표속성에서 지정해서 볼수 있으면 좋겠습니다
input에 진입일자, 진입시간, d1 진입가, d2 진입가, d1 개수, d2 개수를 지정해 놓으면 될거 같은데 이후 수식은 어떻게 바뀌어야 되는지요?
3. input : ntime(90000);//진입시간 -
여기서 ntime을 제가 임의로 다른 단어로(ex Qtime) 바꾸어도 되나요?
아님 예스랭귀지에서 지원되는 지정된 변수인가요?
4. if data1(stime == ntime) Then 이것의 의미는 무엇인지요?
5. if 당일분만출력이면1 == 1 Then {
if CurrentDate == sdate Then {
Plot11(점수, "점수막대", 점수색);}} 이 식의 의미도 부탁드립니다.
6.var : CallEntry(0,data1),CallPL(0,data1),PutEntry(0,data2),PutPL(0,data2);
여기서 (0,data1)의 의미는 무엇이죠?
감사합니다.
input : ntime(90000);//진입시간
input : CallPosition(-1),PutPosition(-1);//매수면1, 매도면-1
input : CallVol(1),PutVol(1);//진입수량
var : CallEntry(0,data1),CallPL(0,data1),PutEntry(0,data2),PutPL(0,data2);
if data1(stime == ntime) Then
CallEntry = data1(C); //지정한 시간의 시가이면 data1(O)
if data2(stime == ntime) Then
PutEntry = data2(C); //지정한 시간의 시가이면 data2(O)
if CallPosition == 1 then
CallPL = (data1(C)-CallEntry)*CallVol;
Else
CallPL = (CallEntry-data1(c))*CallVol;
if PutPosition == 1 then
PutPL = (data2(C)-PutEntry)*PutVol;
Else
PutPL = (PutEntry-data1(c))*PutVol;
plot1(CallPL*BigPointValue+PutPL*BigPointValue,"총수익");
plot2(CallPL*BigPointValue,"콜수익");
plot3(PutPL*BigPointValue,"풋수익");
PlotBaseLine1(0);
PlotBaseLine2(100000);
PlotBaseLine3(-100000);
2019-12-26
223
글번호 134658
답변완료
종목검색식 부탁드립니다.
일봉 종목검색을 하고 싶습니다.
수치는 제가 바꿀수 있게 하고 싶어요 기본수치로 입력해 주시면 감사하겠습니다.
----------------------------------------------------------------------------
볼린져밴드 . 엔벨로프 . 가격이동평균선돌파
볼린져밴드 중간선을 엔벨로프중심선이 골든크로스 나오면 검색
지수이동평균선5이평이 엔벨로프 중심선을 골든크로스 나오면 검색
두개가 함께나오면 너무 좋구요 안되면 따로 검색식도 좋습니다.
또 한가지 검색식 부탁드립니다.
전고돌파 검색식입니다.
20봉 이내 전고점을 돌파하는 종목을 검색하고 싶습니다.
5이평이 전고돌파하면서 120이평을 골든크로스 하는 종목을 검색하고 싶습니다.
부탁드립니다.
2019-12-26
828
글번호 134656
답변완료
거래량 순위를 수식으로 표현할 수 있나요?
거래량 순위를 응용하고 싶은데 이걸 수식으로 표현할 수 있을까요?
순위는 상위 100까지만 있으면 될 거 같습니다.
만약 불가능 하다면 '전일' 거래량 순위 or 거래대금 순위 보는 방법 좀 가르쳐주시면 감사하겠습니다.
2019-12-26
321
글번호 134655
답변완료
여러 종목데이터 중 선택
선물옵션 참조데이터를 활용하고자 합니다.
우선 하나의 차트에 지수옵션 콜5개를 띄워놓으면 data1, data2, date3 ...이런 식으로 볼수가 있지 않습니까?
그렇게 콜옵션 5개의 값중 오후 12시의 종가를 기준으로 1.5이상의 값을 가지는 값중 가장 작은 값을 선택하여 plot을 하고 싶습니다.
어떻게 해야할까요?
2019-12-26
229
글번호 134646
답변완료
분봉에서 일별Data로 ATR를 구하는 방법?
분봉에서 ATR(6)이면 분봉기준으로 ATR를 구합니다.
분봉에서 일별데이타를 기준으로 ATR을 구할려면 별도로 ATR함수를 만들어야 할것으로 생각됩니다.
가능하다면 도움 부탁드립니다.
2019-12-26
236
글번호 134645
답변완료
부탁드립니다
input : P(10);
if H == Highest(H,P) then
var1 = Highest(H,P);
if L == Lowest(L,p) Then
var2 = Lowest(L,p);
plot1(var1);
plot2(var2);
고점 저점 수평을 긋는선에서 수치좀나오게 해주세요
고맙습니다
2019-12-26
201
글번호 134644