커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5306
글번호 230811
답변완료
문의드립니다.
특정 선물지수에 수평선을 긋습니다.
(특정 선물지수는 변수 처리해서 자유롭게 입력 할 수 있게 해주세요)
5이평이 그 수평선을 하향 돌파 했다가 다시 상향 돌파 하면 매수
5이평이 그 수평선을 상향 돌파 했다가 다시 하향 돌파 하면 매도
감사합니다
2019-06-18
293
글번호 129543
답변완료
부탁합니다
브이아이 라인을
캔들지표에 자동으로 10% 20% 를표기할수있는지요
식좀부탁합니다
2019-06-18
271
글번호 129538
답변완료
타 분봉 지표식 참조
일전에 타 분봉의 ADX지표를 구현하기 힘드시다고 하셨는데,
즉 15분봉으로 매매하면서 90분봉의 ADX지표를 수식에 넣으려고하는 것은 힘들다고
하셨느데, 그러면 챠트에서 보조챠트를 밑에 띄울수가 있던데,
이렇게 보조챠트를 밑에 띄우면 15분봉 시스템식에서 90분봉의 ADX지표를 수식에 넣을 수는
없는지 확인 부탁드립니다. 가능하다면
보조챠트에 있는 ADX지표식을 부탁드립니다
2019-06-18
311
글번호 129530
답변완료
수식 문의드립니다.
안녕하세요?
궁금한 수식이 있어 문의드립니다.
1. 해외선물 1분 차트에서 직전 주봉의 피봇값을 계산하여 선으로 표시하는 수식을 부탁드립니다.
2. 해외선물 1분 차트에서 1시간, 4시간봉의 고가, 저가 값(현재 화면상의 캔들수 참조)을 불러와서 선으로 표시하는 수식을 부탁드립니다.
즐거운 하루 되시기 바랄께요.
감사합니다.
2019-06-18
276
글번호 129529
답변완료
지표문의
1.차트표시 종류에보면
candlevolume차트 라구 있던데
지표로 좀 만들수 없나요
유사해두 됩니다
2.그럼 수고하세요
2019-06-18
286
글번호 129523
답변완료
문의드립니다
안녕하세요, 항상 감사드립니다.
1
식 문의드린부분에서 적용이 안되는 부분 문의드리고자합니다.
아래식에서 지정일, 지정일시 잡는부분에 오류가있는지 잘되지않아
아래와 같이 지정할수있게 부탁드립니다.
저점
일자 20190601 시분 090500 (5분봉상 1번째 봉의 저점)
고점
일자 20190602 시분 091000 (5분봉상 2번째 봉의 고점)
이후 지정한 고점을 넘어서는 고점 발생시 아래와 같이 갱신
(완성봉 종가가 아닌 고점입니다)
수정부탁드립니다.
2.추가 문의드립니다.
위와 동일하게 조정대 비율이 적용되고
고점을 만든뒤 5%하락한 지점의 가격에 다은뒤
재차 고점을 돌파할때 진입
고점을 만든뒤 10하락한 지점에 가격이 다으면 진입하지않음
(ex 고점1000원 -> 하락5% 950원에 닫고->1005원 진입,
하락10% 900원에 닫고 1005원이 될시 진입하지 않음)
100개
진입한뒤 5%상승 전량청산
진입한뒤 6%하락 전량손절
감사합니다!
------------------------------------------------------------------------------
안녕하세요
예스스탁입니다.
피라미딩은 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : ndate(20190601),ntime1(90000),ntime2(100000);
input : 진입비율1(65.2),수량1(100),청산비율1(40.0);
input : 진입비율2(70.0),수량2(50),청산비율2(45.0);
input : 진입비율3(80.0),수량3(30),청산비율3(60.0);
input : 손절비율(90);
var : HH(0),LL(0),Tcond(false);
#지정일 지정일시1
if sdate == ndate Then
{
if (sdate != sdate[1] and stime >= ntime1) or
(sdate == sdate[1] and stime >= ntime1 and stime[1] < ntime1) Then
{
#저가(고정)
LL = L;
}
if (sdate != sdate[1] and stime >= ntime2) or
(sdate == sdate[1] and stime >= ntime2 and stime[1] < ntime2) Then
{
#고가(변화)
LL = h; //그날의 최고가이면 초기값을 dayhigh로 변경
Tcond = true;
}
}
if tcond == true then
{
#고가 갱신
if H > HH Then
HH = H;
#첫진입(65.2%위에서 아래로 터치하면 즉시 매수)
if TotalTrades == 0 and MarketPosition == 0 and L > HH-(HH-LL)*(진입비율1/100) Then
buy("b1",atlimit,HH-(HH-LL)*(진입비율1/100),수량1);
#매수 후
if MarketPosition == 1 then
{
#두번째진입(70.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 1 and L > HH-(HH-LL)*(진입비율2/100) Then
buy("b2",atlimit,HH-(HH-LL)*(진입비율2/100),수량2);
#세번째진입(80.0% 위에서 아래로 터치하면 즉시 추가매수)
if MaxEntries == 2 and L > HH-(HH-LL)*(진입비율3/100) Then
buy("b3",atlimit,HH-(HH-LL)*(진입비율3/100),수량3);
#첫 진입후 40%를 상회하면 즉시 전량청산
if MaxEntries == 1 Then
ExitLong("bx1",Atlimit,HH-(HH-LL)*(청산비율1/100));
#두번 진입후 45%를 상회하면 즉시 전량청산
if MaxEntries == 2 Then
ExitLong("bx2",Atlimit,HH-(HH-LL)*(청산비율2/100));
#세번 진입후 60%를 상회하면 즉시 전량청산
if MaxEntries == 3 Then
ExitLong("bx3",Atlimit,HH-(HH-LL)*(청산비율3/100));
#손절비율 이하로 하락시 즉시 전량청산
ExitLong("bx",AtStop,HH-(HH-LL)*(손절비율/100));
}
}
즐거운 하루되세요
2019-06-18
266
글번호 129522
카카 님에 의해서 삭제되었습니다.
2019-06-17
21
글번호 129521
답변완료
수식의 의미좀 알려주세요~
if data1(crossup(c,S1)) Then
T = 1;
if data1(CrossDown(c,S1)) Then
T = -1;
if T == 1 and data1(C>upline and V >= P1 and V > ma(V,거래량평균일수1)*거래량급등률1 and c > dayopen) and data2(C > S2) Then
{
T = 3;
#Tcond가 true일때만 조건만족시 매수
if Tcond == true and data1(c < dayclose(1)*전일급등률) Then
buy("매수",AtLimit,C-PriceScale*음봉틱수1);
}
이식에서 T = 3 의 의미가 무엇일까요?
2019-06-17
200
글번호 129520
답변완료
62906 재질문
90분봉의 MACD 오실레이터 지표를 만들어 주셔서
시스널선이 MACD선을 돌파할 때 매매신호를 넣어 봤는데 엉뚱한 곳에서
신호가 나옵니다. 확인좀 부탁드립니다. (매매챠트는 15분봉)
input : ntime1(90),P1(20),P2(60),P(20),dv(2),스탑로스(2.5),손절폭(1.5),매수스톡(25),매도스톡(70);
input : 매수이격(18),매도이격(18),단기MAP(20),장기MAP(60),금액(100000000);
input : sto1(25),sto2(6),sto3(6);
input : short(12),long(26),sig(9);
var : cnt(0),sum2(0),sum3(0);
var : tsum1(0),tsum2(0),tmav1(0),tmav2(0);
var : BBup(0),BBdn(0),BBMid(0);
var : S1(0),D1(0),TM(0),TF(0);
Var : Lvalue(0), Hvalue(0);
var : SK(0),SD(0),T(0),단기mav(0),장기mav(0);
Array : C1[100](0),H1[100](0),L1[100](0),FK[100](-1),StoK[100](-1);
var : EP1(0),EP2(0),EP3(0),DINDEX1(0),PreJISU1(0),PreJISU2(0),JISU1(0),JISU2(0);
var : MACDVal(0),MACDSIG(0),PreMACDSIG(0),MACDosc(0);
Ep1 = 2/(short+1);
Ep2 = 2/(long+1);
Ep3 = 2/(sig+1);
# 분봉설정==========================
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime1;
if Bdate != Bdate[1] or
(ntime1 != 1 and Bdate == Bdate[1] and TF < TF[1]) or
(ntime1 == 1 and Bdate == Bdate[1] and TF > TF[1]) Then
{
H1[0] = H;
L1[0] = L;
for cnt = 1 to 99
{
C1[cnt] = C1[cnt-1][1];
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
FK[cnt] = FK[cnt-1][1];
stok[cnt] = stok[cnt-1][1];
}
DINDEX1 = DINDEX1 + 1;
PreJISU1 = JISU1[1];
PreJISU2 = JISU2[1];
PreMACDSIG = MACDSIG[1];
}
C1[0] = C;
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = L;
if C1[P2] > 0 then
{
tsum1 = 0;
tsum2 = 0;
for cnt = 0 to P2-1
{
if cnt < P1 then
tsum1 = tsum1+C1[cnt];
if cnt < P2 then
tsum2 = tsum2+C1[cnt];
}
# 90분봉의 20일 이평선= tmav1, 60일 이평선= tmav2
tmav1 = tsum1/P1;
tmav2 = tsum2/P2;
}
# MACD 오실레이터
if DINDEX1 <= 1 then {
JISU1 = C;
JISU2 = C;
MACDVal = JiSu1-Jisu2;
MACDSIG = MACDVal;
MACDosc = MACDval-MACDsig;
}
else{
JISU1 = C * EP1 + PreJISU1 * (1-EP1);
JISU2 = C * EP2 + PreJISU2 * (1-EP2);
MACDVal = JiSu1-Jisu2;
MACDSIG = MACDVal * EP3 + PreMACDSIG * (1-EP3);
MACDosc = MACDval-MACDsig;
}
}
# 단기 이평선
단기mav = ma(C,단기MAP);
# 장기 이평선
장기mav = ma(C,장기MAP);
# 매수게임=============================
# if crossup(MACDSIG,MACDVal) Then
# buy("매수",OnClose,def,Floor(금액/C));
# if crossdown(단기mav,장기mav) Then
# ExitLong("청산");
# 매도게임==============================
if crossdown(MACDSIG,MACDVal) Then
sell("매도",OnClose,def,1);
if crossup(단기mav,장기mav) Then
ExitShort("매도청산");
2019-06-17
222
글번호 129519