커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8208
글번호 230811
답변완료
문의드립니다.
감사합니다.
2013-11-26
250
글번호 69772
답변완료
문의
1. 전략실행차트에서의 청산시점과 시뮬레이션 차트에서의 청산시점이 서로 다름을 확인후 원인을 파악하는 중에 그림2와 같이 지표값이 서로 다르다는 것을 발견했습니다.
위에는 시뮬레이션 차트, 아래는 전략실행차트에서의 지표값입니다.
동일 날짜 동일시간에 동일식으로 했는데 이렇게 큰 차이가 발생하는 무엇인가요?
0.000까지가 진입과 청산을 결정짓는 수치입니다.
ROUND로 소수점 5자리에서 반올림해주고 있습니다. 아주 크리티컬한 요소이므로 급히 확인을 요청드립니다.
참고로 동일컴퓨터내에서 체크사항이며, 타 3개의 컴퓨터 모두 전략실행차트에서 동일값을 보여주고 있으며, OS에 따른 문제는 아니라 봅니다.
2. A,B,C가 연속적으로 피라미딩 매수진입을 했다고 가정하겠습니다. A,B, C의 평균진입가격을 구하고 고점대비 평균가격의 50%를 하향시 청산하는 식 부탁드립니다.
3. 위식과는 별개로 최초진입순으로 가중치를 두어 최초진입을 가장 중요시 하고자 합니다.
가령 A는 2, B는 1.5, C는 1 (가중치는 N변수) 이 경우의 식도 부탁드립니다.
4. 피라미딩이 아닌 다계약(3계약가정) 운용시 진입신호가 발생되었을때 최초 1계약 진입후, N봉 이후에 또한계약, N봉 이후 또 한계약...이런식으로 진입이 가능한가요? 가능하다면 청산도 마찬가지로 N봉후 차례대로 청산을 하고자 합니다. 관련식 부탁드리겠습니다.
5. 첨부그림1에서 빨간동그라미에서 매수진입되었다고 가정할때, MA1선을 크로스다운한 후, 고점이 같거나 낮아지면서 MA1선 아래에서 N개봉 이상이 되었을때 청산하고자 합니다.
여기서 N개봉중에 70%이상은 음봉이거나 도지이어야 합니다.
6. 3분봉에서 60일선을 표기하고 있는데 전략실행차트에서는 표기가 안되네요.
계산을 해보니 최소 7200개의 봉이 필요한데, 현재 5000봉 제한이라 그런가봅니다.
60일선 관련 전략이 무용지물되고 있는데 1만개 2만개의 봉 지원을 조속히 해주셨으면 합니다.
기본 5000개인데 추가 요청시에는 1만개 2만개 지원하는 정책도 고려해주시면 감사하겠습니다.
늘 감사드립니다.
2013-11-26
358
글번호 69771
답변완료
필터링 추가 부탁 드립니다.
샹들리에 청산 방식으로 ATR 2.5 로 당일 매도진입 , 매수 진입 하고자 합니다.
필터링 원칙은
1. 당일 오후 1시 이후에는 진입 하지 않는다. (= 09:00 ~ 13:00에만 진입한다 )
2. (실제 매수, 매도 여부에 무관하게) 신호에 따른 거래에서 직전의 거래가 손실일 경우에만 진입한다.
3. 당일의 첫 번 째 거래는 2. 의 원칙을 적용하지 않고 무조건 진입한다.
input : ATRPeriod(15),ATRS(2.5);
var : MaxHigh(0),MinLow(0);
if MarketPosition() == 0 Then{
if crossup(ma(c,5),ma(c,20)) Then
{
buy();
}
if CrossDown(ma(c,5),ma(c,20)) Then
{
Sell();
}
}
if MarketPosition() == 1 then
{
exitlong("매수추적",Atstop,highest(H,barssinceentry)-ATR(ATRperiod)*ATRS);
}
if MarketPosition() == -1 then{
ExitShort("매도추적",Atstop,lowest(L,barssinceentry)+ATR(ATRperiod)*ATRS);
}
2013-11-23
288
글번호 69770
답변완료
문의드립니다.
아래처럼 시스템을 만들려 합니다.
부탁드립니다.
*용어정의
1.골드크로스 : SIGMA < 0 상태에서 SIGMA > 0 으로 될때 (SIGMA가 0 이면 골든크로스 아님)
2.데드크로스 : SIGMA > 0 상태에서 SIGMA < 0 으로 될때 (SIGMA가 0 이면 데드크로스 아님)
3.골드 : SIGMA > 0 상태 유지
4.데드 : SIGMA < 0 상태 유지
5.아래에 나오는 1분봉 SIGMA는 1분봉 종가 기준으로 한다.
------------------------------------------------------------------------------------
*선물 매수 : 1계약
1] 1분봉 SIGMA(100,50)이 0을 골드크로스 돌파할때 매수
(단,아래 조건 2개를 모두 만족시)
1)1분봉 SIGMA(450,225) > 0 골드상태
2)1분봉 SIGMA(600,300) > 0 골드상태
2] 1분봉 SIGMA(100,50) 가 먼저 0을 골드크로스 하고 골드 상태가 유지되고
뒤따라서 1분봉 SIGMA(450,225) 과 1분봉 SIGMA(600,300) 둘다 0 보다 더 큰 골드상태되면 매수
3] 시가(9시정각)에서 아래 3개 지표가 모두 골드(SIGMA > 0) 상태이면 매수
1분봉 SIGMA(100,50) > 0 골드상태
1분봉 SIGMA(450,225) > 0 골드상태
1분봉 SIGMA(600,300) > 0 골드상태
선물 매수 청산
1] 1분봉 SIGMA(100,50)이 0을 데드크로스 돌파할때 청산
2] 1포인트 손실일때 청산
3] 1번,2번 청산조건 안될시 당일 종가에 청산
------------------------------------------------------------------------------------
*선물 매도 : 1계약
1] 1분봉 SIGMA(100,50)이 0을 데드크로스 돌파할때 매도
(단,아래 조건 2개를 모두 만족시)
1)1분봉 SIGMA(450,225) < 0 데드상태
2)1분봉 SIGMA(600,300) < 0 데드상태
2] 1분봉 SIGMA(100,50) 가 먼저 0을 데드크로스 하고 데드 상태가 유지되고
뒤따라서 1분봉 SIGMA(450,225) 과 1분봉 SIGMA(600,300) 둘다 0 보다 작은 데드 상태가 되면 매도
3] 시가(9시정각)에서 아래 3개 지표가 모두 데드(SIGMA < 0) 상태이면 매도
1분봉 SIGMA(100,50) > 0 데드상태
1분봉 SIGMA(450,225) > 0 데드상태
1분봉 SIGMA(600,300) > 0 데드상태
선물 매도 청산
1] 1분봉 SIGMA(100,50)이 0을 골드크로스 돌파할때 청산
2] 1포인트 손실일때 청산
3] 1번,2번 청산조건 안될시 당일 종가에 청산
2013-11-25
285
글번호 69769
답변완료
재질문드립니다
답변감사합니다
질문 1)에서 절대치가 출력이 되는데... <+,- >부호를 함께 출력할려면 어떻게 해야할까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 지표문의
> 안녕하세요
예스스탁입니다.
1.
아래내용 참고하시기 바랍니다.
각 지지나 저항값과의 차이를 변수에 저장하고
min함수로 해당변수값장 가장 작은값을 찾아 plot하시면 됩니다.
var1 = abs(C-지지값1);
var2 = abs(C-지지값2);
var3 = abs(C-지지값3);
var4 = abs(C-지지값4);
var5 = abs(C-저항값1);
var6 = abs(C-저항값1);
var7 = abs(C-저항값1);
var8 = abs(C-저항값1);
value1 = min(var1,var2,var3,var4,var5,var6,var7,var8);
plot1(value1);
2.
adate == sdate로 하시면 과거 날짜의 봉도 모두 출력됩니다.
아래와 같이 CurrentDate를 이용하셔야 합니다.
비교문마자 adate변수를 다르게 가져가셔야 합니다.
var :Adate(0);
if data2(c) == p1 Then
{
Adate=sdate;
r1=(o+c)/2;
}
if Adate == CurrentDate Then
plot1(r1,"r1");
즐거운 하루되세요
> 스로우 님이 쓴 글입니다.
> 제목 : 지표문의
> 1) 여러개의 지지저항값중 현재가에 가장 가까운 지지저항값을 선택해서 현재가와 그 지지저항값의 차이(이격)를 수치로 표시하고 싶습니다.
2)
var :Adate(0);
if data2(c) == p1 Then
{
Adate=sdate;
r1=(o+c)/2;
}
if Adate == sdate Then
plot1(r1,"r1");
==> 오늘 발생한 사건에 대해서만 (과거는 제외) 선을그어주는 것인데 제대로 된건지 확인 부탁드립니다
==> 그리고 "p1"이 한개가 아니고 50여개 되는데 이경우 각각의 p1 ~ p50에대서 수식을 적용해야하는지 아니면 함수식으로 간편화할수있는지 도움 부탁드립니다
==> 또한 각각의 p1 ~ p50에 대하여 "Adate(0)"를 가각 다르게 잡아야하는가요?
2013-11-22
272
글번호 69765
답변완료
질문드립니다.
수고하십니다.
매수후3개봉 후에 5일선에 2분의1이상내려온 음봉 또는 5일선아래내려온 음봉시 매도식부탁드립니다.
감사합니다
2013-11-22
274
글번호 69763
답변완료
질문 드립니다.
추가 의문사항이 생겨 질문드립니다.
아래의 수식을 연결선물지수 등에 적용해 보면 연속손실이 4번 난 경우 2계약수 진입하고 그 직후 또 1번 손실이 나면 4계약까지는 진입은 되는데 그 이후 이득이 나면 바로 1계약으로 환원이 안되고,,4계약으로 몇번 거래되다가 1계약으로 환원됩니다.
어디를 수정해야 이득이 날 경우 바로 1계약으로 환원되는지 알려주면 감사하겠습니다.
input : 기본투자계약수(1),최대투자계약수(4),연속손실횟수(4);
var : Vol(0),cnt(0),loss(0);
if data1(dayindex == 1) Then {
loss = 0;
for cnt = 연속손실횟수 downto 1{
if PositionProfit(cnt) < 0 Then
loss = loss+1;
}
MessageLog("%.2f",loss);
if TotalTrades == 0 or loss <= 1 Then
Vol = 1;
if loss == 연속손실횟수 Then
Vol = min(vol*2,최대투자계약수);
if data2(bids) > data2(asks) then {
buy("b",OnClose,def,vol);
}
if data2(bids) < data2(asks) Then{
sell("s",OnClose,def,Vol);
}
}
2013-11-22
255
글번호 69755
답변완료
문의드립니다.
수고하십니다.
프로그램 부탁드리겠습니다.
1. 외국인과 개인의 현물 & 선물 동향을 프로그램에서 참조 할수 있는지요 있다면 어떤참조 데이터를 사용하는지 궁금합니다.
2. 참조할수 있다면 외국인과 개인의 차이가 점점 벌려져 500억 이상일때 외국인 방향으로 따라가는 프로그램.
3. 차이가 최고대비 점점 줄어들면 청산하는 프로그램을 부탁드리겠습니다.
감사합니다.
2013-11-22
263
글번호 69747
답변완료
문의드립니다.
1. <매수호가가 매도호가 보다 많으면 매수> 라는 조건식이 있습니다.
2. <매도호가가 매수호가 보다 많으면 매도> 라는 조건식이 있습니다.
매수진입이 이루어지고 다시 매도진입이 이루어진뒤에는 1번의 매수는 다시 발생하지
않게 하고싶습니다.. 즉 다시말해서 매수호가가 많아서 매수진입이 되었고 매도호가가
우위가 되는 상황이 나와서 매도진입이 이루어졌다면 다시 매수호가가 우위가 되더라도
1번의 진입식은 진입이 안되게 하고싶습니다..
계속적인 매수 매도가 이루어지는 현상을 없애기 위해서요~
답변 부탁드립니다.
2013-11-22
262
글번호 69746