커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3645
글번호 230811
답변완료
지표 수식으로 변환부탁
다음 수식을 지표 수식으로 변환부탁드립니다.
<1>
t1=tema(c,period);
x=valuewhen(1,crossdown(c,t1),
highestsince(1,crossup(c,t1),t1));
period 20
지표색깔 빨강
<2>
t1=tema(c,period);
y=valuewhen(1,crossup(c,t1),
lowestsince(1,crossdown(c,t1),t1));
period 20
지표색깔 검정
2019-07-20
399
글번호 130521
답변완료
매수후 일정가격에 매도하는법
수고하십니다
input : P1(5),P2(20),P3(60);
var1 = ma(C,P1);
var2 = ma(C,P2);
var3 = ma(C,P3);
var4 = 0;
Condition1 = var1 > var2; // and var2 > var3;
if Condition1 == true and Condition1[1] == false Then buy("bbbbb");
// 매수진입후 종가기준 최고가에서 10% 하락시 청산
if marketposition == 1 Then {
if Highest(H,BarsSinceEntry) Then ExitLong("sssss");
}
지난번 질문(63378)에 대한 답변으로 메크로를 작성하여 주신걸 시뮬에이션해보니 결과가 제가 생각하는 바와 너무 달라서 이거저거 변행해가며 확인중에 질문을 드립니다
1. 제일 좌측(14일자)에서 신호가 나와 매수했는데,
저의 예상으로는 2번재 기호(2월 25일)에 매도 신호가 나오면 최적이겠다 싶은데,,,이외로 바로 다음날 매도신호가 나오네요
물론 3번째 신호도 그렇고,,,왜 그런가요???
2. Highest(H,BarsSinceEntry) ==> 설명서에 보면은 이 식같은경우 진입후 최고가라고 나오는데,,
실시간에서는 진행중이므로 미리 예측할수는 없을테니 제 생각데로 안나올수도 있겠다 싶은데,,
시뮬에이션차트에서는 2월 25일자 값이 나와야 할것 같은데,,,
3. 실시간챠트(시뮬레이션챠트도)에서 현재가를 알수있는 변수나 방법이 뭔가요..
나의 매수가격이 현재가 보다 150%이상이면 매도한다 라는 식으론 구현 못하나요???
주가가 8000원에 매수했는데 9500원이면 매도하라,,,,,식으로, 이에 더블어 7천원이면 손절하라,,,
추가로
1. YesLanguage에 들어가 보면 명령이나 랭귀지 사용법등이 나오는데
함수, 예약어등에서 어떤함수는 시스템에서만 사용가능하고 어떤 함수는 검색에서만 가능하고 하는데 이걸 구분하는 방법은 있나요??
아님 하나씩 구현해가며 터득해야하나요(검증하다보면 Error로 나오던데,,)
2. 예스랭귀지 편집기 화면(화일관리자)에서 "검색"과 "종목검색"의 차이점은 뭔가요???
즐거운 주말되시길바랍니다,,
2019-07-20
346
글번호 130520
답변완료
부탁 드립니다.
도움주심에 감사 드립니다.
1)지정된 일자 및 시간(분봉용)
2)지정된 일자(일봉용)
3)예를 들면 현재로부터 100개봉전에서
이후에 계산되는식 부탁 드립니다.
미리 감사 드립니다.
var : 당일대금(0),당일v(0);
if bdate != bdate[1] Then
{
당일대금 = 0;
당일v = 0;
}
당일대금 = 당일대금 + v*c;
당일v = 당일v + v;
var1 = 당일대금/당일v;
2019-07-22
216
글번호 130519
미네랄워터 님에 의해서 삭제되었습니다.
2019-07-19
5
글번호 130517
답변완료
수식이 제대로인지 봐주세요.
안녕 하세요 , 더운 날씨에 고생이많으십니다.
전에 수식을 작성해 주셧는데요.. 09시 시작해서 익일 05시에 모두 종료하는것으로요.
아래 수식이 일부 인데요...
1, 시작시간이 09시 부터인데 그 이전 부터..7시서부터 전략 표시가 돌아가고요
2, 익일 05시에 모든 진입전략은 강제 청산되고 종료가 되어야 하는데 그시간 이후에도
전략이 실행되고 있어요 무슨 문제일까요?
수정할 사항이 있다면 수정 부탁 드립니다. 감사 합니다
input : starttime(90000),endtime(050000);
input : x(14),maPeriod(3);
var : Tcond(false),R(0),S(0),E(0);
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Tcond = true;
}
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
2019-07-19
204
글번호 130516
미네랄워터 님에 의해서 삭제되었습니다.
2019-07-19
0
글번호 130515
답변완료
63366 건
63366 건에 추가 문의했으니 답변부탁합니다.
2019-07-19
183
글번호 130514
답변완료
부탁드립니다.
수식 부탁드립니다. 감사드립니다
1) 조건(아래 예시참조)
7시 30분 현재가가 기준가 A 이고
A 대비 10틱 상승하면 기준가가 A+10틱의 현재가가 기준가(A')로 변경되고 B=1
A'에서 다시 10틱 상승하면 A'+10틱의 현재가가 기준가로(A'') 변경되고 B=2, 기준가에서 추가 10틱 상승하면 기준가(A''')로 변경, B=3...
기준가는 10틱 변화된 현재가로 수시로 변하고 연속으로 상승될경우 B=1,2,3,4,5..로 변경
기준가 대비 연속 10틱 상승으로 B=1,2,3.. 되다가 기준가 대비 -10틱 되면 S=1로 변경,
다시 기준가 대비 10틱 상승하면 B=1 부터 다시 시작
기준가(10틱 변화후의 현재값) 대비 10틱 상승 하락하면 B,S가 1씩 증가하고 (1,2,3,4,5,..)
증가 중 한번이라도 역방향으로 하락 상승하면 B,S가 1부터 다시 시작하여 증가
*표시
B=1,2,3(빨간색).. S=1,2,3,,(파란색) 을 차트 캔들위에 표시해 주시길 요청드립니다.
(단순 1,2,3,4이고 색깔만 다르게 표시)
2)진입
매도 : B=1일때 1개 매도, B=2일때 2개 매도, B=3 이상일때는 3개 매도
매수 : S=1일때 1개 매수, S=2일때 2개 매수, S=3 이상일때는 3개 매수
진입 수량은 매도 매수 각각 최대 N 개로 제한하고 싶습니다.
3)손절1: 매도일때 매도된 5개 총 수익이 마이너스 일때 최고가 대비 10틱이 하락 했을때 수익이
-(진입수량 * U(상수)) 값보다 작으면 청산되는 식을 부탁드립니다.
*예시: 진입수5,
현재가 2000 (매도 5개총수익: -100틱),
현재가 2005 (수익: -150틱), <-- 최대값: 2005
현재가 1995(-10틱하락) (수익: -50틱)
==> -(진입수(5)*U(5))= -25틱 보다 작음
==>손절(진입된 5개 모두 청산)
* 매수는 반대로 해주세요
4)손절2: 진입된 매도 수량이 5개 이상이고 수익이 50틱 이상까지 갔다면
0틱으로 다시 되돌림 하면 손절(진입수량 모두 청산)
* 매수는 반대로 해주세요
5)청산(두가지 부탁드립니다)
1)매도, 매수 포지션일때 진입된 수익 총합이 100틱이상이면 전부청산
2)매도, 배수 포지션일때 진입된 수익 총합이 100틱이상이면 최고수익대비 수익이 20%하락하면 전부 청산
1)조건 예시
7시 30분 현재가: A(기준가)
A+10틱 ==> B=1 (A'=A+10틱 현재가)
A'+10틱 ==> B=2 (A''=A'+10틱 현재가)
A''+10틱 ==> B=3 (A'''=A''+10틱 현재가)
A'''+10틱 ==> B=4 (A''''=A'''+10틱 현재가)
A''''+10틱 ==> B=5 (A'''''=A''''+10틱 현재가)
지속..
A+10틱 ==> B=1 (A'=A+10틱 현재가)
A'+10틱 ==> B=2 (A''=A'+10틱 현재가)
A''-10틱 ==> S=1 (A'''=A''-10틱 현재가)
A'''-10틱 ==> S=2 (A'''=A''-10틱 현재가)
A''''-10틱 ==> S=3 (A''''=A'''-10틱 현재가)
A'''''+10틱 ==> B=1 (A'''''=A''''+10틱 현재가)
감사합니다
2019-07-21
253
글번호 130509
답변완료
DayIndex관련 질문입니다
DayIndex는 다음과 같은 사용자 함수인데, 제가 해석을 해보고 있는데 이게 맞는지 궁금하네요
그리고 여기서 BarIndex는 무슨 뜻인가요?
var : BarCountInDay(0);
if BarIndex <= 0 then //BarIndex가 0이거나 0보다 작다면 <- 무슨뜻?
{
BarCountInDay = 0; //이 변수는 0으로 만든다
}
else
{
if Date > Date[1] then //오늘이 되면
{
BarCountInDay = 0; //이 변수는 0으로 만든다
}
else //오늘보다 이전이면
{
BarCountInDay = BarCountInDay + 1; //이 번수를 하나씩 추가하라
}
}
DayIndex = BarCountInDay; //그 변수값을 Dayindex에 넣어라
근데 위와같으면 if Date > Date[1] then (오늘 이전이면) 이거니까 당일 봉 이전만 분봉의 index를 구할 수 있는 건가요? 그럼 실제 매매에서는 사용 불가능하나요?
위 질문에 대한 대답과
제가 //이렇게 하면서 해석한것처럼 함수 해석 부탁드릴게요.
2019-07-19
323
글번호 130508