커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7498
글번호 230811
답변완료
부탁드립니다.
늘 감사드립니다.
1. 가상매매조건은 다음과 같습니다.
var : SH(0),SL(0),SHi(0),SLi(0);
var : var1(0),var2(9999999999999),var3(9999999999999);
SH = SwingHigh(1,H,3,3,7);
SL = SwingLow(1,L,3,3,7);
var1 = round(ma((H+L+O+C)/4,60)*20,0)/20;
if SH != -1 and SH > var1 Then{
if SH > var2 Then{
var2 = SH;
SHi = index;
}
if SH < var2 and index > SLi and SLi > SHi Then{
var2 = SH;
}
}
if SL != -1 and SL < var1 Then{
if SL < var3 Then{
var3 = SL;
SLi = index;
}
if SL > var3 and index > SHi and SHi > SLi Then{
var3 = SL;
}
}
If H>var2+0.07 Then{
var4=Index;
Exitshort("sx1");
Playsound("K:₩음성₩드럼소리.wav");
}
If Marketposition==1 and L<var1-0.47 Then{
Playsound("K:₩음성₩드럼소리.wav");
}
If L<var3-0.07 Then{
var5=Index;
Exitlong("bx1");
Playsound("K:₩음성₩유리.wav");
}
If Marketposition==1 and L<var1-0.47 Then{
Playsound("K:₩음성₩유리.wav");
}
condition1=Marketposition(1)==1 and Marketposition==0;
condition2=Marketposition(1)==-1 and Marketposition==0;
If SL>var1 Then
var6=SL;
If SH<var1 Then
var7=SH;
If condition1==false and var4>var5 and L<=var6 Then{
Buy("b",atlimit,var6,1);
Playsound("K:₩음성₩종소리.wav");
}
If condition2==false and var4<var5 and H>=var7 Then{
Sell("s",atlimit,var7,1);
Playsound("K:₩음성₩종소리.wav");
}
2. 실제진입조건
위의 가상매매조건에서 발생하는 최근 매수가 6개와 최근매도가 6개를 각각 기억하게 합니다.
매수가는 매수가끼리, 매도가는 매도가끼리 지금 발생한 값에서 직전발생한 값을 빼서 그 값을
+,0,-로 표시합니다.(각각 최근4번의 값 저장)
(1) 매수조건
최근 3번씩 양쪽다 - - -(각각 3연속 마이너스)이거나
- - -
- - -
최근 4번씩 양쪽다 중간에 0이 하나 끼어있거나(처음과 끝은 양쪽다 -여야 함)
- 0 - - 또는 - 0 - - 또는 - - 0 - 또는 - - 0 -
- 0 - - - - 0 - - 0 - - - - 0 -
최근 상대방 4번은 중간에 0이 하나 낀 -3개이고
지금(최종) 발생한 쪽은 3연속마이너스일 때
- 0 - - 또는 - - 0 -
- - - - - -
최종발생한 마이너스신호가 가상매매의 매수신호건 매도신호건 관계없이 그 값에 매수합니다
(b1)
또 최종적으로 발생한 신호쪽이 5연속마이너스(- - - - -)이면 그 신호값에 매수합니다.
(매수신호쪽만 5연속마이너스이거나 매도신호쪽만 5연속마이너스인 경우를 말함)
(b2)
(2) 매수청산조건 : 매수가+0.60포인트 익절(그 전에 가상매매에서 매수청산신호 나오면 청산)
(가상매매의 매도신호가에 매수한 경우는 +0.60이 되기전에 가상매매에서
매도청산신호나 매수신호가 나오는 것은 무시하고 매수청산신호에 청산)
(3) 매도조건 : 위 매수조건의 마이너스(-)를 모두 플러스(+)로 바꾼 조건에 부합하면
최종발생한 플러스신호가 가상매매의 매수신호건 매도신호건 관계없이 그 값에 매도합니다
(s1)
또 최종적으로 발생한 신호쪽이 5연속플러스(+ + + + +)이면 그 신호값에 매도합니다.
(매수신호쪽만 5연속플러스이거나 매도신호쪽만 5연속플러스인 경우를 말함)
(s2)
(4) 매도청산조건 : 매도가-0.60포인트 익절(그 전에 가상매매에서 매도청산신호 나오면 청산)
(가상매매의 매수신호가에 매도한 경우는 -0.60이 되기전에 가상매매에서
매수청산신호나 매도신호가 나오는 것은 무시하고 매도청산신호에 청산)
부탁드립니다.
가상신호의 매수값차와 매도값차를 각 5개씩 볼 수 있는 방법도 함께 부탁드립니다.
감사합니다.
2014-08-09
200
글번호 77537
답변완료
알람이 안남.
아래 식은 당일 고가와저가의 폭이 최근 ATR기준 60%보다 크고 80%보다 작으면 첫번 째 발생시점에서 당일날 한번만 소리를 내고,
두번째는 80%이상 발생하는 시점에서도 당일날 한번만 내게 할려고 하는데, 소리가 안나는데 문제가 있는지 식을 좀 검토 부탁드립니다.
선물 1분봉 화면에다가 식을 설정해 놓았습니다.
Input: period(20),percent1(60),percent2(80);
if date != date[1] then{
condition1 = false;
}
if condition1 == false and (dayhigh-daylow)/ATR(period)*100 > percent1 and (dayhigh-daylow)/ATR(period)*100 < percent2 then{
condition1 = true;
PlaySound("C:₩예스트레이더₩Data₩sound₩stop.wav");
}
if date != date[1] then{
Condition2 = false;
}
if Condition2 == false and (dayhigh-daylow)/ATR(period)*100 >= percent2 then{
condition2 = true;
PlaySound("C:₩예스트레이더₩Data₩sound₩sound1.wav");
}
2014-08-08
152
글번호 77536
답변완료
질문있습니다.
안녕하세요?
수식지왕님 블로그에 있는 배열에 관한 내용입니다.
수식공부중에 있는데 자세한 설명과 주석부탁합니다.
죄송합니다. 이런 부탁드려서....
Var: j(0), k(0);
array: 전고점[11](0);
if h[3]<h[1] and h[2]<h[1] and h[1]>h then{
for j = 9 downto 1 {
전고점[j+1] = 전고점[j];
}
전고점[1] = h[1];
k = 1;
for j = 2 to 10 {
if 전고점[k] < 전고점[j] then
k=j;
}
}
plot1(전고점[k]);
2014-08-08
147
글번호 77535
2wnwn 님에 의해서 삭제되었습니다.
2014-08-09
16
글번호 77534
답변완료
분할청산 로직
예스스팟에서 분할 청산로직을 구현하고 싶은데요,
예를 들어 같은 조건인데 처음 청산신호 발생 시에는 잔고의 50%를 청산하고
그 두번 째 신호 발생 시에는 남아있는 잔고의 60%(이미 청산된 수량 포함의 30%)
그리고 세번 째 신호 발생 시에는 잔고 전량 청산.
이 청산로직 구현 방법을 알려주시기 바랍니다.
*예스스팟 Q&A에 올렸는데 답이 없어서 여기에 올립니다.
2014-08-08
168
글번호 77533
답변완료
간단한 수식 부탁합니다.
1. 참조데이터의 첫번째 봉의 값이 0 이하일 경우 매수 하는 수식과
2. 지표식의 시초값이 0 이하 일경우 매도 하는 수식 부탁합니다. (지표식은 MACd(12,26,9) 값)
2014-08-08
133
글번호 77532
회원 님에 의해서 삭제되었습니다.
2014-08-08
11
글번호 77530
답변완료
시스템수식 질문
매수 : 연속2일 음봉이고, 마지막 음봉이 -1%가 넘어갈때 다음날 시가 매수
매도 : 매수한 그날 종가 정리(1일포지션)
어떻게 작성해야되나요?
일봉으로 작성해야되나요? 분봉으로 data2 넣고 해야되나요?
알려주세요^^
2014-08-08
176
글번호 77523
답변완료
문의드립니다.
포지션 진입후 짧게 수익청산시 청산즉시 다시 같은 방향으로 진입하는 경우가
있습니다.
청산후 몇봉후에 다시 매수 신호가 나왔을때 진입할 수 있도록 하는
수식예제를 좀 부탁드립니다.
단 같은 포지션으로만 몇봉후 진입에 적용되고 반대포지션으로 청산 즉시 진입은
허용할 수 있도록 부탁드립니다.
ps.성실한 답변들에 항상 감사드립니다.
2014-08-08
177
글번호 77522