커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7486
글번호 230811
답변완료
다시한번 검증부탁합니다.
안녕하세요? 다시 한번만 부탁드립니다.
38606번 관련 올려주신 수식을 그대로 복사해서 시스템에 적용해보니
차트상 매도(bx1) 이후 매도가격(8,200원)보다 상승했음에도 당연히 나와야 할 재진입(bb)신호가 나오지 않습니다.
그래서 제가 무엇을 잘못하고 있는지 적용한 수식을 캡쳐해서 올려봅니다.
무엇이 문제일까요? 확인부탁드립니다.
제가 구현하고자 하는 의도는 매도이후 50개봉이내에 bx1 매도가격 이상으로 다시 상승했을때 재진입하고자 합니다.
아울러 기존수식에 아래의 내용을 추가부탁드립니다.
추가내용) 매도 당일에는 재진입을 금지하고 다음날부터 50개봉 이내에 다시 재상승하면 재진입하고 싶습니다.
추가내용2) 매도 이후 몇개봉 이내에 재진입금지 하는 수식도 알려주시면 감사하겠습니다.
번거롭게 해서 대단히 죄송합니다.
2014-10-24
208
글번호 79720
파티아 님에 의해서 삭제되었습니다.
2014-10-23
0
글번호 79719
답변완료
문의드립니다.
안녕하세요?
수식 문의 드립니다.
참조2가 마디가(변수사용)를 15 캔들동안 2번 이탈하면 매수 1번만 되게해 주시고
만약 위 조건으로 매수했는데 손절이 나올경우 다시 같은 조건이 발생했을때만 다시 진입
반복 입니다.
감사합니다.
2014-10-24
195
글번호 79718
답변완료
수식부탁드립니다.
당일종가에서 전일종가를 뺀 순증가액인 C - C[1] 의 값을 아래의 수식에 적용한
변형 된 수식을 부탁 드리겠습니다.
P1(20),P2(60);
var : cnt(0,data2),Pre(0,data2),sum(0,data2);
var : sumv1(0,data2),mav1(0,data2),sumv2(0,data2),mav2(0,data2);
Array : CC[50](0);
if data2(index == 0) Then
pre = 0;
if data2(date != date[1]) Then{
Pre = Sum[1];
for cnt = 1 to 49{
CC[cnt] = CC[cnt-1][1];
}
}
Sum = data2(c)+Pre;
CC[0] = sum;
sumv1 = 0;
sumv2 = 0;
for cnt = 0 to P2{
if cnt < P1 Then
sumv1 = sumv1+CC[cnt];
if cnt < P2 Then
sumv2 = sumv2+CC[cnt];
}
mav1 = sumv1/P1;
mav2 = sumv2/P2;
plot1(mav1);
plot2(mav2);
2014-10-23
192
글번호 79717
답변완료
보유종목의 일부만 청산 (38616 추가문의)
안녕하십니까. "38616" 추가문의입니다. 페이지가 넘어가서 다시올립니다.
.....적용해보니 의미가 약간 다르게 전달된것 같습니다. (ETF레버리지)
첨부의 그림에서 보듯이 매수와 Profit청산이 의도와 다르게 비정상적으로 발생하네요.
말씀하신대로 일부만 청산하다보니 "AvgEntryPrice"가 바뀌는 문제 있네요
제 의도는 단순히
전부청산후 투자금액만큼 최초 재진입을 ---> 투자금액 만큼 남기고 청산 하면
어차피 같은수량 보유하므로 거래비용 및 슬리피지만큼 좀더 도움이 된다고 생각하였습니다.
의도대로라면 청산시점에 남겨둔 수량이, 청산시점에 새로 진입된 가격으로 재인식이 되어서 처리되어야 하는데(다청산 하고 새로진입한 것과 같이..), 그러면 Profit에 도달하지 못했으므로 근처가격에서는 이익청산이 발생하지 않을 텐데..
,, 문제는 그 수량의 원래 진입가격들이 그대로 적용되어서 뭔가 로직상에서 꼬이는것 같네요.
처리가 안될까요....
감사합니다.
2014-10-23
252
글번호 79715
답변완료
당일 거래량이 5만주 이상인 종목 검색
업무에 노고가 많습니다
당일 거래량이 5만주 이상되는 종목을 찾는 식을 작성하고 싶습니다.
부탁드립니다.
2014-10-23
208
글번호 79714
답변완료
문의드립니다.
안녕하세요.
예스스팟 게시판에 답변이 없으셔서 이 게시판에 올립니다.
예스스팟이용하여 현물주식을 분할 진입/청산 하고자 합니다.
예스스팟 수식을 알려주시면 감사드리겠습니다.
1. 진입
a. 00시00분 부터 시작~ 00시00분까지 (시간외부입력) : 분할진입 실행시간
b. X초(분) 간격으로 (시간간격 외부입력) : 분할진입 interval
c. (해당종목) 총 목표 진입수량 N주 (수량외부입력)
=> 지정된 시간(a)동안, X초(분)간격으로(b), 총 N주를(c) 나눠서 진입하고자 합니다.
2. 청산
a. 00시00분 부터 시작~ 00시00분까지 (시간외부입력) : 분할청산 실행시간
b. X초(분) 간격으로 (시간간격 외부입력) : 분할청산 interval
c. (해당종목) 총 목표 청산수량 N주 (수량외부입력)
=> 지정된 시간(a)동안, X초(분)간격으로(b), 총 N주를(c) 나눠서 청산하고자 합니다.
진입/청산의 외부변수는 별도로 구분하여 주시면 감사하겠습니다.
감사합니다.
2014-10-23
200
글번호 79706
답변완료
문의 드립니다.
항상 도움 주셔서 감사합니다.
문1)
예스랭귀지 편집기에 파일관리자 하단에
보면 합성이라는 것이 있습니다.
합성은 2개 이상의 시스템을 혼합하여 운영할수 있는
것으로 알고 있는데
만약 2개의 시스템을 합성하여 합성 시스템을
만들었다면 한계좌로 운영이 가능한 건가요?
즉 선물의 경우 한계약을 가지고 2개가 합쳐진
합성 시스템을 운영 할수 있는 건가요?
아니면 단순히 시스템만 합성 해 놓은 것으로
실제 2가지 시스템을 운영하려면 한계좌에 2계약을
운영해야 하는건가요?
문2)
미국 선물 오후 3시부터 다음날 새벽 5시까지 매매할때
시간 셋팅하는 법입니다.
여러차례문의 했지만 그때마다 답변도 좀 틀리고 잘 이해가 되지
않아서요.
설명좀 부탁드립니다.
매매조건
1. 오후 3시부터 다음날 5시까지 매매
2. 다음날 5시에 포지션 청산
위 매매 조건에 맞는 로직은 어떤것인가요?
예문1)
var : entry(false);
if stime == 150000 or (stime > 150000 and stime[1] < 150000) Then
entry = true;
if stime == 050000 or (stime > 050000 and stime[1] < 050000) then
entry = false;
if entry == true and MarketPosition == 0 and crossup(c,highest(H,10)[1]) Then
buy();
if MarketPosition == 1 Then{
ExitLong("BL",AtStop,EntryPrice-PriceScale);
ExitLong("BP",AtLimit,EntryPrice+PriceScale*10);
}
if entry == true and MarketPosition == 0 and CrossDown(c,Lowest(L,10)[1]) Then
sell();
if MarketPosition == -1 Then{
ExitShort("SL",AtStop,EntryPrice+PriceScale);
ExitShort("SP",AtLimit,EntryPrice-PriceScale*10);
}
예문2)
if sTime >= 150000 or stime < 050000 Then { # 매매시간 시작
If crossup(value1,value2) Then
Buy("B1",OnClose,def,vol);
If crossdown(value1, value2) then
sell("S1",OnClose,def,vol);
}
if stime == 050000 or (stime > 050000 and stime[1] < 050000) Then{ # 포지션 청산
ExitLong();
ExitShort();
}
문3)
if stime == 150000 or (stime > 150000 and stime[1] < 150000) Then
entry = true;
위 구문에 대한 설명 좀 부탁드립니다.
이해가 안되어서요.
현재 시간이 15이거나 또는 현재시간이 15시보다 크고 전?시간이 15보다 작으면
이게 무슨 뜻인가요..
(stime > 150000 and stime[1] < 150000) 이게 무슨 뜻인지? flase 인가요?
알게 쉽게 설명좀 부탁드립니다.
문4)
예문1)
if crossup(이평5, 이평10) or crossup(이평10, 이평20) then
buy("buy") ;
예문2)
if crossup(이평5, 이평10) then
buy("b1");
else if crossup(이평10,이평20) then
buy("b2");
예문3)
if crossup(이평5, 이평10) then
buy("b1")
if crossup(이평10,이평20) then
buy("b2");
만약에 1조건(crossup(이평5,이평10))과 2조건(crossup(이평10,이평20))이
동시에 일어난다고 가정할 경우
예문1)의 경우 한계약만 매수 되는지?
예문2)의 경우도 한계약만 매수 되는지?
예문3)의 경우는 두계약 매수 되는지?
각각 예문에 따라 몇계약이 매수 되는지 설명 부탁드립니다.
질문이 많이 죄송합니다.
답변 부탁드립니다.
2014-10-23
264
글번호 79704
답변완료
수식부탁드립니다
매번 감사드립니다!!!
1. 선물가격이 최근 150봉내에서 당일 저점을 3번 지지하고 상승하면 매수신호
2. 선물가격이 최근 150봉내에서 당일 고점을 3번 저항받고 하락하면 매도신호
수고하세요!!!
2014-10-23
191
글번호 79703