커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4488
글번호 230811
답변완료
수식문의
질문이 애매했던것 같아서 수정했습니다.
감사합니다.
1. 5분봉에서 당일 시가를 var1, 10시00분봉의 종가를 var2, 당일 종가를 var3에 저장
-> 당일시가는 var1 = dayopen ; 종가는 var3 = dayclose 이렇게 하면 될 것 같은데 10시00분의 종가를 var2에 저장하는 법은 모르겠습니다.
2. 전일 10시00분봉의 종가를 var1에 저장
-> 위 내용과 비슷합니다.
3. 10분봉, 전일 거래량이 가장 작은봉의 번호를 var1에 저장
-> 전일 거래량이 가장 작았던 봉이 몇번째의 분봉인지 찾는 겁니다. 예를 들어 12시00분의 거래량이 당일 10분봉 거래량중 가장 작았다면 var1 = 18입니다.
4. 10분봉, 전일 변동성이 가장 작았던 봉의 번호를 var1에 저장-> 3번과 마찬가지로 거래량 대신 변동성을 찾는 겁니다. 변동성을 5일 변동성입니다.
5. 10분봉에서 9시 31분~10시00분 사이의 최고가, 최저가, 종가, 시가를 var1, var2, var3, var4로 저장
-> 9시31분의 시가라면 10분봉으로 4번째봉의 시가가 되겠네요.
10시00분의 종가라면 10분봉으로 6번째봉의 종가가 될것같습니다.
이사이의 최고가 최저가는 어떻게 찾는지 수식을 알려주세요.
6. 분봉에서 직전봉 기준으로 당일 저가를 var1에 저장
-> 예를 들어 5분봉에서 현재 14시01분인데 직전봉인 14시까지의 당일 저가(9시~14시까지의 저가)를 표시하고 싶습니다.
7. dayopen 과 openD와의 차이
2019-02-11
176
글번호 126020
푸른 님에 의해서 삭제되었습니다.
2019-02-11
20
글번호 126018
답변완료
문의드림
아래수식으로 종목검색을 하고 싶은데 검색이 않되네요
input:기간(5);
var:nhh(0),no(0),nh(0),nl(0);
if l==lowest(l,5) then ll=l;
else if l[1]== lowest(l,5) then ll=l[1];
else if l[2]== lowest(1,5) then ll=l[2];
else if l[3]== lowest(1,5) then ll=l[3];
else if l[4]== lowest(1,5) then ll=l[4];
else ll=0;
if h>highest(h[1],기간) then
{nhh=h;
no=index;
}
if index-no==3 && highest(h,3)<highest(h,4) then
{nh=nhh;
nl=ll;
}
if crossup(c,nh) then find(1);
검정은 완료되었다고하는데 종목검색이 안되네요
검토해보시고지도부탁드립니다
2019-02-11
158
글번호 126017
답변완료
문의드립니다
2019-02-11
168
글번호 126016
답변완료
수식부탁드립니다~
수고많으십니다
1. 현재 분봉이 C/0*100 > 0.01 이면 그 봉 종가에 매수
2. 첫 매수 봉, 다음 봉의 가격이 한번이라도 첫매수봉의 시가를 하회할 경우 첫매수봉시가에서 추가매수
3. 첫매수봉의 (C-O)*1.2 + O 인 가격에 도달하면 보유하고 있는 수량 전체매도
4. 첫매수봉의 시가보다 현재가가 낮으면 매도( 첫매수봉이후 세번째봉부터 해당 조건적용 )
2019-02-11
175
글번호 126015
답변완료
부탁드립니다.
Input : Period1(20), Period2(60);
var1 = ma(C,Period1);
var2 = ma(C,Period2);
if(crossup(var1, var2)) then
buy();
if(crossdown(var1, var2)) then
sell();
1, 위 파일 1번에서 매도진입 신호가 나오고 역방향으로 가고 있습니다.
이때 매도진입 가격 10틱에서 손절(매도청산)하고
손절(매도청산)된 가격에서 바로 매수진입 신호가
나오길 바라고 있습니다.
2, 위 파일 2번에서 매수진입 신호가 나오고 역방향으로 가고 있습니다.
이때 매수진입 가격 10틱에서 손절(매수청산)하고
손절된 가격에서 바로 매도진입 신호가
나오길 바라고 있습니다.
2019-02-11
182
글번호 126014
답변완료
질문드립니다 ^^ 새해복 많이 받으세요
안녕하세요
오일을 예로 들어 질문드리겠습니다.
300틱 30이평선 값과 시장가 차이 (틱값)을 차트로 구현하고 싶은데요
오일기준으로 쉽게 말하자면
현재 30이평선값은 50.00이고
차트상 현재가는 50.10이라면
이평선대비 현재가는 +10틱이 될겁니다. 즉 제가 구하는 값은 [+10]이 됩니다.
49.95라면 -5가 될거구요. 즉 값은 [-5]가 됩니다.
이렇게 나온 수치들을 꾸준히 표기되게 하고 싶습니다.
구현할 수 있을까요?
일단 제가 생각하는 모양을 첨부해보겠습니다.
형태는 상관없습니다. 수치만 표기된다면 감사감사입니다.
실시간으로 숫자만 계속 바뀌어도 상관 없습니다.
새해복 많이 받으십시오.
2019-02-11
188
글번호 126013
답변완료
산식검토요
CrossUp(Ms,BuyZone)에 진입을 원하는데
자꾸 MACD의 GoldCross에 진입을 하는 오류를 찾을수 없어서 문의 드립니다
[시스템산식]
## 3. 갭 MACD
input : sp(12), lp(26), period(9);
var : sumGap(0), gap(0), GO(0), GH(0), GL(0), GC(0);
var : MacdVal(0), MacdSig(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
MacdVal = ema(GC,sP)-ema(GC,lP); //macd 지표
MacdSig = ema(MacdVal, Period); //macd signal 지표
var: Mv(0),Ms(0);
Mv=MacdVal;
Ms=MacdSig;
# Macd 과열구간 정의
Input :dzPeriod(30),Per(3);
Var : BuyZone(0),SellZone(0);
BuyZone=OH_Buy(MacdSig,dzPeriod,Per);
SellZone=OH_Sell(MacdSig,dzPeriod,Per);
If MarketPosition==0 and TotalTrades==0 and DayIndex>=2
and CrossUp(Ms,BuyZone) Then
Buy("B1",AtMarket); //
If MarketPosition==0 and TotalTrades>0 and DayIndex>=2
and CrossUp(Ms,BuyZone) Then
Buy("B2",AtMarket); //
If CrossDown(Mv,Ms) Then
exitlong("bx1",AtMarket); //+d3 and C2 > C3and C<GAP_ma(C,01)
2019-02-11
237
글번호 126012
bull7날개짓 님에 의해서 삭제되었습니다.
2019-02-10
0
글번호 126011