커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3386
글번호 230811
답변완료
이격도
항상 감사합니다.
5일선과 10일선의 이격도를 구하는 식을 알고 싶습니다.
2020-05-13
1250
글번호 138847
답변완료
수식 문의 드립니다
장 시작부터 특정 봉 번호 까지의 최고점 최저점을 구하고 싶습니다.
Highest(H, Index) 로 구하면 봉이 진행됨에 따라 계속 가격이 변하더라고요.
0번봉부터 5번봉까지 최고점 최저점을 지정하고 시간이 지남에 따라
변하지 않게 고정하는 방법을 알고 싶습니다.
고맙습니다.
2020-05-13
1192
글번호 138843
답변완료
수식 의뢰 부탁드립니다.
개발자님의 노고에 항상 감사드립니다
현재 틱차트로 트레이딩을 하고 있고 주말에는 모든 포지션을 정리하고 싶습니다
분차트로 트레이딩할 때 동일 질문에 아래와 같은 답변을 받아 잘 사용했습니다
---------------------------------
If (NextBarSdate != sdate and DayOfWeek(NextBarSdate) == 6) or
(date > sdate and DayOfWeek(date) == 6) Then
SetStopEndofday(055900);
if bdate != bdate[1] Then
SetStopEndofday(0);#해제
----------------------------------
틱차트에서는 '055900'에 봉이 완성되지 않을 수 있어 위 수식을 사용하기 어렵습니다
청산시각을 특정하지 않고 범위로 변경할 수 있을까요?
또는 다른 좋은 방법이 있다면 알려주세요
그리고 비슷한 질문이 하나 더 있습니다
틱차트로 오버나잇하지 않고 하루하루 청산하고 싶습니다
특정시간(ex 150000 ~ 153000)에 틱봉이 완성되면 청산되는 수식 부탁드립니다
감사합니다
2020-05-13
1239
글번호 138842
답변완료
문의
항상 감사드립니다.
참조를 이용하여 개인 외국인 기관 기타 모든 주체의 선물 수급을 합산해서 보고싶은데 가능할까요? 누적으로로 가능하면 그것도 부탁드릴게요.
2020-05-13
1061
글번호 138841
답변완료
문의드립니다.
input : length(40),mult(1.0),lengthKC(40),multKC(0.7),useTrueRange(true);
var : source(0),basis(0),dev(0),upperBB(0),lowerBB(0);
var : mav(0),rr(0),rangema(0),upperKC(0),lowerKC(0);
var : sqzOn(false),sqzOff(false),noSqz(false),val(0);
var : bcolor(0),scolor(0);
// Calculate BB
source = close;
basis = ma(source, length);
dev = mult * std(source, length);
upperBB = basis + dev;
lowerBB = basis - dev;
// Calculate KC
mav = ma(source, lengthKC);
RR = iff(useTrueRange, TrueRange ,(high - low));
rangema = ma(RR, lengthKC);
upperKC = mav + rangema * multKC;
lowerKC = mav - rangema * multKC;
sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC);
SqzOn이 발생하면 캔들에 강조가 되도록 구현하고 싶습니다.
도움 부탁드립니다. 감사합니다.
2020-05-13
1055
글번호 138840
답변완료
문의드립니다!
안녕하세요!
옵션챠트에서 특정행사가의 이평선(10,20,30선)을 본챠트와,
참조챠트(갭으로설정)에서 끌어올린것 해서 2개를 설치했는데요
여기에 색상을 입힐때 본챠트의 이평선을 되는데 참조챠트의 이평선은 안되네요
이렇게 2개모두 색상을 입히는것이 원래 불가능한건지?
아님 다른 설정방법이 있는지 문의드립니다
감사합니다
2020-05-13
1048
글번호 138839
답변완료
문의드립니다.
study("Heikin-Ashi Oscillator", overlay=false)
heikin_ashi_oscillator() =>
float _ha_open = (open + close) / 2
float _ha_close = ohlc4
_ha_open := (nz(_ha_open[1]) + nz(_ha_close[1])) / 2
_ha = (_ha_close > _ha_open) ? (_ha_close - _ha_open) : - (_ha_open - _ha_close)
_ha
hao = heikin_ashi_oscillator()
ha_clr = (hao > 0) ? color.white : color.blue
plot(hao, color=ha_clr, style=plot.style_histogram)
변환 문의드립니다. 감사합니다.
2020-05-13
1119
글번호 138831
답변완료
부탁드립니다
$,안녕하세요
ㅡ,아래식에서 TL_SetSize 굵기변수 조정을하면 전일에만 적용됩니다,당일에 적용되도록
도움 부탁드립니다,
input : ASA시작(070000),ASA종료(153000),ASA굵기(0);
input : Eu시작(153000),Eu종료(223000),EU굵기1(0);
input : USA시작(223000),USA종료(060500),USA굵기2(0);
var : D1(0),T1(0),H1(0),L1(0),Tcond1(false);
var : D2(0),T2(0),H2(0),L2(0),Tcond2(false);
var : D3(0),T3(0),H3(0),L3(0),Tcond3(false);
var : ED1(0),ET1(0),ED2(0),ET2(0),ED3(0),ET3(0);
var : TL11(0),TL12(0),TL13(0),TL14(0);
var : TL111(0),TL121(0),TL131(0),TL141(0);
var : TL21(0),TL22(0),TL23(0),TL24(0);
var : TL211(0),TL221(0),TL231(0),TL241(0);
var : TL31(0),TL32(0),TL33(0),TL34(0);
var : TL311(0),TL321(0),TL331(0),TL341(0);
var : tx1(0),tx2(0),tx3(0);
var : tx11(0),tx21(0),tx31(0);
if time == ASA종료 or (time > ASA종료 and time[1] < ASA종료) Then
Tcond1 = false;
if stime == ASA시작 or (stime > ASA시작 and stime[1] < ASA시작) Then{
D1 = sdate;
T1 = stime;
H1 = H;
L1 = L;
Tcond1 = true;
if d1[1] > 0 and ED1 > 0 Then{
TL_Delete(TL111);
TL_Delete(TL121);
TL_Delete(TL131);
TL_Delete(TL141);
TL111 = TL_New(D1[1],T1[1],H1[1],ED1,ET1,H1[1]);
TL121 = TL_New(D1[1],T1[1],L1[1],ED1,ET1,L1[1]);
TL131 = TL_New(D1[1],T1[1],H1[1],D1[1],T1[1],L1[1]);
TL141 = TL_New(ED1,ET1,H1[1],ED1,ET1,L1[1]);
TL_SetColor(TL111,LMAGENTA);
TL_SetColor(TL121,LMAGENTA);
TL_SetColor(TL131,LMAGENTA);
TL_SetColor(TL141,LMAGENTA);
TL_SetSize(TL111,ASA굵기);
TL_SetSize(TL121,ASA굵기);
TL_SetSize(TL131,ASA굵기);
TL_SetSize(TL141,ASA굵기);
Text_Delete(tx11);
tx11 = Text_New(ED1,ET1,H1[1],NumToStr(H1[1]-L1[1],4));
Text_SetColor(tx11,LYELLOW);
}
}
if Tcond1 == true Then{
if H > H1 Then
H1 = H;
if L < L1 Then
L1 = L;
ED1 = sdate;
ET1 = stime;
TL_Delete(TL11);
TL_Delete(TL12);
TL_Delete(TL13);
TL_Delete(TL14);
TL11 = TL_New(D1,T1,H1,Sdate,stime,H1);
TL12 = TL_New(D1,T1,L1,Sdate,stime,L1);
TL13 = TL_New(D1,T1,H1,D1,T1,L1);
TL14 = TL_New(sdate,stime,H1,sdate,stime,L1);
TL_SetColor(TL11,LMAGENTA);
TL_SetColor(TL12,LMAGENTA);
TL_SetColor(TL13,LMAGENTA);
TL_SetColor(TL14,LMAGENTA);
TL_SetSize(TL111,ASA굵기);
TL_SetSize(TL121,ASA굵기);
TL_SetSize(TL131,ASA굵기);
TL_SetSize(TL141,ASA굵기);
Text_Delete(tx1);
tx1 = Text_New(sdate,stime,H1,NumToStr(H1-L1,4));
Text_SetColor(tx1,LYELLOW);
}
if time == EU종료 or (time > EU종료 and time[1] < EU종료) Then
Tcond2 = false;
if stime == EU시작 or (stime > EU시작 and stime[1] < EU시작) Then{
D2 = sdate;
T2 = stime;
H2 = H;
L2 = L;
Tcond2 = true;
if d2[1] > 0 and ED2 > 0 Then{
TL_Delete(TL211);
TL_Delete(TL221);
TL_Delete(TL231);
TL_Delete(TL241);
TL211 = TL_New(D2[1],T2[1],H2[1],ED2,ET2,H2[1]);
TL221 = TL_New(D2[1],T2[1],L2[1],ED2,ET2,L2[1]);
TL231 = TL_New(D2[1],T2[1],H2[1],D2[1],T2[1],L2[1]);
TL241 = TL_New(ED2,ET2,H2[1],ED2,ET2,L2[1]);
TL_SetColor(TL211,LMAGENTA);
TL_SetColor(TL221,LMAGENTA);
TL_SetColor(TL231,LMAGENTA);
TL_SetColor(TL241,LMAGENTA);
TL_SetSize(TL211,EU굵기1);
TL_SetSize(TL221,EU굵기1);
TL_SetSize(TL231,EU굵기1);
TL_SetSize(TL241,EU굵기1);
Text_Delete(tx21);
tx21 = Text_New(ED2,ET2,H2[1],NumToStr(H2[1]-L2[1],4));
Text_SetColor(tx21,LMAGENTA);
}
}
if Tcond2 == true Then{
if H > H2 Then
H2 = H;
if L < L2 Then
L2 = L;
ED2 = sdate;
ET2 = stime;
TL_Delete(TL21);
TL_Delete(TL22);
TL_Delete(TL23);
TL_Delete(TL24);
TL21 = TL_New(D2,T2,H2,Sdate,stime,H2);
TL22 = TL_New(D2,T2,L2,Sdate,stime,L2);
TL23 = TL_New(D2,T2,H2,D2,T2,L2);
TL24 = TL_New(sdate,stime,H2,sdate,stime,L2);
TL_SetColor(TL21,LMAGENTA);
TL_SetColor(TL22,LMAGENTA);
TL_SetColor(TL23,LMAGENTA);
TL_SetColor(TL24,LMAGENTA);
TL_SetSize(TL211,EU굵기1);
TL_SetSize(TL221,EU굵기1);
TL_SetSize(TL231,EU굵기1);
TL_SetSize(TL241,EU굵기1);
Text_Delete(tx2);
tx2 = Text_New(sdate,stime,H2,NumToStr(H2-L2,4));
Text_SetColor(tx2,LMAGENTA);
}
if time == USA종료 or (time > USA종료 and time[1] < USA종료) Then
Tcond3 = false;
if stime == USA시작 or (stime > USA시작 and stime[1] < USA시작) Then{
D3 = sdate;
T3 = stime;
H3 = H;
L3 = L;
Tcond3 = true;
if d3[1] > 0 and ED3 > 0 Then{
TL_Delete(TL311);
TL_Delete(TL321);
TL_Delete(TL331);
TL_Delete(TL341);
TL311 = TL_New(D3[1],T3[1],H3[1],ED3,ET3,H3[1]);
TL321 = TL_New(D3[1],T3[1],L3[1],ED3,ET3,L3[1]);
TL331 = TL_New(D3[1],T3[1],H3[1],D3[1],T3[1],L3[1]);
TL341 = TL_New(ED3,ET3,H3[1],ED3,ET3,L3[1]);
TL_SetColor(TL311,MAGENTA);
TL_SetColor(TL321,MAGENTA);
TL_SetColor(TL331,MAGENTA);
TL_SetColor(TL341,MAGENTA);
TL_SetSize(TL311,USA굵기2);
TL_SetSize(TL321,USA굵기2);
TL_SetSize(TL331,USA굵기2);
TL_SetSize(TL341,USA굵기2);
Text_Delete(tx31);
tx31 = Text_New(ED3,ET3,H3[1],NumToStr(H3[1]-L3[1],4));
Text_SetColor(tx31,MAGENTA);
}
}
if Tcond3 == true Then{
if H > H3 Then
H3 = H;
if L < L3 Then
L3 = L;
ED3 = sdate;
ET3 = stime;
TL_Delete(TL31);
TL_Delete(TL32);
TL_Delete(TL33);
TL_Delete(TL34);
TL31 = TL_New(D3,T3,H3,Sdate,stime,H3);
TL32 = TL_New(D3,T3,L3,Sdate,stime,L3);
TL33 = TL_New(D3,T3,H3,D3,T3,L3);
TL34 = TL_New(sdate,stime,H3,sdate,stime,L3);
TL_SetColor(TL31,MAGENTA);
TL_SetColor(TL32,MAGENTA);
TL_SetColor(TL33,MAGENTA);
TL_SetColor(TL34,MAGENTA);
TL_SetSize(TL311,USA굵기2);
TL_SetSize(TL321,USA굵기2);
TL_SetSize(TL331,USA굵기2);
TL_SetSize(TL341,USA굵기2);
Text_Delete(tx3);
tx3 = Text_New(sdate,stime,H3,NumToStr(H3-L3,4));
Text_SetColor(tx3,MAGENTA);
}
$$, 언제나 늘 고맙습니다.
2020-05-13
1107
글번호 138826
답변완료
date함수 사용법
date 합수에서 크다 작다를 쓸 수 있나요?
예를 들면 2015년까지와 2016년부터 다르게 지정한다면
if date < 20151231 then
MD = 3;
if date >= 20160101 then
MD = 4;
날짜가 크다작다가 되는지 몰라서 물어봅니다,
date의 리턴값이 숫자인지 문자인지 몰라서 묻는거가 되겠네요.
2020-05-13
1042
글번호 138825