커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8106
글번호 230811
답변완료
수식 부탁드립니다.
수고하십니다.
문의 1. 10일(기간)중 OBV값의 전고점을 1회이상(횟수) 돌파하는 종목을 검색하는 식을
부탁드립니다.
- 돌파 횟수를 나타내게 해주시고
- 기간 및 횟수는 외부변수로 처리를 부탁드립니다.
문의 2. OBV값의 전고점을 돌파할때 캔들에 화살표 등 으로 표시하는 수식을 부탁드립니다.
매번 감사합니다.
2018-05-23
266
글번호 119130
답변완료
수식 문의 드립니다.
안녕하세요?
늘 감사드립니다.
해외선물에 적용할 것입니다.
모든 시간 관련 사항은 런던 시장 기준 입니다.
전일범위 = 전일 고가 – 전일 저가 = 전일의 레인지.
오늘의 시가(런던 시장 오픈) + 0.5*전일범위 상향돌파에 매수진입 또는
오늘의 시가(런던 시장 오픈) – 0.5*전일범위 하향 돌파에 매도 진입
* 진입은 하루 1번 이내 입니다.
진입후 +50 핍에 익절, 또는 -40 핍에 손절,
손절도 익절도 안되었으면,
다음날 런던 시장 오픈 2봉 전의 종가에 청산.
질문: 지금 14시 50분 현재, Yes Global에서는 00시 50분으로 되어 있네요...
그렇다면, 런던 시장이 16시에 오픈한다면 02:00 오픈 인 것이고, 이 경우에,
전일 범위는 02:00 ~ 다음날 01:59 분 중에서의 고점 - 저점 이겟죠?
제가 보통은 15분, 또는 30분 봉을 켜 두는데, 이 경우에도 01시 59분 같은 이야기가 먹히는지가 궁금합니다. 만약 안 먹히면, 최대한 비슷하게만 작동해도 좋겠습니다.
감사합니다.
2018-05-23
260
글번호 119116
답변완료
오늘의 주가를 전일의 시가에서 시작하도록 설정
안녕하세요 관리자님!! 고생이 많으십니다.
오늘의 주가 움직임을 전일의 시가에서 시작하도록 해서 차트에 선으로 표시하고 싶습니다.
도와주십시요^^
2018-05-23
254
글번호 119095
답변완료
분봉에 라인긋기 수식좀요
당일고가-(당일고가*0.001)
이내용을 분봉에 라인으로 그려주는 수식부탁드려요~
(제가만들면 왜 에러가 나는지~)
2018-05-23
261
글번호 119094
답변완료
거래차수 조절
아래는 거래횟수를 20회까지 입력하여 거래하는 buy 수식입니다.
input을 통해 거래차수를 조절하는 수식을 추가하고 싶습니다.
예를 들어
input : 거래차수(3)으로 입력하면
1차,2차 거래는 포지션 없이 진입과 청산 수식을 이행하다가
3차 거래부터 진입을 시작합니다.
******************************************************************
input : b1(9),b2(9),X1(9),X2(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ;
var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0);
if (sdate != sdate[1] and stime >= 시작시간) or
(sdate == sdate[1] and stime >= 시작시간 and stime[1] < 시작시간) Then{
T1 = TotalTrades;
E1 = 0;
LL = L;
}
if stime >= 시작시간 then{
if L < LL Then
LL = L;
if MarketPosition == 0 Then
entry = TotalTrades-T1;
Else
entry = (TotalTrades-T1)+1;
if MarketPosition == 0 and entry == 0 Then{
if E1 == 0 and C >= LL+PriceScale*B1 and C[1] < LL+PriceScale*B1 Then{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{
buy("b1");
}
}
if TotalTrades > TotalTrades[1] Then{
E1 = 0;
LL = L;
}
if L < LL Then
LL = L;
if MarketPosition == 0 and entry >= 1 and entry < 거래횟수 Then{
if E1 == 0 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then{
E1 = 1;
H1 = H;
i1 = index;
V1 = LL; //시작점 종가
}
if E1 == 1 and index > i1 then{
if H > H1 Then
H1 = H;
#저가가 시작봉종가보다 클때만 눌림체크
if L >= V1 and L <= H1-PriceScale*진입눌림 Then{
E1 = 2;
i1 = index;
S1 = H1;
}
}
//시작점 종가보다 낮은 가격이 발생하면 초기화
if E1 >= 1 and L < V1 Then{
E1 = 0;
LL = L;
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{
buy("b2");
}
}
if MarketPosition == 1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EH = H;
E1 = 0;
}
if H > EH Then{
EH = H;
E1 = 0;
}
if E1 == 0 and C <= EH-PriceScale*X1 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*청산눌림 Then{
E1 = 2;
I1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{
exitlong("bx1");
E1 = 0;
}
}
}
if MarketPosition == 1 Then{
if entry >= 1 then{
if CurrentContracts > CurrentContracts[1] Then{
EH = H;
E1 = 0;
}
if H > EH Then{
EH = H;
E1 = 0;
}
if E1 == 0 and C <= EH-PriceScale*X2 Then{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*청산눌림 Then{
E1 = 2;
I1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{
exitlong("bx2");
E1 = 0;
}
}
}
}
2018-05-23
259
글번호 119093
답변완료
검색문의드립니다.
Input : shortPeriod(12), longPeriod(26), Period(9),N(1);
Var : MACDv(0), MACDS(0),mav(0),T(0);
MACDv = MACD(shortPeriod, longPeriod);
MACDs = ema(MACDv,Period);
mav =ma(c,5);
if crossup(MACDV,MACDS) Then{
var1 = mav;
T = 1;
}
if CrossDown(MACDV,MACDS) Then{
var2 = mav;
T = -1;
}
if T == 1 Then{
if mav > var1 Then
var1 = mav;
}
if T == -1 Then{
if mav < var2 Then
var2 = mav;
}
plot1(var1,"매수");
plot2(var2,"매도");
plot3(ma(c,n),"N이평");
요청사항
var1와 var2 선의 값이 5%내로 가까워지면 잡을수 있는 수식 부탁드립니다.
2018-05-23
237
글번호 119090
답변완료
plot는 기술적지표에서만 쓸수있습니다 라는건 어떻게 바궈야할까요
plot1(RSI0,"RSI");
plot2(var3,"Fast_Metro");
plot3(var4,"Slow_Metro");
PlotBaseLine1(30, "기준선 30");
PlotBaseLine2(70, "기준선 70");
이 내용인데 시스템에서 하게돼면 기술적지표에서만 쓸수있다고 나와요
어떻게 바꿔야 할까요?
2018-05-23
246
글번호 119089
만두기 님에 의해서 삭제되었습니다.
2018-05-23
28
글번호 119088
답변완료
돌파식 수정요청
//사용자함수명 dema
input : Price(Numeric),Period(9);
dema = ema(ema(Price,Period),period);
//사용자함수명 tema
tema = ema(ema(ema(Price,Period),period),period);
var1=
100 - (100/(1+TEMA(if((C-C(1))>0,(C-C(1)),0), period) / TEMA(if((C-C(1))<0,abs((C-C(1))),0),period)))
var2=
100 - (100/(1+DEMA(if((C-C(1))>0,(C-C(1)),0), 9) / DEMA(if((C-C(1))<0,abs((C-C(1))),0),period)))
if Var1[1] > Var2[1] and Var1[1] < Var2[1] Then
Find(1);
검색식을 만들고 싶은데요
var2가 var1 돌파하는 검색식이요
여기서 외부변수에 price는 종가 c를 표현한건가요?
dema tema 계산 설명입니다
DEMA (Double Exponential Moving Average)
EMA의 EMA라고 이해.
< 계산 방법 >
EMA = {2 / ( n + 1)} X (당일종가 - 전일 EMA) + 전일 EMA
TEMA (Triple Exponential Moving Average)
EMA의 EMA의 EMA라고 이해
< 계산 방법 >
EMA = {2/(n+1)} * (당일종가 - 전일EMA) + 전일EMA
통상적으로 n = 9일을 기본값으로 합니다.
EMA (Exponential Moving Average, 지수이동평균)
가장 최근의 값에 더 많은 가중치를 부여하고
오래 된 값에는 적은 가중치를 부여하되,
비록 오래 된 값이라고 할지라도 완전히 무시하지는 않고 적게나마
반영시키는 계산방법으로
< 계산 방법 >
EMA(지수이동평균) = 전일지수이동평균 +{c×(금일종가지수-전일지수이동평균)}
※ c = 2 / (n+1)
단, 0 < c < 1
(9일의 경우 0.2, 12일의 경우 0.15, 26일의 경우엔 가중치 0.075 사용)
2018-05-22
227
글번호 119087