커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7835
글번호 230811
답변완료
수식 문의드립니다.
데이트레이딩 시스템으로서
시가에서 최근 'n일간 장중고저차'의 평균의 x% 를 상향돌파시 매수, 하향돌파시 매도
손절과 청산은 ATR STOP을 적용합니다.
장중 매수,매도는 각각 1회만 허용합니다.
2006-05-30
1327
글번호 10125
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2006-05-30
4
글번호 10124
답변완료
수식 잘 못 된 부분 지적 부탁드립니다.
다음 조건의 종목을 검색하고자 합니다.
검색 키 누르자 마자 종목이 없다고 나오는군요.
수식 검토 부탁드립니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. 과거 검색 기간(m일, input) 중 n일(input) 최저 거래량(Vmin) 시점을 찾는다.
1-1. NthLowestBar(1, Vmax, m일)
2. Vmin 시점과 과거 검색 기간 중 n일 최고 거래량(Vmax) 시점이 아래 그림을 만족하는 시점을 찾는다.
|--------------||------------------|-----------------------|
검색시작점 Vmax Vmin 현재
3. Vmax는 Vmin의 두 배 이상 거래량
1-1. Vmax > Vmin * 200%(input)
4. NthHighestBar(1, Vmax, m일) 이 n1일(input) 이상인 종목을 찾는다.
4-1. NthHighestBar(1, Vmax, m일) > n1
5. 최근 n일 거래 이평과 과거 최고 거래 이평 비교
5-1 ma(V,n) > Vmax*70%(input)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Input : n1(120), n2(5), n3(20), n4(0), p1(200), p2(70) ;
Var : Vmax(0), Vmin(0), Vnew(0), Vmaxday(0), Vminday(0) ;
var: con1(0), con2(0), con3(0), con4(0), search(0) ;
Vmin= NthLowest(1, ma(V,n2), n1) ;
Vminday= NthLowestBar(1, ma(V,n2), n1) ;
Vmax= NthHighest(1, ma(V,n2), n1)[Vminday] ;
Vmaxday= NthHighestBar(1, ma(V,n2), n1)[Vminday] ;
Vnew= ma(V,n1)[n4] ;
# 최고거래량은 최저 거래량의 P1% 이상 이다.
con1= Vmax > Vmin*p1*0.01 ;
# 최근 거래량 회복
con2= Vnew > Vmax*p2*0.01 ;
# 최고거래량과 지금까지의 시점
con3= Vmaxday > n3 ;
# 검색
search = con1 && con2 && con2 ;
If search Then
var1= Vmax/Vnew*100 ;
Else
var1=0 ;
Find(var1) ;
2006-05-29
1155
글번호 10123
답변완료
식
[시스템 내용]
1. 최초매수 - 20이평-60이평 데드크로스 발생시 최초매수
추가매수 - 직전 거래가 진입거래일 경우 진입가격에서 5% 하락시마다 추가 매수
직전 거래가 청산거래일 경우 직전 청산가격에서 20% 하락하면 매수
매수청산 - 직전 거래가 진입거래일 경우 직전 진입가격에서 20% 이상 상승하면 매수청산
직전 거래가 청산거래일 경우 직전 청산가격에서 5% 상승시마다 추가로 매수청산
2. 피라미딩 설정 - 모든 진입신호 허용
3. 진입회수 20
[시스템식]
input : 기준수량(10); //분할매매 기준수량
input : 반전매수폭(20), 반전매도폭(20); //포지션반전폭
input : 매수폭(5); //직전매수가보다 n%하락시 매수
input : 매도폭(5); //직전매수가보다 n%상승시 매도
input : 거래개시일(20010101); //(20010101);
var : 첫거래(1);
var : 직전매수가(0), 직전매도가(0);
var : N_직전매수가(0), N_직전매도가(0);
var : dbg_flag(0), chk_price(0);
직전매수가 = N_직전매수가;
직전매도가 = N_직전매도가;
if 거래개시일 < sdate then { ###############################
if 첫거래 then {
if CrossDown(ma(C,20), ma(C,60)) then {
buy("최초", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
첫거래 = 0;
}
}
else if CurrentEntries() <= 20 then {
if 직전매수가 == 0 then {
// 직전 매도거래 일 경우, 매수반전가격 이하로 하락할 경우
chk_price = 직전매도가*(1-반전매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수1", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매도가*(1-반전매수폭/100);
N_직전매도가 = 0;
}
}
else {
chk_price = 직전매수가*(1-매수폭/100);
if c < chk_price and c[1] >= chk_price then {
buy("매수2", OnClose, DEF, 기준수량);
N_직전매수가 = C; //직전매수가*(1-매수폭/100);
N_직전매도가 = 0;
}
}
}
// 청산처리 ....................................................................
if MarketPosition() == 1 then {
if 직전매도가 == 0 then {
// 직전 매수거래 일 경우, 매도반전가격 이상으로 상승할 경우
chk_price = 직전매수가*(1+반전매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산1", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매수가*(1+반전매도폭/100);
N_직전매수가 = 0;
}
}
else {
chk_price = 직전매도가*(1+매도폭/100);
if c > chk_price and c[1] <= chk_price then {
exitlong("청산2", OnClose, DEF, "", 기준수량, 1);
N_직전매도가 = C; //직전매도가*(1+매도폭/100);
N_직전매수가 = 0;
}
}
}
} ###############################
if marketposition(0) == 0 and 첫거래 == 0 and CrossDown(ma(C,20), ma(C,60)) then {
buy("최초2", OnClose, DEF, 기준수량);
N_직전매수가 = C;//최초거래가;
N_직전매도가 = 0;
}
위의식을적용하여매수,매수청산, 매도,매도청산식 모두 알려주세요
2006-05-29
1841
글번호 10122
답변완료
검색 결과값 문의 드립니다.
거래량, 거래대금 등 검색시
숫자가 클 경우 백만 등 단위로 나왔는데요
이제는 모든 숫자가 나오네요
확인 부탁드립니다.
2006-05-29
978
글번호 10121
답변완료
재문의드립니다
안녕하세요 답변에 감사드립니다
아래수식을 시뮬레이션해보니
3봉연속상승시뿐 아니라 4봉상승에서도 신호가 발생합니다
이익실현후에도 신호발생하는 문제도 있네요...
가능하다면 obv가 한봉하락한후 연속3봉상승시에 한번만 신호발생할수 있는
수식을 부탁하겠습니다
감사합니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식문의드립니다
> 안녕하세요
예스스탁입니다.
문의하신 식은 다음과 같습니다.
var1 = OBV();
if accumn(iff(var1>var1[1],1,0),3) == 3 then
buy();
if accumn(iff(var1<var1[1],1,0),3) == 3 then
sell();
즐거운 하루되세요
> 산7779 님이 쓴 글입니다.
> 제목 : 수식문의드립니다
> 매수 obv가3봉연속상승시
매도 obv가3봉연속하락시
미리 감사드립니다...
2006-05-29
909
글번호 10119
답변완료
MACD 검색식 좀 부탁드립니다...망치하고역망치형일봉검색
1.MACD 빨간선이 0 이상 100 이하를 검색하고싶습니다.
2.MACD 와 MACD Singnal 거의 붙어있는경우
3 망치형과 일봉검색(양봉)
4.역망치형 일봉검색(양봉)
4.가지를 검색하고 싶은데요...수고하세요.
2006-05-29
1125
글번호 10114
답변완료
지표문의(급함!!)
1. 지표가운데 지표를 띄웠을 때 N/A라는표시가 있는 지표들이 많은데,
이 지표는 사용될 수 없다는 뜻인가요?
N/A가 없는 지표는 모두 수식으로 사용할 수 있나요?
2. 지표가운데 예를들어 TFS(MBO)라는 지표가 있는데, 이 지표가 상승하면 매수하고
하락하면 매도하라는 수식좀 부탁드립니다. 그리고, TFS가 10일 평균선위에 있
으면 매수하고, 아래에 있으면 매도하라는 수식도 함께 부탁드립니다.
3. Fibonacci Retrace라는 지표가 있는데, 이 지표를 사용해보고 싶습니다. 가능한지
요? 가능하다면 이 지표상 X Average가 L Retrace를 상향돌파하면 매수하고
H Retrace를 하향돌파하면 매도하는 수식도 함께 부탁드립니다.
2006-05-29
1064
글번호 10113
답변완료
수식문의드립니다
매수 obv가3봉연속상승시
매도 obv가3봉연속하락시
미리 감사드립니다...
2006-05-29
883
글번호 10108