커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6194
글번호 230811
답변완료
결과가 나왔다 안나왔다 합니다.
------------------------------------------------------------------------------------
//엔벨 돌파
Input : iPeriod(50), Period1(60), D1(5);
Condition2 = CountIF(CrossUp(H, EnvelopeUp(Period1, D1)) == True, iPeriod) >= 1;
if Condition2 == True Then
Find(1);
-----------------------------------------------------------------------------------
//볼벤이 엔벨 데드 크로스
Input : iPeriod(100), Period1(20), D1(1.5), Period2(60), D2(5);
value1 = BollBandUp(Period1,D1);
value2 = EnvelopeUp(Period2,D2);
Condition1 = CrossDown(value1,value2);
Condition2 = CountIF(Condition1 == True, iPeriod) >= 1;
if Condition2 == True Then
Find(1);
----------------------------------------------------------------------
안녕하세요.
##문제점1
위의 //엔벨 돌파 식을 일봉으로 실행하면 결과가 나옵니다.
하지만 iPeriod를 20으로 변경하면 결과가 나오지 않습니다.
20일 안에 엔벨 돌파한 경우가 있는데 말이죠.
15분봉에서는 iPeriod를 500으로 해도 1000으로 해도 나오지 않습니다.
##문제점2
//볼벤이 엔벨 데드 크로스 식도 되지 않네요.
볼벤이 볼벤을 데드난 경우는 검색이 잘 됩니다.
근데 엔벨만 사용하면 결과가 나왔다 안나왔다 합니다.
이 또한 일봉은 기간에 따라 되는 경우가 있고 안되는 경우가 있고 분봉에서 또한 그렇습니다.
COUNTIF 의 문제인지 엔벨의 문제인지 궁금합니다.
몇주 별짓을 다해보다 문의 드립니다.
2017-11-13
172
글번호 114124
답변완료
시스템 수식 여쭤봅니다.
안녕하세요?
개별 종목으로 매매 할꺼구요.
종가 매수 그 다음날 매도 식을 만들고 싶습니다.
조건은
1봉전 대비 거래량 10%~40% 이고
오늘 일봉의 저가 고가 변동폭이 10% 미만 이고
금일 현재가가 1봉전 종가를 넘지 않았고
금일 저가가 1봉전 (시가+종가)/2 이하로 내려가지 않았을때
종가로 매수 ( 종가매수가 어렵다면 15시19분쯤 매수;;)
매도는 +4% 이상이면 물량의 60%
+10% 나머지 전량매도
+4% 이상갔다가 다시 +1%로 떨어지면 전량 매도
손절은 1봉전(매수한날) 저가 이탈시 전량매도 입니다.
종목을 매수하고 물량이 있을때는 조건에 충족해도
중복 매수가 안됬으면 합니다.
감사합니다.
2017-11-13
173
글번호 114123
답변완료
문의드립니다.
1. 아래의 식에서 가장큰 가격대만 표현하고싶습니다.
#==========================================#
Input:기간(20),
구간개수(10); //최대 20
Var:최대(0),최소(0),j(0),행번호(0),총거래량(0),가격대거래량(0),
시작번호(0),끝번호(0);
Array:가격대[21](0),거래량[21](0),비율[21](0),Text[21](0),TL[21](0);
#----------------------------------------------------------------------------------#
# 가격대를 배열변수에 세팅한다.
#----------------------------------------------------------------------------------#
최대 = Highest(H,기간-1);
최소 = Lowest(L,기간-1);
Value1 = (최대-최소)/구간개수;#Round((최대-최소)/구간개수,0);
가격대[0] = 최대;
For 행번호 = 0 To 구간개수-1 {
가격대[행번호+1] = 가격대[행번호] - Value1;
거래량[행번호] = 0;
비율[행번호] = 0;
}
총거래량 = 0;
For j = 0 To 기간-2 {
총거래량 = 총거래량 + V[j];
#----------------------------------------------------------------------------------#
# 거래량을 걸쳐있는 가격대에 분배
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
if 가격대[행번호] >= H[j] and 가격대[행번호+1] < H[j] then 시작번호 = 행번호;
if 가격대[행번호] >= L[j] and 가격대[행번호+1] < L[j] then 끝번호 = 행번호;
}
가격대거래량 = V[j]/(끝번호-시작번호+1);
for 행번호 = 시작번호 To 끝번호 {
거래량[행번호] = 거래량[행번호] + 가격대거래량;
}
}
#----------------------------------------------------------------------------------#
# 비율 계산
#----------------------------------------------------------------------------------#
for 행번호 = 0 To 구간개수-1 {
비율[행번호] = 거래량[행번호] * 100 / 총거래량;
}
#----------------------------------------------------------------------------------#
# 지표출력
#----------------------------------------------------------------------------------#
for j = 0 to 구간개수-1 {
TL_Delete(TL[j]);
TL[j] = TL_New(Date[기간-2],sTime[기간-2],가격대[j],Date[0],sTime[0],가격대[j]);
Text_Delete(Text[j]);
Text[j] = Text_New(date[0], stime[0], (가격대[j]+가격대[j+1])/2,""+NumToStr(거래량[j],0)+" ("+NumToStr(비율[j],2)+"%)("+NumToStr(가격대[j+1],2)+" ~ "+NumToStr(가격대[j],2)+")");
Text_SetColor(text[j], WHITE);
Text_SetStyle(Text[j],0, 2);
}
j = 구간개수;
TL_Delete(TL[j]);
TL[j] = TL_New(Date[기간-2],sTime[기간-2],가격대[j],Date[0],sTime[0],가격대[j]);
2017-11-13
186
글번호 114122
theogo66 님에 의해서 삭제되었습니다.
2017-11-13
0
글번호 114119
답변완료
청산식이 작동됐다 안돼서...
<상황>
-주식현물,15분봉으로 자동매매를 하고 있음.
-질문코자 하는 청산식은 피봇2차저항에 도달하면 매수분을 청산코자 하는데,
11/10일(금)은 시스템이 작동되어서 청산 됐고, 11/13일(월)은 청산이 안됨.
-포지션 상황은 11/10일(금) 종가에 매수신호가 들어와서 시스템하나는 자동매수가 됐고,
다른 시스템하나는 주문오류가 돼서 11/13(월) 아침 시가로 매수하여 차트신호를 맞춰놓음.
(관련 차트는 첨부와 같습니다.)
-시스템식의 관련항목은 아래와 같음.
=아래=
Variables: ~~~~
Pivot(0),R1(0),R2(0),S1(0),S2(0);
~~~~
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
if marketposition > 0 and CrossUp(C,R2) Then
ExitLong ("피봇ex",AtStop,R2);
/////////////////////
<질문>
-11/13일(월) 종가가 피봇2차저항선을 넘었는데, 청산이 안되는 요인이 무엇인지 검토및
식이 잘못되었다면 어떻게 수정해야 하는지 알려주시면 감사하겠습니다.
수고하세요.~~~
2017-11-13
191
글번호 114118
답변완료
시스템식 부탁드립니다.
안녕하세요.~~
항상 도움 주셔서 감사합니다.
아래의 경우에 포지션 진입하는 시스템식 부탁드립니다.
매수 진입 :
1. 장기이평(예:90일 이평)이 5회 이상 상승하고 현재봉의 장기이평 값과
5봉 이전의 장기이평 값의 차이가 10포인트(틱) 이상
2. 단기이평(예:15일 이평)이 5회 이상 상승하고 현재봉의 단기이평 값과
5봉 이전의 단기이평 값의 차이가 15포인트(틱) 이상
3. 단기이평 값이 장기이평 값 보다 크고
4. 단기이평값과 장기이평 값의 차이가 5회(5봉) 이상 계속적으로 커질것
5. 현재가가 단기이평보다 5회 이상 큰 상태가 지속된 상태이면 매수 진입
매도 진입 :
1. 장기이평(예:90일 이평)이 5회 이상 하락하고 현재봉의 장기이평 값과
5봉 이전의 장기이평 값의 차이가 10포인트(틱) 이상
2. 단기이평(예:15일 이평)이 5회 이상 하락하고 현재봉의 단기이평 값과
5봉 이전의 단기이평 값의 차이가 15포인트(틱) 이상
3. 단기이평 값이 장기이평 값 보다 작고
4. 단기이평값과 장기이평 값의 차이가 5회(5봉) 이상 계속적으로 커질것
5. 현재가가 단기이평보다 5회 이상 작은 상태가 지속된 상태이면 매도 진입
매수청산 :
1. 주가가 단기이평 아래에서 3봉이상 지속될 경우 매수 청산
매도청산 :
1. 주가가 단기이평 위에서 3봉이상 지속될 경우 매도 청산
시스템식 부탁드립니다.
2017-11-13
196
글번호 114117
답변완료
시스템식 하나 여쭤봅니다...
매수금액 설정 ex(1000만원)
저는 일반 주식종목으로 매매할려구 합니다.
매매가 일어날 기본 조건
일봉기준으로
2봉전 종가에서 1봉전 고가까지 상승률 30%~40%이고
현재가가 20일선 위에 있을때만 매수 가능
거래량 3봉중 지금 현재 최저 일때만 매수 작동
시스템은 15분봉 차트에서 적용하려고 합니다.
일봉 1봉전 고가 기준 현재가가 -20%~-30% 구간안에 있는 동안에
15분봉차트에서 RSI지표가 30에서 31로 과매도를 탈출한 순간
현재가 +1호가 매수
매수후 7% 상승시 전체물량의 70% 시장가 매도
매수후 10% 상승시 남은 물량중 50% 시장가 매도
매수후 15% 상승시 전부 시장가 매도
매수후 -3% 하락시 전체물량의 50% 매도(손절)
매수후 -5% 하락시 남은물량 전부 매도(손절)
당일 매수는 1회만 가능
매수후 종목 잔고가 있으면 추가매수 불가능하게 하고 싶습니다.
그러니깐 오늘 매수된 종목이 내일로 넘어가서 혹시라도 다시 -20%에 도달해도 추가 매수가 안되고
그냥 조건에 맞게 매도만 가능하게 하고 싶습니다.
감사합니다.
잘부탁드립니다.
2017-11-13
170
글번호 114115
부자청년28 님에 의해서 삭제되었습니다.
2017-11-13
1
글번호 114113
답변완료
수식 문의 드립니다.
안녕하세요
혹시 예트 화면에 특정 조건이 발생했을때...
"$" 문자가 발생하도록 하였습니다.
혹시 "$" 문자가 화면상에 출력되면
그 다음 호가에 매수나 매도 진입을 할 수 있도록 수식을 만들 수 있을까요?
2017-11-13
165
글번호 114112