커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7879
글번호 230811
답변완료
질문드려요
저점을 인식해 매매하는 식을 만들고 싶습니다.
1.저점 변곡점을 연결했을 때 저점(파랑)과 저점(빨강)의 값을 비교해 저점(빨강)값이 높고
저점(빨강) 다음 봉(분홍)의 저가가 저점(빨강)보다 크면 매수함.
2.고점 변곡점을 연결했을 때 고점(파랑)과 고점(빨강)의 값을 비교해 고점(파랑)값이 낮으면 매도하고, 같을 땐 위1번 저점(파랑)과 저점(빨강)에서 저점(빨강)값이 저점(파랑)보다 낮아지면 매도하는 식.
3.1,2번식을 검색식과 시스템식으로 모두 부탁드리며
분봉과 일봉에서도 사용할 수 있게 부탁드립니다.
4.5이평선에도 그대로 적용할 수도 있게 부탁드립니다.
2004-06-04
1188
글번호 3929
답변완료
재질문드립니다.
먼저 답변에 감사드립니다.
저의 당초 의도와는 다르게 매매신호가 나와 다시 질문드립니다.
지난번 1815번 질문에 대한 재질문입니다.
질문이 너무 길어서 죄송합니다. 아래 당초 질문 내용과 답변은 담당자님의 편의를
위해 다시 기재합니다.
[당초 질문 내용 (1815번)]
<선물 분봉 차트에서 적용, 당일 청산>
I. 장초반(장시작시) 적용되는 매매조건
1) 장시작시 첫째 캔들이 20이평 상단에서 시작한 경우(종가기준)
a) 9:00~9:30 까지의 고점을 이후 캔들에서 종가로 상향돌파하면 --> 매수
b) 그러나, 9:00~9:30 까지의 고점을 이후 캔들에서 종가로 상향돌파 하지
못하고 있는 상태에서 stochastics K_D 데드 크로스 발생시 --> 매도
2) 장시작시 첫째 캔들이 20이평 하단에서 시작한 경우(종가기준)
a) 9:00~9:30 까지의 저점을 이후 캔들에서 종가로 하향돌파하면 --> 매도
b) 그러나, 9:00~9:30 까지의 저점을 이후 캔들에서 종가로 하향돌파 하지
못하고 있는 상태에서 stochastics K_D 골든 크로스 발생시 --> 매수
II. 장시작시, 장초반, 장중반 이후 구분없이 모두 적용되는 매매조건
1) 10이평과 20이평 정배열 상태인 경우
a) 캔들이 10이평을 상향돌파(G/C)(종가기준 돌파)하고
돌파시 고점을 이후 캔들에서 종가로 갱신(돌파) --> 매수
b) 10, 20 정배열이지만 캔들이 20이평을 하향돌파(D/C)(종가기준 돌파)하고
돌파시 저점을 이후 캔들에서 종가로 갱신(돌파) --> 매도
2) 10이평과 20이평 역배열 상태인 경우
a) 캔들이 10이평을 하향돌파(D/C)(종가기준 돌파)하고
돌파시 저점을 이후 캔들에서 종가로 갱신(돌파) --> 매도
b) 10, 20 역배열이지만 캔들이 20이평을 상향돌파(D/C)(종가기준 돌파)하고
돌파시 고점을 이후 캔들에서 종가로 갱신(돌파) --> 매수
* I과 II의 조건이 결합된 매매식입니다. 여기에 다음의 청산, 손절, 기타조건이
추가됩니다.
III. 청산 조건 (정배열, 역배열 구분없이 적용)
1) 봉의 시가와 종가가 10이평 하향돌파(시가 and 종가 기준 돌파)하고
완전돌파시의 저점을 이후 캔들의 종가로 갱신(돌파) --> 매수청산
2) 봉의 시가와 종가가 10이평 상향돌파(시가 and 종가 기준 돌파)하고
완전돌파시의 고점을 이후 캔들의 종가로 갱신(돌파) --> 매도청산
3) 최대이익 대비 이익감소(수익잠식)의 경우 --> 매수청산/매도청산
a) 1pt 이상 최대수익(종가기준)난 다음 최대수익에서
0.4pt 이익감소(수익잠식)시 (매수/매도 포지션 두가지 경우 모두 청산됨)
b) 1.5pt 이상 최대수익(종가기준)난 다음 최대수익에서
0.6pt 이익감소(수익잠식)시 (매수/매도 포지션 두가지 경우 모두 청산됨)
IV. 손절조건
- 매수/매도 포지션의 본전 기준 최대 0.8pt 손실 발생시 무조건 청산(손절)
V. 기타조건
- 14:40 이후에는 신규매매 제한(보유 포지션 청산만 가능)
- 14:45 까지 보유 포지션 있으면 14:45에 무조건 강제청산
- 하루매매 회수는 8회 이내(청산포함. 즉, 신규매매는 4회 이내) 제한
[1815번 질문에 대한 예스스탁 담당자님 답변]
문의하신 식은 다음과 같습니다...
var : bcnt(0), scnt(0), cnt(0);
if date != date[1] then {
bcnt = 0;
scnt = 0;
cnt = 0;
}
if crossup(c, ma(c, 10)) then
var1 = H;
if crossdown(c, ma(c, 10)) then
var2 = L;
if crossup(c, ma(c, 20)) then
var3 = H;
if crossdown(c, ma(c, 20)) then
var4 = L;
if dayindex() == 0 then
var5 = C;
### 강제청산/당일청산
setstoptrailing(0.4, 1, pointstop, 1);
setstoptrailing(0.6, 1.5, pointstop, 1);
setstoploss(0.8, pointstop);
setstopendofday(1445);
### 매수
if var5>ma(C, 20) and crossup(C, timehigh(090000,093000)) and stime<144000 and bcnt<1 then {
buy();
bcnt = bcnt + 1;
}
if var5 < ma(C, 20) and crossup(stochasticsK(12,5), stochasticsD(12,5,5)) and stime < 144000 and
C > timelow(090000,093000) and bcnt < 1 then {
buy();
bcnt = bcnt + 1;
}
if ma(c, 10) > ma(c, 20) and crossup(c, var1) and stime < 144000 and cnt < 3 then {
buy();
cnt = cnt + 1;
}
if ma(c, 10) < ma(c, 20) and crossup(c, var3) and stime < 144000 and cnt < 3 then {
buy();
cnt = cnt + 1;
}
### 매수청산
if o < ma(c, 10) and c < ma(c, 10) and crossdown(c, lowest(L[1], dayindex()+1)) then
exitlong();
### 매도
if var5 < ma(C, 20) and crossdown(C, timelow(090000,093000)) and stime < 144000 and scnt < 1 then {
sell();
scnt = scnt + 1;
}
if var5 > ma(C, 20) and crossdown(stochasticsK(12,5), stochasticsD(12,5,5)) and stime < 144000 and
C < timehigh(090000,093000) and scnt < 1 then {
sell();
scnt = scnt + 1;
}
if ma(c, 10) < ma(c, 20) and crossdown(c, var2) and stime < 144000 and cnt < 3 then {
sell();
cnt = cnt + 1;
}
if ma(c, 10) > ma(c, 20) and crossdown(c, var4) and stime < 144000 and cnt < 3 then {
sell();
cnt = cnt + 1;
}
### 매도청산
if o > ma(c, 10) and c > ma(c, 10) and crossup(c, highest(H[1], dayindex()+1)) then
exitshort();
감사합니다....
[재질문]
여기에서 재질문 드립니다.
재질문A.
위의 질문 조건 "II. 장시작시, 장초반, 장중반 이후 구분없이 모두 적용되는 매매
조건"에서 원래 의도는 (당일청산이므로) 1) a) b), 2) a) b) 모두 "당일에" 캔들이
이평선 상향 또는 하향돌파하고 돌파시 고점 또는 저점을 이후 캔들에서 갱신(돌파)시
매수 또는 매도하는 경우에 한하여 매매신호가 발생하는 것이었습니다.
그런데, 시스템을 시뮬레이션해 본 결과 "전일에" 이평선 돌파하고 그 때(전일)의
고점 또는 저점을 "당일"에 갱신(돌파)하는 경우에도 매매신호가 발생합니다.
상기 시스템식(당초 답변식)을 "전일에" 돌파된 것은 무시하고 "당일에" 캔들이
이평선을 상향 또는 하향 돌파하는 경우에만 매매신호가 발생하도록 하려면
어떻게 수정해야 하는 지 재질문드립니다.
(II.조건에서 뿐만 아니라 III. 청산조건에서도 당일에 이평선을 돌파하는 경우에만
청산신호 발생되록 함.)
재질문B.
당초 질문에서 IV.손절조건은 종가기준이 아니고 0.8pt 손실 발생하면 즉시
손절(청산) 신호가 발생하도록 하는 것이었는데 상기 시스템식에서는 종가기준으로
손절신호가 발생합니다.
상기 시스템식(당초 답변식)을 종가기준이 아니라 종가 까지 기다리지 않고
중간에라도 (봉완성 전 또는 종가 나오기 전) 0.8pt 이상 손실 나게되면
봉완성까지 기다리지 않고 바로 손절신호가 발생하도록 하려면 어떻게 수정해야
하는 지 재질문드립니다.
* 상기 시스템식이 재질문A와 재질문B 내용이 반영되어 수정되려면 어떻게
수정되어야 야하는지 부탁드립니다. (당초 식 처럼 I, II, III, IV, V의
조건이 합쳐지되, 재질문A와 재질문B 내용은 반영)
재질문C.
당초 질문 조건 I. 1) b)와 I. 2) b)에서 " 9:00~9:30 까지의 고점/저점을 이후
캔들에서 종가로 상향/하향 돌파 하지 못하고 있는 상태에서 stochastics K_D
데드/골든 크로스 발생시 " 의 원래 의도는 9:30 훨씬 이전이라도 I. 1) a) 또는
I. 2) a) 조건이 충족되기 전에 stochastics K_D 데드/골든 크로스가 발생하는 경우는
매매신호가 발생되도록 하는 의미하는 것이었습니다.
그리고, 시뮬레이션 해보면 당초 의도대로 9:30 이전 이라도 I. 1) b)와 I. 2) b)에
의한 stochastics K_D 데드/골든 크로스 조건이면 매매신호가 발생합니다.
그런데 의문이 가는 점이 있습니다.
I. 2) b)에 의한 매수의 경우를 예로 들어 당초 시스템 식을 보면
" if var5 < ma(C, 20) and crossup(stochasticsK(12,5), stochasticsD(12,5,5))
and stime < 144000 and
C > timelow(090000,093000) and bcnt < 1 then {
buy();
bcnt = bcnt + 1; } "에서
C > timelow(090000,093000)의 항목이 있다면 9:30까지의 저가를 확인해야 조건이
충족되는 것이므로 최소한 9:30 이후에 (9:30 지나서 캔들 하나가 완성된 이후)에
매매신호가 나와야 하는거 아닌가요?
당초 의도대로 9:30 훨씬 전이라도 조건 충족시 신호가 나와서 별 문제는 없습니다만
그래도 이상합니다.(다른 조건에 의한 신호를 제가 혼동하는 건가요? 아니면 9:30 이전
이라도 신호가 나오는 건가요?)
만일 당초식이 9:30 이후에 (9:30 지나서 캔들 하나가 완성된 이후) 매매신호가
나오는 것인데 제가 잘못 해석한 것이라면 9:30 이전이라도 I. 1) a) 또는 2) a) b)
조건이 충족되기 전에 I. 1) b)와 I. 2) b)에 의한 stochastics K_D 데드/골든
크로스 조건 충족되면 매매신호 나오도록 수정하여 주시고 당초 식이 9:30 이전이라도
신호나오는게 맞는거라면 그 이유가 궁금합니다.
이상입니다.
질문이 길어 다시 한번 죄송합니다.
항상 좋은 답변에 감사드립니다.
정말 많은 도움을 받고 있습니다.
2004-06-04
1585
글번호 3923
답변완료
macd가 상승중인지를 판단
macd가 상승중인지 판단해서 매수 매도 할수 있는 수식을 알고 싶습니다.
0선에 관계없이
2004-06-04
1303
글번호 3922
회원 님에 의해서 삭제되었습니다.
2004-06-03
39
글번호 3921
산아래 님에 의해서 삭제되었습니다.
2004-06-03
72
글번호 3920
답변완료
시스템수식 다시 부탁드립니다..
매수 : 20일선이 60일선을 상향돌파시 매수
매수청산 : 매수가 + 0.6 또는 매수가 - 0.4 도달시 청산
매도 : 20일선이 60일선을 하향돌파시 매도
매도청산 : 매도가 - 0.6 또는 매도가 + 0.4 도달시 청산
상기와 같은 질문에 답변과 같이 실행했더니 매도의 경우 목표가가 아님에도 바로 청산이 되고, 매수의 경우 목표가가 아님에도 20일선이 60일선을 하향돌파할 때 청산이 되는 등 중구난방의 결과를 얻었습니다...
(설명이 애매한데 밑에 있는 수식으로 직접 실행해보시기 바랍니다..)
제가 원하는 것은 매수던 매도던 한번 진입시 수익이나 손절목표가에 도달할 때까지 다른 신호는 뜨지 않는 것을 원합니다...
다시한번 수식 부탁드립니다..
2004-06-03
1342
글번호 3919
답변완료
실행에문제점
안녕하세요
예스스탁입니다.
Input : shortPeriod(5), longPeriod(20), shortP(5), longP(20);
Var : macdVal(0), 단기이평(0) , 중기이평(0);
macdVal = MACD(shortPeriod, longPeriod); //MACD지표
단기이평 = ma(c, shortP);
중기이평 = ma(c, longP);
if crossup(macdVal, 0) and crossup(단기이평, 중기이평) then
buy();
if crossdown(macdVal, 0) or crossdown(단기이평, 중기이평) then
exitlong();
if crossdown(macdVal, 0) and crossdown(단기이평, 중기이평) then
sell();
if crossup(macdVal, 0) or crossup(단기이평, 중기이평) then
exitshort();
(위에내용에서 )
if crossup(macdVal, 0) and crossup(단기이평, 중기이평) then
buy();
if crossdown(macdVal, 0) or crossdown(단기이평, 중기이평) then
exitlong();
한후 또다시 macd 또는이평선이 매수신호가 동시에 형성시신호가없습니다.
즉.if crossdown(macdVal, 0) or crossdown(단기이평, 중기이평) then
exitlong();
한후 어느한쪽이원상복구시 신호가날수없는지 궁금합니다.
감사합니다.
1840참조 바람니다.
2004-06-03
1519
글번호 3917
답변완료
청산식 알려주세요
안녕하세요.
초보가 되어 질문이 많네요.
주신 답변으로 도움을 많이 받고 있습니다.
답변에 미리 감사드립니다.
1. 진입봉의 저가를 하향돌파시 매수청산식
2. 진입봉의 전봉의 저가를 하향돌파시 매수청산식
3. 시스템설정에서 강제청산과 수식청산을 같이 이용하여 최고가격대비 2%하락시
조건만족시 즉시실행을 선택하였고, 수식에서 5 이평선을 하락돌파시 매수청산식을
사용 하였을때, 진입하자 말자 같은봉에서 최고가격대비 3%하락을 하였고
종가는 5 이평선아래에 형성되었는데,
수식에의한 청산식은 봉이 완성되고 나서 청산이 되는것이고,
강제청산은 조건만 맞으면 즉시 청산이 되는것으로 알고 있는데,
시험적용을 해보면 수식으로 작성한 청산식이 사용되는것으로
나옵니다.
차트에는 매수신호 화살표가 나온 다음봉에서 최고가 대비 큰폭으로 하락을
하였는데 강제청산이 이루어지지 않아서 이렇게 질문을 드립니다.
강제청산이 우선된다고 생각하는데 이부분에 대한 설명을 부탁드립니다.
4. 집입봉의 고가는 고가로 인식을 못하고 다음봉에서 인식을 하는지 알려주세요
2004-06-03
1358
글번호 3916
답변완료
시스템식이궁금합니다.
macd signal선이직전보다위에 있으면 매수
macd signal선이직전보다아래 있으면 매도
즉macd signal선의상하방향매매식을부닥합니다.
2004-06-03
1310
글번호 3911