커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7786
글번호 230811
답변완료
시스템식이 됬다 안됬다 하네요..
이게 어쩔땐 되고
어쩔땐 피라미딩 진입설정 바꿔주면 나오기도 하고
도대체 종 잡을수가 없는데요
대체 오류가 뭘까요....
삼성화재/대한통운으로 시험적용했었구요
기본 1분챠트에 참조챠트는 코스피종합지수 챠트 였습니다
input : P(60),startdate(20081218),pp(1037.60);
var : sum(0),mav(0),cnt(0),BuyP(0),count(0);
sum = 0;
for cnt = 0 to P-1{
sum = sum+dayclose(cnt);
}
mav = sum/P;
if sdate >= startdate and
dayindex() == 0 and
dayclose(1)*1.10 > dayopen() and dayopen() > dayclose(1)*0.90 and count < 1 Then{
buy("매수");
buyP = C;
count = 1;
}
if MarketPosition() == 1 and
C <= Buyp*0.94 Then{
buy("추가매수");
BuyP = C;
}
if MarketPosition() == 1 and
C >= mav*0.985 Then{
exitlong("청산");
count = 0;
}
if MarketPosition() == 1 and date == currentdate Then {
if data2(c) >= Pp and data2(stime) > 140000 Then
exitlong("코스피청산");
}
2008-12-18
923
글번호 18821
답변완료
수식작성 부탁드립니다.
엔빌로프의 상단선을 하향돌파하면 매도
하단선을 상향돌파하면 매수하는 식을 부탁드립니다.
2008-12-18
751
글번호 18820
답변완료
메일 확인 부탁드립니다.
16일날 메일로 질문드린 내용 확인좀 부탁드리겠습니다.
질문내용에 대한 답은 ejsung2000@naver.com 로 답메일 주시면 됩니다.
2008-12-18
624
글번호 18819
답변완료
macd(10, 20,7)과 macd(15, 30, 9)에서 청산 재진입식
안녕하세요, 수식문의드립니다.
1) macd(15, 30, 9) 의 시그날선을 crossup시 매수진입(2계약),
crossdown시 매도진입(2계약)
2) 매수 진입시 첫번째 1계약은 청산은 macd(10, 20, 7)의 최고점이
꺾인 다음봉에서 발생, 두번째 1계약은 macd(15, 30, 9)의 최고점이
꺾인 다음봉에서 발생
3) 매수계약이 두계약다 청산되었을경우 macd(15, 30, 9)가 감소하다가(음의 값으로 내려오지않고), 다시 상승하는경우 상승하는 첫번째 macd(15, 30, 9)에서 재진입.
매도의 경우에도 위와 반대의 경우에 진입, 청산합니다.
또한 매수 진입시 특정지표 A가 있다면, A가 양 일때만 매수 진입하고, 매도진입은
음일때만 진입하게 해주세요.
4) 3시 이후에는 모두 청산하고 새로운 진입이 발생하지 않게 해주시고요.
부탁드리겠습니다.
2008-12-18
860
글번호 18818
답변완료
렌코차트에 전환비율 적용수식 부탁드립니다
안녕하세요..관리자님
이제 갓 시스템을 알게된 초보입니다...많은 가르침을 받고져합니다.
기존의 렌코차트는 가격을 위주로 변동하는걸루 나와있는데 시간의 흐름에따라
주가는 달라지므로 전환비율로 바꾸는것이 나을까싶어 수식을 부탁드립니다.
1.
input:단위호가(5);
var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1);
array:고[10](0),저[10](0);
if index == 0 then {
벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수
고[0] = C;
저[0] = C;
}
if 방향 == 0 then {
if 저[0] - 벽돌크기 >= C then {
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
방향 = 하락;
}
else if 고[0] + 벽돌크기 <= C then {
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
방향 = 상승;
}
}
else if 방향 == 하락 then {
if 저[0] - 벽돌크기 >= C then
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
if 저[0] + 2*벽돌크기 <= C then {
for j = 8 downto 0 {
고[j+1] = 고[j];
}
방향 = 상승;
고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기;
}
}
else if 방향 == 상승 then {
if 고[0] + 벽돌크기 <= C then
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
if 고[0] - 2*벽돌크기 >= C then {
for j = 8 downto 0 {
저[j+1] = 저[j];
}
방향 = 하락;
저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기;
}
}
if 방향[1]==하락 and 방향==상승 then
plot1(저[0],"렌코차트",Blue);
if 방향[1]==상승 and 방향==하락 then
plot1(고[0],"렌코차트",RED);
2.
input:단위호가(5);
var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1);
array:고[10](0),저[10](0);
if index == 0 then {
벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수
고[0] = C;
저[0] = C;
}
if 방향 == 0 then {
if 저[0] - 벽돌크기 >= C then {
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
방향 = 하락;
}
else if 고[0] + 벽돌크기 <= C then {
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
방향 = 상승;
}
}
else if 방향 == 하락 then {
if 저[0] - 벽돌크기 >= C then
저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기;
if 저[0] + 2*벽돌크기 <= C then {
for j = 8 downto 0 {
고[j+1] = 고[j];
}
방향 = 상승;
고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기;
}
}
else if 방향 == 상승 then {
if 고[0] + 벽돌크기 <= C then
고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기;
if 고[0] - 2*벽돌크기 >= C then {
for j = 8 downto 0 {
저[j+1] = 저[j];
}
방향 = 하락;
저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기;
}
}
if 방향[1]==하락 and 방향==상승 then Buy("상승전환");
if 방향[1]==상승 and 방향==하락 then Sell("하락전환");
2008-12-18
885
글번호 18817
답변완료
Signal Line의 변화값 수식 적용건.
시스템 매매에 관심이 많습니다.
다름이 아니고, 예를 들면 MACD 등에 Signal 및 MACD 의 곡선의 기울기값을 적용하고
싶습니다.
만약 Signal Line 의 상승반전 기울기를 적용하는 수식이 있는지 궁금합니다.
찾아 보니 없는것 같아서 입니다.
2008-12-17
704
글번호 18816
답변완료
보조지표참조시
5분봉에서 보조지표로 일봉을 참조로 하고 있는데..
예를 들어 5분봉기준 10:00에 Data2(C)를 호출하면 이것이 어제의 일봉 종가 인가요..
아님.. 10시 기준의 일봉 현재가가 되는 건가요?
답변 부탁드립니다.
2008-12-17
751
글번호 18815
답변완료
수식문의 드립니다.
5,20이평 골든크로스에 매수 집입을 하되,
전제조건으로 5,20이평 골든크로스가 나기 4개 봉이전부터 골든크로스가 나는
시점까지 macd가 골든크로스 되었을 경우 진입신호가 나오는 식을 알고 싶습니다.
그러니까 macd가 먼저 골든크로스가 나고 그이후 4개봉안에 5,20이평 골든크로스가 날
경우 매수 진입을 하는 것입니다.
2008-12-17
764
글번호 18812
답변완료
특정값의 index
수고하십니다.
혼자 힘으로는 해결이 어려워 도움을 구합니다.
가령 챠트에서 5000까지 설정 후
Value1=Highest(H,5000);
if h==Value1 Then
Value5 = Index;
Else
Value5 = 0;
plot1(Value5);
목적은 특정값을 가지는 것의 그 때 index를 구하는 것입니다.
가령, 5000봉에서 최고가가 값을 가지는 봉의 index입니다.
h[x]식으로 x변수를 for문으로 돌려 확인하는 것은 무식(?!)한 방법같구요.
index함수로 어렵다면 특정값을 만족하는 봉의 위치를 알 수 있는 다른 함수가 있을까요?
* 참고로 위 식에서 5000나 4999대신 500정도 주면 plot가 됩니다만, 4000정도 주면 분봉에서는 나오나 일봉에서는 plot이 안되는 이상한 현상이 나타납니다.
부탁드립니다.
2008-12-17
709
글번호 18810