커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7838
글번호 230811
답변완료
지표식 하나 문의 드립니다
엘더레이 만든 사람이 만든 hpi지표식 좀 부탁드립니다.
HPI = {[(mt-my)*0.5*v]*[2*i/g]}
mt = 오늘봉의 평균가(오늘봉의 고가 + 저가)/2
my = 전일봉의 평균가(전일봉의 고가 + 저가)/2
v = 오늘거래량
i = 오늘의 미결제약정 - 어제의 미결제약정
g = 오늘의 미결제약정과 어제의 미결제약중 작은 쪽
갓 배우기 시작한 초보라 어렵네요. 꾸뻑....
2006-03-06
1143
글번호 9549
답변완료
수식 문의
정배열시 일정봉(10)지날때까지 일정금액(0.5)이 상승하면 매수
역배열시 일정봉 지날때까지 일정금액이 하락하면 매도
기본적으로 위의 식인데 식의 어디가 잘못된 건지 알수가 없네요
-매수만 적용할때와 매수매도식을 동시에 적용할때 결과가 다르게 나옵니다
부탁드립니다
감사합니다
input: p1(0.5);//매수상승폭
input: p2(10);//매수 봉의 갯수
input: p3(5);
input: p4(20);
input: p5(60);
input: p6(0.5);//매도 하락폭
input: p7(10);//매도 봉의 갯수
var : value(0),idx(0),Cval(0), idx2(0), cval2(0);
if ma(c,p3) > ma(c,p4) and ma(c,p4) > ma(c,p5) then
value = 1;
else
value = 0;
if value == 1 and value[1] != 1 then{
idx = index();
cval = C;
}
if index() == idx+p2 and C > Cval+p1 then
buy();
if crossdown(c,ma(c,p4)) then
exitlong();
if ma(c,p3) < ma(c,p4) and ma(c,p4) < ma(c,p5) then
value = 3;
else
value = 0;
if value == 3 and value[1] != 3 then{
idx2 = index();
cval2 = C;
}
if index() == idx2+p7 and C < Cval2-p6 then
sell();
if crossup(c,ma(c,p4)) then
exitshort();
2006-03-06
1162
글번호 9546
답변완료
수식질문
당일 9시에서 9시 15분 사이에서 2분봉 또는 3분봉 이용
당일시가+0.3 보다 크면 매도
청산은 체결가에서 0.4 이익 또는 0.2 손절
당일시가-0.3 보다 작으면 매수
청산은 체결가에서 0.4 이익 또는 0.2 손절
위 청산조건 불만족시 종가 청산
2006-03-06
1263
글번호 9545
답변완료
질문합니다.
항상 좋은 시스템 만들어 주시느라고 고생하시는 여러분께 감사드립니다,
질문은 3가지 입니다.
매수혹은 매도를 한 이후에 특정 지표값을 기억햇다가 청산할때 사용하고 싶습니다.
만일 가능하다면 예제를 들어 설명해주세요. 그리고 불가능하다면 어떤 방법이 대체방법으로 좋을지 알려주세요.
2번째 질문은 제가 매매를 2시55분(동시호가들어가기 10분전)부터 하고 싶습니다. 하지만 만기일에는 어떻게 해야 하는지와 장마감 동시호가에 매매하려면 어떻게 하는지 알려주세요.
3번째 질문은 매수청산한후 곧 바로 동일한 신호에서 매도할수 있도록 하는 식은 어떻게 하면 되나요?
2006-03-07
1064
글번호 9544
답변완료
질문입니다
수고많으십니다
전일 오후2시30분의 MACD 와 금일 오전9시30분 의 MACD 를 표현하는수식을 부탁합니다
항상고맙슴니다
2006-03-06
919
글번호 9543
디자인 님에 의해서 삭제되었습니다.
2006-03-06
24
글번호 9539
답변완료
진입조건에 따른 청산
진입조건에 따른 청산에 대해 문의드립니다.
수식이 아래와 같을때 매수에 대한 청산(0)은 나오는데 매도에 대한 청산(0)이 안나옵니다.뭐가 잘못됐는지요?
var : Cond1(0), Cond2(0), Cond3(0), Cond4(0), Cond5(0), Cond6(0),
Cond11(0), Cond22(0), Cond33(0), Cond44(0), Cond55(0), Cond66(0),
buyCond(0), sellCond(0);
Cond1 = crossup(C, dayopen(0)+0.3); //매수조건1
Cond2 = crossup(C, dayopen(0)+0.6); //매수조건2
Cond3 = crossup(C, dayopen(0)+0.9); //매수조건3
Cond4 = crossdown(C, dayopen(0)-0.3); //매수청산조건1
Cond5 = crossdown(C, dayopen(0)+0.3); //매수청산조건2
Cond6 = crossdown(C, dayopen(0)+0.6); //매수청산조건3
Cond11 = crossdown(C, dayopen(0)-0.3); //매도조건1
Cond22 = crossdown(C, dayopen(0)-0.6); //매도조건2
Cond33 = crossdown(C, dayopen(0)-0.9); //매수조건3
Cond44 = crossup(C, dayopen(0)+0.3); //매도청산조건1
Cond55 = crossup(C, dayopen(0)-0.3); //매도청산조건2
Cond66 = crossup(C, dayopen(0)-0.6); //매도청산조건3
if date != date[1] then
buyCond = 0;
//매수식
if MarketPosition() != 1 then Begin
if Cond1 then {
buy("1");
buyCond = 1;
}
else if Cond2 then {
buy("2");
buyCond = 2;
}
else if Cond3 then {
buy("3");
buyCond = 3;
}
End;
//매수청산식
if marketposition() == 1 then Begin
if buyCond == 1 and Cond4 then
exitlong("4");
End;
if marketposition() == 1 then Begin
if buyCond == 2 and Cond5 then
exitlong("5");
End;
if marketposition() == 1 then Begin
if buyCond == 3 and Cond6 then
exitlong("6");
End;
//매도식
if date != date[1] then
sellCond = 0;
if MarketPosition() != -1 then Begin
if Cond01 then {
sell("11");
sellCond = 11;
}
else if Cond02 then {
sell("22");
sellCond = 22;
}
else if Cond03 then {
sell("33");
sellCond = 33;
}
End;
//매도청산식
if marketposition() == -1 then Begin
if sellCond == 11 and Cond44 then
exitshort("44");
End;
if marketposition() == -1 then Begin
if sellCond == 22 and Cond55 then
exitshort("55");
End;
if marketposition() == -1 then Begin
if sellCond == 33 and Cond66 then
exitshort("66");
End;
2006-03-06
1287
글번호 9536
답변완료
분할 청산
매번 부탁만 드리네요.
3.0 버전에서 분할 매수, 분할 매도는 되는데
분할 청산은 안되네요.
sell(["name"],[type],[price],[contracts])
처럼
Exitlong(["name"],[type],[price]) 에서 계약수를 집어 넣어서
Exitlong(["name"],[type],[price],[contracts]) 형태로 구현되었으면 좋겠습니다.
많은 방법을 해보았지만 분할 청산만 할 수 있는 방법은 없네요.
분할 청산에 대해서 Q&A를 보니까 예전(2005.04.01)에 누군가 했던 질문이네요.
다른 방법이 있으면 알려주시고, 없다면 추후 업그레이드 할때 이 부분도 반영해 주시면 감사하겠습니다.
2006-03-06
1333
글번호 9532
답변완료
함수 기능설명 부탁드립니다.
시스템식 예제를 보면
buy()와 exitshort(), sell()과 exitlong()이 쌍으로된 것들이 많습니다.
buy()와 sell()의 경우 반대포지션이 있을 경우 청산하고 매수 또는 매도 진입을
한다고 설명되어 있는데, 그렇다면 함께 사용된 exitshort()와 exitlong()은
아무 의미가 없게되는 것 아닌가요?
그리고, 옵션거래일 경우에는 sell(), exitshort() 함수는 쓰일이 없는게 맞는 거죠?
아직 많이 몰라서 기초적인 질문드립니다.
좋은 아침.
2006-03-06
1434
글번호 9529