커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7778
글번호 230811
답변완료
참조 데이타 표현
안녕하십니까?
5분봉 참조데이타를 2개 띄어 전날의 고가와 저가를 구하려 합니다.
예를들어, Data2가 코스피 200 지수라고 하고, Data3는 삼성전자라고 할 경우,
5분봉에서
"Data2 종가가 Data2의 전날 고점을 돌파하고, Data3 종가가 Data3의 전날 고가를 돌파하면 매수" 를 수식으로 표현하고 싶습니다.
이전의 참조 데이타 관련 답변을 적용하여 보니 도통 먹지를 않네요.
감사합니다.
2009-02-21
820
글번호 20421
답변완료
메일로 문의드립니다
안녕하세요
메일로 문의드렸읍니다
감사합니다.
2009-02-21
819
글번호 20420
답변완료
볼린져 종목검색 에러
1. 볼린져밴드 상단선과 하단선이 좁혀져 있으면서(10%내외) 중앙밴드 위 혹은 중앙밴
드에 위치하면서 양봉, 그리고 거래량이 전일거래량보다 많은 종목 검색식과
2. 중앙밴드 위 혹은 중앙밴드에 위치하면서 양봉, 그리고 거래량이 전일거래량보다 많
은 종목 검색식을 부탁드립니다...
1번 2번 따로 부탁드립니다...
볼린져밴드 기간:12, 승수:2 입니다...
수고하세요...
답변은 메일로 jh5872@naver.com 입니다.
1.
Inputs: Length(12), dv(2);
Variables: BBup(0),BBdown(0);
BBup = BollBandup(Length, dv);
BBdown = BollBandDown(Length, dv);
if BBup <= BBdown*1.1 and C >= ma(c,Length) and C > O and V > DayVolume(1) Then
var1 = 1;
Else
var1= 0;
find(var1);
2.
Inputs: Length(12), dv(2);
Variables: BBup(0),BBdown(0);
BBup = BollBandup(Length, dv);
BBdown = BollBandDown(Length, dv);
if C >= ma(c,Length) and C > O and V > DayVolume(1) Then
var1 = 1;
Else
var1= 0;
find(var1);
답변이 왔는데...수식적용하고 검증누르니 두개다 에러가 뜨네요....
1.2번 문법에러,잘못된토크:'Else' 라고 뜨네요...
볼린져 종목검색인데...죄송하지만 다시 만들어 주세요~~
감사합니다.
2009-02-21
868
글번호 20419
답변완료
지표식 문의
수고하십니다...
선물 데트용..10분봉차트에서
아래 지표를 출력할 때..
ema 기간값이 10 봉이지만..
당일 아침 첫 봉부터만 ema 되게 하려면 어떻게 해야 하나요?..
[체결관련 지표이므로 전날과 관계 없도록 하고 싶습니다...]
즉,당일 첫봉에선 ema 1, 두번째 봉에선 ema 2, 세번째 봉에선 ema3...
10봉째 이후부턴 ema 10...으로 되도록 표시하고 싶습니다.
##--------------
input : emalen1(10) ;
var10=(ema(upvol,emalen1)-ema(DownVol,emalen1));
plot1(var10,"ema차이") ;
plot2(ema(var10,emalen1),"차이ema");
##--------------
수고하세요...
2009-02-21
927
글번호 20418
답변완료
가짜진입 식의 보충 부탁드립니다
if sDate == 매수진입가짜날짜 and stime >= 144500
and bcnt1<1 then{
buy("어제가짜진입");
buyp=c;
if IsEntryName("어제가짜진입") == true then{
}
}
if sdate >= 날짜
and mav505 < mav560*1.02
and c <= mav505
and mav505 > mav520*1.005 and mav520 > mav560
and bcnt2 < 1 Then{
buy("정배열진입");
if IsEntryName("정배열진입") == true then{
buyP = C;
}
}
이렇게 가짜 진입+ 정배열진입을 쓰고 있는데요
이식이 적용됬을때
"어제가짜진입"만 진입이 한번에 10번 나오게끔 하고 싶습니다.
피라미딩으로 모든 진입신호 허용해버리면 "정배열진입"도 무한대로 나와버려서요
2009-02-21
862
글번호 20416
답변완료
IsEntryName 말고 들어간 진입을 표현하는 수식 좀 가르쳐 주세요
IsEntryName("A") 은
들어간 1번째 진입이 ("b") 2번째 진입이 ("A") 라고해도
맨 처음 들어간 수식이 ("A")일때만
진행되는거 같습니다.
//
1.가장 최근에 들어간 진입 = 어떻게 표현하나요?
2. 맨처음이 아니더라도 즉
들어간 1번째 진입이 ("ㅠ") 2번째 진입이 ("A") 이고 몇번째 진입이던 상관없이
이름이("A") 진입이 들어가면 = 어떻게 표현하나요?
2009-02-21
883
글번호 20415
답변완료
수식 문의 드립니다.
inputs: enrtyratio(0.01),exitratio(0.01);
var : Futures(0);
#데이 만기일 포함 청산전략
var1 = int(date/100)-int(date/10000)*100; //월
var2 = date - int(date/100)*100; //일
var3 = DayOfWeek(date); //요일
if var1%3 == 0 and // 3,6,9,12월이고
var2 >= 8 and var2 <= 14 and // 8일에서 14일 사이이고
var3 == 4 then // 목요일
Futures = 1;
Else
Futures = 0;
//여기서부터 진입
if stime < 151500 Then{ //3시 15분 이전일때
//현재 '진입'해 있는 표지션의 날짜가 오늘이 아니고,
//최근 '청산'된 포지션의 청산날짜가 오늘이 아닌경우->오늘 거래가 일어나지 않은경우
If date != entrydate(0) and date != entrydate(1) Then
Begin
if C>DayOpen*(1+enrtyratio) Then //시가보다 1% 이상 높게 가격이 형성되었을때 매수
buy();
end;
If date != entrydate(0) and date != entrydate(1) Then
begin
if C<DayOpen*(1-enrtyratio) Then //시가보다 1% 이상 낮게 가격이 형성되었을때 매도
Sell();
end;
}
if Futures == 0 Then
SetStopEndofday(150400);
Else
SetStopEndofday(144900);
//당일청산
#끝
#SetStopTrailing 최고가대비 20%변동시 청산
if marketposition() == 1 then{
if C <= highest(H,barssinceentry()+1) then
exitlong("exl",atstop,highest(H,barssinceentry()+1)*(1-exitratio));
}
if marketposition() == -1 then{
if C >= lowest(L,barssinceentry()+1) then
ExitShort("exS",atstop,lowest(L,barssinceentry()+1)*(1+exitratio));
}
----------------------------------------------------------------------
위에까지가 제가 완성한 기초전략식이구요,
여기서부터 이걸어떻게 집어넣어야 할지 고민중입니다.
답변부탁드리겠습니다.
미리 감사드립니다^^.
수식을 jjoongoo@gmail.com 으로 답변주셔도 됩니다.
//시가확인
//시가1%변동시 변동방향 진입
//첫 진입신호가 나오지않을경우나 첫신호 거래 종료 이후 포지션이없을시 당일 고저가 추적
//고가 대비 1% 하락, 저가 대비 1% 상승 방향으로 진입
//포지션이 있을경우, 고저가 추적하여 1% 되돌림시 청산 << 이건 구현함
#재진입전략- 눌림목찾기
//매도포지션 청산이후 되돌림이 완료되고 변곡이 발생한다면(단기 고점찾기)
//단기고점에서 1% 하락시 매도 포지션 재진입.
//매수포지션 청산이후 되돌림이 완료되고 변곡이 발생한다면(단기 저점찾기)
//단기저점에서 1% 상승시 매수 포지션 재진입.
//재진입은 한번만 허용, 최대 손실 2%로 제한
2009-02-21
990
글번호 20414
답변완료
포지션 관련 문의
안녕하세요 ?
진입후 포지션에 대한 수익 발생에 관하여 문의 드립니다.
1. 포지션 진입후에 OpenPositionProfit 값이 변경되는 시점이 현재 봉이 굳어지는 시점인가요 ?
2. 1번)의 경우, 그렇다면 종가로 해당 OpenPositionProfit 값을 산정하나요 ?
3. 포지션 진입후에 MaxPositionProfit과 MaxPositionLoss 값이 변경되는 시점이 현재 봉이 굳어지는 시점인가요 ?
4. 3번)의 경우, 그렇다면 종가로 해당 MaxPositionProfit과 MaxPositionLoss 값을 산정하나요 ?
5. MaxPositionProfit과 MaxPositionLoss의 경우, 도움말 설명을 보면 "구간내의 고가와 저가를 포함하는 최대 수익액을 가져 온다" 라고 되어 있는데, 포지션 진입후에 진입가를 기준으로 MaxPositionProfit과 MaxPositionLoss를 계산하여 가져오는 것이 아닌가요 ?
죄송하지만, 해당 값이 어떻게 계산되는지 설명을 부탁 드립니다.
각각 번호별로 답변 부탁 드립니다.
감사합니다.
2009-02-20
975
글번호 20409
답변완료
atr청산 관련하여 문의드립니다.
ExitLong ("매수청산", AtStop, highest(C,barssinceentry+1)-atr(9)*2.5);
시템에서 위의 수식과 같이 청산식을 주었습니다.
오늘의 상황을 예를 들어보면
풋 125 매수 진입후 고점이 2.85였고 그때의 atr값이 1.6정도 였습니다.
그러면 고점 대비 1.6*2.5인 4.00 즉 2.85 - 4.00 인 2.45에 청산이 되어야 할 것같은데
실제 신호는 2.35에 청산이 되었습니다.
항상 신호가 늦게 나오는 것 같아서 이렇게 질문드립니다.
수시에서 잘못이 있던 것인지 검토 부탁드리겠습니다.
2009-02-20
1094
글번호 20408