커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7511
글번호 230811
답변완료
부탁드립니다
모든 진입신호 허용의 경우
직전청산된 진입신호가 "b2"였던 경우에(condition7) 바로다음에 "b1"이 발생하는 것을 금하고
직전청산된 진입신호가 "s2"였던 경우에(condition8) 바로다음에 "s1"이 발생하는 것을 금하고자 하는데
다음과 같이 만들어봤는데 그대로 발생해버리네요.
부탁드립니다.(관련부분 아래 .............을 그어놨습니다)
condition1 = marketposition==1 and C>=Entryprice;
condition2 = marketposition==-1 and C<=Entryprice;
condition3 = marketposition==1 and IsEntryname("b1")==True;
condition4 = marketposition==1 and IsEntryname("b2")==True;
condition5 = marketposition==-1 and IsEntryname("s1")==True;
condition6 = marketposition==-1 and IsEntryname("s2")==True;
condition7 = marketposition==0 and marketposition(1)==1 and IsEntryname("b2")==True;
.......................................................................................
condition8 = marketposition==0 and marketposition(1)==-1 and IsEntryname("s2")==True;
.....................................................................................
If condition1==false and condition7==false and var5>var6 and var26>var27 and
.................
var28<var30 and ((var5>var6 and var5>var26 and var5>var27) or (var5<var26 and var6<var26 and var26>var27)) and ma(var1,10)<var2 and crossup(StoK1,StoD1) Then{
Buy("b1",onclose,def,1);
PlaySound("K:₩음성₩4번매수.wav");
}
If condition1==false and var28>var29 and var5<var6 and var26>var27 and ((var5<var6 and var6>var26 and var6>var27) or (var5<var27 and var6<var27 and var26<var27)) and ma(var1,10)<var2 and crossup(StoK1,StoD1) Then{
Buy("b2",onclose,def,1);
PlaySound("K:₩음성₩4번추가매수.wav");
}
If condition3==True and H>=Entryprice+2.50 Then{
Exitlong("bx1",atlimit,Entryprice+2.50);
PlaySound("K:₩음성₩4번수청.wav");
}
If condition4==True and H>=Entryprice+0.55 Then{
Exitlong("bx2",atlimit,Entryprice+0.55);
PlaySound("K:₩음성₩4번수청.wav");
}
If Marketposition==1 and L<Entryprice-0.43 Then{
Exitlong("bx3",atstop,Entryprice-0.45);
PlaySound("K:₩음성₩4번수청.wav");
}
If condition2==false and condition8==false and var5<var6 and var26<var27 and
..................
var29<var31 and ((var5<var6 and var6>var26 and var6>var27) or (var5<var27 and var6<var27 and var26<var27)) and ma(var1,10)>var2 and crossdown(StoK1,StoD1) Then{
Sell("s1",onclose,def,1);
PlaySound("K:₩음성₩4번매도.wav");
}
If condition2==false and var28<var29 and var5>var6 and var26<var27 and ((var5>var6 and var5>var26 and var5>var27) or (var5<var26 and var6<var26 and var26>var27)) and ma(var1,10)>var2 and crossdown(StoK1,StoD1) Then{
Sell("s2",onclose,def,1);
PlaySound("K:₩음성₩4번추가매도.wav");
}
If condition5==True and L<=Entryprice-2.50 Then{
Exitshort("sx1",atlimit,Entryprice-2.50);
PlaySound("K:₩음성₩4번도청.wav");
}
If condition6==True and L<=Entryprice-0.55 Then{
Exitshort("sx2",atlimit,Entryprice-0.55);
PlaySound("K:₩음성₩4번도청.wav");
}
If Marketposition==-1 and H>Entryprice+0.43 Then{
Exitshort("sx3",atstop,Entryprice+0.45);
PlaySound("K:₩음성₩4번도청.wav");
}
2014-04-16
155
글번호 74493
답변완료
문의드립니다.
오늘 처음 공부하기 시작했습니다. 메뉴얼을 살펴봤는데, 찾기어려워 이렇게 문의를 드려요.
장 시작 후 변동폭(고가-저가)이 10틱 이상일 때의 현재가격이 시가보다 크면 매수, 시가보다 작으면 매도 후 2시 50분 청산, 손절은 20틱으로 설정하는 함수 부탁드려요.
2014-04-16
163
글번호 74492
답변완료
문의합니다
아래 수식 부탁드립니다
" KOSPI 기관합계 순매수금액+외국인순매수 합산금액의 20일 평균이
15:11분 기준으로
전일에는 20억이 안되고 오늘은 20억을 초과하면 선물1계약 동시호가 매수주문
(주문가격은 15:10분 현재가보다 0.5PT 위에)
전일에는 -10억이 넘고 오늘은 -10억 미만이 되면 선물 1계약 동시호가 매도주문"
(주문가격은 15:10분 현재가보다 0.5PT 아래)
혹시 안되는 부분이 있으면 최대한 비숫하게...
2014-04-16
154
글번호 74490
답변완료
예스 스팟 사용자 함수 문의
예스 트레이더 예스 스팟 Java Script를 사용해서 특정 이벤트 발생시
email 전송 기능 구현할 수 있을까요?
2014-04-16
920
글번호 74489
답변완료
문의드립니다.
늘 감사드리면서,,,
질문1.아래의 수식들의 가격변수(C)를 가격이 아닌 증감비율로 해서 다시 제작해주실수 없으신지요? 즉, 가격스케일이 상이하게 움직이는 두개의 움직임의 기준치를 동일하게 적용해서 아래지표에 넣고 싶어서 그렇습니다.
예를들어) 하나는 0.2345 식의 움직임과 다른하나는 88.23식의 움직임인데요,,,가격으로 아래지표에 적용하면 겹쳐도 의미가 없기때문에, 비율로 적용하면 두움직임을 상대적으로 비교를 할수 있지 않을까 싶어서요.
질문2. Data2에도 적용가능하도록 해주시면 더할나위없이 감사드립니다.
1. input : Ntime(120),P(20),Dv(2);#120분봉
var : cnt(0),count(0),sum(0),mav(0),MiBBup(0),MiBBdn(0),Avgv(0);
var : SumSqrt(0),Counter(0),Stdv(0),TF(0);
Array : CC[120](0);
if date != date[1] Then
var1 = TimeToMinutes(stime);
TF = (TimeToMinutes(stime)-var1)%Ntime;
if dayindex() == 0 or (TF < TF[1] and stime > stime[1]) Then{
for cnt = 1 to P-1{
CC[cnt] = CC[cnt-1][1];
}
}
CC[0] = C;
sum = 0;
for count = 0 to P-1{
sum = sum+CC[count];
}
mav = sum/P;
If CC[P-1] != 0 Then{
Avgv = mav;
SumSqrt = 0;
For Counter = 0 To P - 1 {
SumSqrt = SumSqrt + (CC[Counter] - Avgv) * (CC[Counter] - Avgv);
}
Stdv = SquareRoot(SumSqrt / P);
}
Else
Stdv = 0;
MiBBup = mav + (Dv * Stdv);
MiBBdn = mav - (Dv * Stdv);
plot1(MiBBup);
plot2(mav);
plot3(MiBBdn);
2.
input : dayPeriod(2),dayDv(2),aa(0);
var : daysum(0),daycnt(0),dayma(0),daySumSqrt(0),dayStdv(0);
var : dayBBup(0),dayBBdn(0),dayCounter(0);
daysum = 0;
for daycnt = 0 to dayPeriod-1{
daysum = daysum + DayClose(daycnt);
}
dayma = daysum/dayPeriod;
If DayClose(dayPeriod) != 0 Then {
daySumSqrt = 0;
For dayCounter = 0 To dayPeriod - 1 {
daySumSqrt = daySumSqrt + (DayClose(dayCounter) - dayma)^2;
}
dayStdv = SquareRoot(daySumSqrt / dayPeriod);
}
Else
dayStdv = 0;
dayBBup = dayma + (dayDv * dayStdv);
dayBBdn = dayma - (dayDv * dayStdv);
plot1(dayBBup ,"상단");
plot2(dayma,"중단");
plot3(dayBBdn,"하단");
3.
input : weekPeriod(2),weekDv(2),aa(0);
var : weekcnt(0),weekcount(0),weeksum(0),weekmav(0),weekBBup(0),weekBBdn(0),weekAvgv(0),weekSumSqrt(0),weekCounter(0),weekStdv(0);
Array : 주봉C[120](0);
if dayofweek(date) < dayofweek(date[1]) and date > date[1] Then{
주봉C[1] = C[1];
for weekcnt = 2 to weekPeriod+1{
주봉C[weekcnt] = 주봉C[weekcnt-1][1];
}
}
주봉C[0] = C;
weeksum = 0;
for weekcount = 0 to weekPeriod-1{
weeksum = weeksum+주봉C[weekcount];
}
weekmav = weeksum/weekPeriod;
If 주봉C[weekPeriod] != 0 Then Begin
weekAvgv = weekmav;
weekSumSqrt = 0;
For weekCounter = 0 To weekPeriod - 1 Begin
weekSumSqrt = weekSumSqrt + (주봉C[weekCounter] - weekAvgv) * (주봉C[weekCounter] - weekAvgv);
End;
weekStdv = SquareRoot(weekSumSqrt / weekPeriod);
End
Else
weekStdv = 0;
weekBBup = weekmav + (weekDv * weekStdv);
weekBBdn = weekmav - (weekDv * weekStdv);
plot1(weekBBup,"상단");
plot2(weekmav,"중단" );
plot3(weekBBdn,"하단");
2014-04-16
178
글번호 74485
답변완료
문의합니다
안녕하세요
최근 10개봉의 최고값과 최저값을 돌파하면 매수(하락하면 매도) 하는 수식과
지수대신에 특정한 보조지표 AA를 적용하는 수식을 부탁합니다
감사합니다
2014-04-16
163
글번호 74484
답변완료
분봉 거래량이...
분봉 거래량이 60이평을 넘어서고 종가가 시가보다 클때 매수...
분봉 거래량이 60이평을 넘어서고 종가가 시가보다 작을때 매도
시스템식 부탁드립니다..
2014-04-16
183
글번호 74483
답변완료
문의 드립니다.
if stime < 090100 Then{
var1 = H;
var2 = L;
}
if stime >= 090100 and dayhigh(1) > var1 and crossup(c,dayhigh(1)) Then
buy();
if stime >= 090100 and DayLow(1) < var2 and CrossDown(c,DayLow(1)) Then
sell();
식에
1. 당일 매수, 매도 1회 제한
2. 진입시간 09:01분부터 09:30까지
수식 부탁드립니다.^^
2014-04-16
135
글번호 74479
답변완료
수식 질문드립니다.
안녕하세요 항상 수고많으십니다.
5분봉에서 Trix보조지표(옵션값은 10,5)로 골든크로스가 나는 조건이 완성되는 순간 매수되게 하고 싶습니다. (봉이 완성되는 걸 기다리지 않고)
잘 부탁드립니다.
2014-04-16
142
글번호 74477