커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7887
글번호 230811
답변완료
전일대비 미결제약정 차트 구현...
안녕하세요?
지금 제공되는 미결제약정 차트를 전일 종가 수량기준으로 작성하고 싶습니다.
즉, 옵션차트에서 표시되는 미결제차트 Data에서 전일 종가기준 Data를 뺀..
전일대비 미결제 증감을 차트로 보고 싶습니다.
전일종가가 제공되듯이, 혹시 미결제 전일 종가도 제공되는 지요?
제공되는 않는다면, 혹시 표현 가능한 방법이 있는지 알려 주셨으면 합니다.
감사합니다.
2004-03-29
1505
글번호 2966
답변완료
1405 번 재문의
var : ma1(0), ma2(0), ma3(0), ma4(0), ma5(0), ma6(0), ma7(0);
var : maLine1(0), maLine2(0), maLine3(0), maLine4(0),
maLine5(0), maLine6(0), maLine7(0);
ma1 = 5;
ma2 = 10;
ma3 = 20;
ma4 = 40;
ma5 = 60;
ma6 = 120;
ma7 = 200; // or ma7 = 720;
maLine1 = ma(C, ma1); // 5ma value
maLine2 = ma(C, ma2); // 10ma value
maLine3 = ma(C, ma3); // 20ma value
maLine4 = ma(C, ma4); // 40ma value
maLine5 = ma(C, ma5); // 60ma value
maLine6 = ma(C, ma6); // 1200ma value
maLine7 = ma(C, ma7); // 200ma value
if crossup(C, maLine3) then
{
buy();
}
if crossdown(C, maLine3) then
{
sell();
}
결과
test 기간 : 2002/10/1 ~ 2003/09/30
ma7 = 200;
--> 연평균손익(-5.97), 승률(27.60), 최대손실폭(-18.75)
ma7 = 720;
--> 연평균손익(5.62), 승률(27.39), 최대손실폭(-18.75)
위와 같이 결과가 다릅니다...
2004-03-29
1285
글번호 2962
답변완료
1393 재문의요
1393질문에서요...
아래와 같이 질문을 드렸는데요...
매수조건 :
crossup( ma(C,5), ma(C,20) ) ;
청산조건 :
20ma와 이격도가 102보다 크면
이 값을 변수에 저장하고
다음 봉이 변수에 저장한 값보다 크면 이 값을 변수에 다시 저장하고
이렇게 계속해서 값이 높아지면 변수에 현재값을 저장하구요...
현재값이 저장한 값보다 95%이하가 되면 청산하려 합니다.
부탁드립니다...
<답변>
안녕하세요? 예스스탁입니다...
문의하신 식을 작성하면 다음과 같습니다...
input : shortP(5), longP(20);
var : 단기이평(0), 장기이평(0);
단기이평 = ma(C, shortP);
장기이평 = ma(C, longP);
if crossup(단기이평, 장기이평) then
buy();
if crossdown(disparity(longP), 95) then
exitlong();
즐거운 하루 되세요...
<재질문>
제가 질문드린 것은 주가와 disparity(20)과의 이격도가 95보다 낮게(crossdown) 되었을 때가 아니라요...
정확한 질문은
disparity(20)의 값이 102 보다 클때
var1 = C;
를 하고
다음봉의 종가가
var1 보다 크면 var1에 다음 봉의 종가를 대입하고
작으면 var1값을 유지하고요
또 그다음봉도 마찬가지로 위에처럼 대입하고요...
그래서 청산조건은 C < var1*0.95 일때 청산하는 식입니다.
부탁드립니다.
2004-03-29
1266
글번호 2957
답변완료
이동평균 표기
ma(c[2],5)와 ma(c,5)[2]의 차이점은 무엇입니까?
예를들어서, 어떤 봉의 현재지점으로부터의 좌표IP_J2를 구하는 지표를 구하는데 있어,
해당봉은 (1) 왼쪽2개봉과 오른쪽2개봉의 고가 보다 더 높을 것 (2) 해당봉의 고가는 5이평선보다 높을 것 (3) (1),(2)에 해당하면서 가장 최근봉일 것 (4) 최소한 현재봉의 좌표보다는 3개봉이전일 것 등의 조건을 만족할려고 합니다. 아래와 같이 짜보았습니다.
============================================================
var J01(0), IP_J2(0);
J01=MRO(H[2]>= highest(H,5) and H[2]>MA(c[2],5) ,26,1);
IF 2+J01 > 3 then IP_J2=2+J01;else IP_J2=-1;
PLOT(IP_J2);
===========================================================
상기 (2)번의 조건을 만족하려면 위에 작성한 식 처럼
H[2]>MA(c[2],5)로 표기하여야 하나요? 아니면 H[2]>MA(c,5)[2]로 표기하여야 합니까?
===== 예스트레이더프로의 fan인 dawnj
2004-03-29
1348
글번호 2956
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2004-03-29
2
글번호 2955
답변완료
1402 재문의
1402 질문에서요...
외부에서 data의 변환을 필요로 하지 않는데요...
왜 외부변수로 선언해야 하는지 모르겠습니다.
도움말을 보면
외부변수는 외부에서 데이타의 변환을 해 줄수 있고 참조만 가능하다고 했는데요...
내부변수는 내부에서만 사용하고 할당이 가능하다고 했습니다.
내부에서 할당을 하진 않지만 외부에서 변환이 필요하지 않고
내부에서 참조만 할 경우 내부변수를 사용할 수 없는 건가요?
그리고
input : ma1(5), ma2(10), ma3(20), ma4(40), ma5(63), ma6(120), ma7(720);
으로 해도 결과가 다르게 나옵니다...
2004-03-29
1300
글번호 2954
답변완료
조건검색식 문의..
수고 많으십니다..다름이 아니라..
최근 2주간 일봉 움직임중에..
20일 이평선 움직임은 상향되고, 5일이평선 움직임은 수평을 긋는 종목에 대한
종목검색식을 알고 싶습니다..즉, 5일이평선과 20일이평선이 수렴하는 패턴에 대한
검색식이 궁금합니다.
그럼 부탁드릴께요..^^
2004-03-29
1371
글번호 2953
답변완료
수식문의
귀사의무궁한 발전을 기원합니다.
담당자의노고도 치하합니다
포지션시스템입니다.
금일청산신호가 나왔다면 재진입신호가 나오면 적어도 2개봉이후에 진입하고싶습니다.
수식부탁드립니다.
2004-03-29
1327
글번호 2952
답변완료
1391재문의
아래와 같이 시스템식을 정하였을 경우
변수 ma7은 정의만 하였지 사용하지는 않았는데요...
초기값 설정에 따라 결과값이 다르게 나옵니다.
예를 들면 ma7(720)과 ma7(200)을 설정하였을 경우 결과값이 다르게 나옵니다.
var : ma1(5), ma2(10), ma3(20), ma4(40), ma5(60), ma6(120), ma7(720);
var : maLine1(0), maLine2(0), maLine3(0), maLine4(0),
maLine5(0), maLine6(0), maLine7(0);
maLine1 = ma(C, ma1); // 5ma value
maLine2 = ma(C, ma2); // 10ma value
maLine3 = ma(C, ma3); // 20ma value
maLine4 = ma(C, ma4); // 40ma value
maLine5 = ma(C, ma5); // 60ma value
maLine6 = ma(C, ma6); // 120ma value
maLine7 = ma(C, ma7); // 200ma value
if crossup(C, maLine3) then
{
buy();
}
if crossdown(C, maLine3) then
{
sell();
}
2004-03-29
1253
글번호 2950