커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3381
글번호 230811
답변완료
문의드립니다.
안녕하세요~
키움에서 사용하던 수식 변환 요청드리려합니다.
1. 기존 키움① 신호검색 수식을 예스랭귀지 종목 검색으로 변화하였는데, 출력이 되지 않습니다. 어떤부분이 잘못됐는지 확인 요청드립니다.
키움①
a=(nPredayclose(1)+npredayclose(2)+npredayclose(3)+npredayclose(4))/4;
b=(dayclose()+npredayclose(1)+npredayclose(2))/3;
crossup(b,a)&&
if((h-o)/o*100<=10,1,0)&&
if((dayopen()-c(1))/c(1)*100<8,1,0)
1-1. 예스랭귀지 변환 : 종목 검색
Var : a(0), b(0);
a=DayClose(1)+DayClose(2)+DayClose(3)+DayClose(4)/4;
b=(dayclose(0)+dayclose(1)+dayclose(2))/3;
if crossup(b,a)&& (h-o)/o*100<=10 && (dayopen(0)-c[1])/c[1]*100<8 then find(1);
1-2. 예스랭귀지 변환 : 검색(키움의 신호) 으로 변환하려면 if이후 어떤 함수를 써야하나요?
2. 키움② 수식을 종목 검색으로 변환 요청드립니다..
키움②
b1=(nPredayclose(1)+npredayclose(2)+npredayclose(3)+npredayclose(4))/4;
b2=(dayclose()+npredayclose(1)+npredayclose(2))/3;
d1=(nPredayclose(2)+npredayclose(3)+npredayclose(4)+npredayclose(5))/4;
d2=(nPredayclose(1)+npredayclose(2)+npredayclose(3))/3;
e1=(nPredayclose(3)+npredayclose(4)+npredayclose(5)+npredayclose(6))/4;
e2=(nPredayclose(2)+npredayclose(3)+npredayclose(4))/3;
f1=(nPredayclose(4)+npredayclose(5)+npredayclose(6)+npredayclose(7))/4-
f2=(nPredayclose(3)+npredayclose(4)+npredayclose(5))/3;
g1=(nPredayclose(5)+npredayclose(6)+npredayclose(7)+npredayclose(8))/4;
g2=(nPredayclose(4)+npredayclose(5)+npredayclose(6))/3;
a1=b1-b2;
a2=d1-d2;
a3=e1-e2;
a4=f1-f2;
a5=g1-g2;
if(max(a1,a2,a3,a4,a5)==a2,1,0)&&
if(a1<a2,1,0)&&if(b1>d2,1,0)&&
if(d1>d2,1,0)&&if(e1>e2,1,0)&&
if((h-o)/o*100<=10,1,0)&&
if((dayopen()-c(1))/c(1)*100<8,1,0)
2020-05-17
537
글번호 138944
답변완료
부탁드립니다
분봉 macd를 틱봉에 넣을 수 있게 만들어 주시면 감사하겠습니다
2020-05-17
469
글번호 138943
답변완료
문의 드립니다.
시가 위에 있으면서 120이평선 기울기가 상승추세이고 120이평 위에 주가가 있을 때
MACD 12 26 9에서 0선 아래서 위로 돌파시 매수 진입
(시가와 이평이 상승 일 때 MACD신호로 진입을 원합니다)
손절과 익절은 MACD 12 26 9에서 0선 위에서 아래로 돌파시 매도 청산완료
시가 아래에 있으면서 120이평선 기울기가 하락추세이고 120이평 아래에 주가가 있을 때
MACD 12 26 9에서 0선 위에서 아래로 돌파시 매도 진입
(시가와 이평이 상승 일 때 MACD신호로 진입을 원합니다)
MACD 12 26 9에서 0선 아래서 위로 돌파시 매수 청산완료
부탁드립니다. 감사합니다.
2020-05-17
474
글번호 138942
답변완료
리스크 관리 2 percent rule 질문 드립니다.
안녕하세요.
현재 포지션의 손실금액이 총 자산의 2%를 넘으면 자동 손절하고 싶은데요.
예스랭귀지로 구현이 궁금합니다.
감사합니다.
2020-05-17
402
글번호 138941
올독 님에 의해서 삭제되었습니다.
2020-05-17
26
글번호 138940
답변완료
봉 완성 진입 문의
if(lowVal > L) then {
ExitLong("s",AtMarket);
if((lowVal > C) then {
Sell("Se", AtMarket);
}
}
안녕하세요?
제가 하고 싶은건 특정 가격대(lowValue) 하방으로 터치하면 바로 ExitLong을 하고 싶고,
그 봉이 완성되기 기다렸다가 완성 시점에도 lowValue 보다 낮은 가격으로 C 가 완성되면 Sell 포지션 진입을 하고 싶습니다.
위와 같이 로직으로 하면 안될 것 같은데 추천 부탁드립니다.
감사합니다.
2020-05-17
926
글번호 138939
답변완료
수식에 오류가 있나요?
*매도진입가격을 입력해서 하락돌파 되면 조정시 매도진입가에서 들어가는 조건입니다.
익절과 손절 가격도 입력해 둡니다.
매도진입=8910.50
매도손절=8987
매도익절=8870
문제가 없다고 생각했는데 진입이후 손절도 익절도 되지가 않네요.
첨부한 이미지와 같이 진입은 정상적으로 되었으며,
시스템모니터에서도 예비신호는 뜨는데 전혀 실행이 안됩니다....
뭐가 문제인가요?
수식은 아래와 같습니다. 봐주십시오.
Input : 거래시작날짜(20200515), 거래시작시간(170000);
Inputs: 매도진입(0), 매도익절(0), 매도손절(0);
Vars: Tcond(false);
if sdate == 거래시작날짜 and
((sdate != sdate[1] and stime >= 거래시작시간) or
(sdate == sdate[1] and stime >= 거래시작시간 and stime[1] < 거래시작시간)) Then
{
Tcond = true;
}
if Tcond == true then
{
#매도조건#
If C < 매도진입
and (C[1] > 매도진입 or C[2] > 매도진입 or C[3] > 매도진입 or C[4] > 매도진입)
and MarketPosition == 0
Then Sell("매도", AtLimit, 매도진입,2);
If IsEntryName("매도") Then {
If currentcontracts == maxcontracts Then {
If C < EntryPrice Then ExitLong("매도익", AtLimit,매도익절,"",1);
If C > EntryPrice Then
ExitLong("매도본", AtLimit, 매도진입);
ExitLong("매도손", AtStop, 매도손절);
}
If currentcontracts < maxcontracts Then {
If lowest(C,barssinceentry) > 매도익절
Then exitshort ("매도익1",atstop,entryprice-(entryprice-lowest(C,barssinceentry))*0.2);
If lowest(C,barssinceentry) < 매도익절
Then exitshort ("매도익2",atstop,entryprice-(entryprice-lowest(C,barssinceentry))*0.4);
If lowest(C,barssinceentry) < 매도익절-(매도진입-매도익절)/2
Then exitshort ("매도익22",atstop,entryprice-(entryprice-lowest(C,barssinceentry))*0.8);
}
}
}
추가질문
1. 이해가 안되는 것은 위의 수식처럼 진입, 익절, 손절을 입력하지 않고,
입력은 고점과 저점만 해서 수식에 의해 산출되는 피보나치 되돌림선들을 변수로 사용할 경우에는
같은 조건에 손절, 익절이 된다는 것입니다.
예를 들어 23.8% 선에서 진입 50%선에서 손절로 설정하면 된다는 말이죠.... 왜 그럴까요?
2. 해외선물 나스닥과 같은 경우 HTS상에서 100틱이상은 손절이나 익절을 걸지 못하게 막아놓았던데, 시스템 수식에서는 상관이 없는 거죠?
2020-05-16
1112
글번호 138938
답변완료
수식 문의
항상 수식 작성에 친절한 도움 주셔서 감사합니다.
위의 차트 예시처럼 해외선물 및 국내선물 차트 바탕색깔 설정 수식을 문의 드립니다.
1. 스토캐스틱(12.6.6) "K"와 "D"가 서로 크로스될 때 차트 바탕색깔 설정
- K > D : 분홍색
- K < D : 하늘색
2. 이동평균선중 5일선 방향에 따라 차트 바탕색깔 설정
- 5일선이 상향할때 : 분홍색
- 5일선이 하향할때 : 하늘색
- 5일선이 평행할때 : 기존 설정된 바탕색
* 5일선 방향은 봉 완성후 시가 발생시 방향기준임
2020-05-18
1065
글번호 138937
답변완료
수정부탁드려요
강조에서는 나오는데 조건 검색이 안돼요
input : N(10),n1(20);
var : cnt(0),sum1(0),sum2(0),cnt1(0),sum3(0),sum4(0);
Array : mm[100](0);
if bdate != bdate[1] Then
{
mm[0] = 0;
for cnt = 1 to 99
{
mm[cnt] = mm[cnt-1][1];
}
}
mm[0] = mm[0] + m;
if mm[n-1] > 0 then
{
sum1 = 0;
sum2 = 0;
for cnt = 0 to N-1
{
sum1 = sum1 + mm[cnt];
sum2 = sum2 + DayVolume(cnt);
}
var1 = (sum1/sum2);
}
if bdate != bdate[1] Then
{
mm[0] = 0;
for cnt1 = 1 to 99
{
mm[cnt1] = mm[cnt1-1][1];
}
}
mm[0] = mm[0] + m;
if mm[n1-1] > 0 then
{
sum3 = 0;
sum4 = 0;
for cnt1 = 0 to n1-1
{
sum3 = sum3 + mm[cnt1];
sum4 = sum4 + DayVolume(cnt1);
}
var2 = (sum3/sum4);
var3 = (money/v);
}
if var1 > var2 and var2 > var3 Then
find(1);
2020-05-16
955
글번호 138936