커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3737
글번호 230811
답변완료
함수 수식도움을 부탁드립니다.
heiken-ashi 차트를 이용해서 매매를 하고 있는데요
1.
var : Xclose(0),xOpen(0),Xhigh(0),Xlow(0);
xClose = (Open+High+Low+Close)/4;
xOpen = (Open[1] + Close[1])/2 ;
xHigh = Max(High, xOpen, xClose);
xLow = Min(Low, xOpen, xClose) ;
이렇게 하니
현재보여지는 캔들기준으로 신호가 나오네요..(키움에서도 heiken 차트를 켜야만 신호가 제대로 나오드라구요.)
차트에서 heiken-ashi 를 제공해주면 되는데 없다보니..
2.
if index==0 Then
{
xClose = (Open+High+Low+Close)/4;
xOpen = open;
xHigh = Max(High, Open, Close);
xLow = Min(Low, Open, Close);
}
Else
{
xClose = (xOpen+xHigh+xLow+xClose)/4;
xOpen = (xOpen[1] + Xclose[1])/2;
xHigh = Max(High, xOpen, xClose);
xLow = Min(Low, xOpen, xClose) ;
}
# 매수/매수청산
If MarketPosition == 0 and xclose[1]<xopen[1] and xclose>xopen Then Buy();
If MarketPosition == 0 and xclose[1]>xopen[1] and xclose<xopen Then Sell();
If MarketPosition == 1 and xclose[1]>xopen[1] and xclose<xopen Then exitlong("");
If MarketPosition == -1 and xclose[1]<xopen[1] and xclose>xopen Then exitshort("");
이런식으로 고치니 안되네요.....
계속 봉차트를 인식하네요
해결이 안되네요
기존 질의응답 검색해서 답변하신거 적용해봐도
봉차트 기준으로만 적용이 됩니다.
고견부탁드립니다 ^^
2020-05-04
898
글번호 138524
답변완료
피보나치 함수 좀 도와주세요ㅠ
키움증권에서 사용하는 피보나치 함수입니다.
a=dayhigh();b=if(daylow()>predayclose()*1.03,predayclose(),daylow());k=a-b;k*0.786+b
위 함수 값에서 0.786 이상일때 선을 긋고 싶은데. 1 이하는 선이 만들어지는데 1 이상인 값을 넣으면 안되네요.ㅠ
예를 들어 0.786, 0.236 등등 값을 넣으면 잘 되는데, 1 이상인 값 1.1618로 하게 되면 선 값이 이상하게 나와요...
어떤 수식이나 값을 수정해야 하는지 고수님들 답변 좀 부탁드립니다....
2020-04-29
994
글번호 138523
회원 님에 의해서 삭제되었습니다.
2020-04-29
12
글번호 138521
답변완료
당일 수익/손실 틱수에 따른 거래중지
안녕하세요, 수고가 많으십니다.
당일 목표 손익에 따른 거래 중지 수식 요청드립니다.
당일 손해: 50틱 이상이면 손절 / 거래중지
당일 수익: 50틱 이상이면 익절 / 거래중지
감사합니다.
2020-04-29
853
글번호 138517
답변완료
문의드립니다
안녕하세요?
1번수식의 기울기에따라 알림음을 봉완성시까지 출력되게 하고싶습니다
2번수식의 기준선을 제외한 두선 모두 기울기에따라 빨강 파랑으로 선의색을
표현되게 하여주세요 그리고 기울기에따라 두선 각각 소리출력도 부탁드립니다
도움주셔서 감사합니다
1.
input : len(20),FC(1),SC(200);
var : Price(0),Len1(0),e(0),w(0);
var : H1(0),L1(0),N1(0),H2(0),L2(0),N2(0),H3(0),L3(0),N3(0),out(0);
var : dimen1(0),dimen(0),alpha1(0),oldalpha(0),oldN(0),N(0),alpha_(0),alpha(0),col(0);
price = c;
if CurrentBar >= 1 then
{
len1 = len/2;
e = 2.7182818284590452353602874713527;
w = log(2/(SC+1)) / log(e);
H1 = highest(high,len1);
L1 = lowest(low,len1);
N1 = (H1-L1)/len1;
H2 = highest(high,len1)[len1];
L2 = lowest(low,len1)[len1];
N2 = (H2-L2)/len1;
H3 = highest(high,len);
L3 = lowest(low,len);
N3 = (H3-L3)/len;
dimen1 = (log(N1+N2)-log(N3))/log(2);
dimen = iff(N1>0 and N2>0 and N3>0,dimen1,dimen1[1]);
alpha1 = exp(w*(dimen-1));
oldalpha = iff(alpha1>1,1,iff(alpha1<0.01,0.01,alpha1));
oldN = (2-oldalpha)/oldalpha;
N = (((SC-FC)*(oldN-1))/(SC-1))+FC;
alpha_ = 2/(N+1);
alpha = iff(alpha_< 2/(SC+1),2/(SC+1),iff(alpha_>1,1,alpha_));
if IsNaN(alpha) == false then
out = (1-alpha)*out[1] + alpha*price;
if out > out[1] Then
col = YELLOW;
Else
col = blue;
plot1(out,"FRAMA",col);
2.
Input : maPeriod(20), ROCPeriod(12), stoPeriod1(5), stoPeriod2(3), sPeriod(12), IPeriod(26),sigPeriod(9);
var : BinaryWave(0),BWMACD(0),BWMACDsig(0);
BinaryWave = BW(maPeriod,ROCPeriod,stoPeriod1,stoPeriod2);
BWMACD = ema(BinaryWave,sPeriod)-ema(BinaryWave,IPeriod);
BWMACDsig = ema(BWMACD,sigPeriod);
Plot1(BWMACD,"BW MACD");
Plot2(BWMACDsig,"BW MACD_Sig");
PlotBaseLine1(0, "기준선0");
2020-04-29
1121
글번호 138506
답변완료
선물 매수매도건수
90틱에서
선물의 총매수건수에서 총매도건수를 뺀 값을
막대그래프 지표로 보고 싶습니다.
2020-04-29
1130
글번호 138504
답변완료
문의드립니다.
len=input(40)
o=ema(open,len)
c=ema(close,len)
h=ema(high,len)
l=ema(low,len)
haclose = (o+h+l+c)/4
haopen = na(haopen[1]) ? (o + c)/2 : (haopen[1] + haclose[1]) / 2
hahigh = max (h, max(haopen,haclose))
halow = min (l, min(haopen,haclose))
len2=input(40)
o2=ema(haopen, len2)
c2=ema(haclose, len2)
h2=ema(hahigh, len2)
l2=ema(halow, len2)
col=o2>c2 ? red : lime
plotcandle(o2, h2, l2, c2, title="hs", color=col)
수식 변환 문의드립니다.
감사합니다.
2020-04-29
987
글번호 138502
답변완료
문의드립니다.
short = input(3,minval=1), long = input(10,minval=1)
osc = ema(accdist, short) - ema(accdist, long)
plot(osc, color=red, style=line, linewidth=2)
hline(0, color=black, linestyle=solid)
poscross = osc > 0 and osc[1] < 0
plotshape(poscross, style = shape.cross, color=black, location=location.top, title = "CCS")
항상 도움주셔서 감사합니다.
좋은 하루 되세요
2020-04-29
986
글번호 138500
답변완료
재문의 드립니다.
90틱에 5분봉 20선 이평선을 수평으로 넣는것 문의 드렸는데
input : ntime(5),P(50);
var : S1(0),D1(0),TM(0),TF(0),cnt(0);
var : sum1(0),mav1(0),tl(0);
Array : C1[100](0);
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%ntime;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and ntime > 1 and TF < TF[1]) or
(Bdate == Bdate[1] and ntime > 1 and TM >= TM[1]+ntime) or
(Bdate == Bdate[1] and ntime == 1 and TM > TM[1]) Then
{
for cnt = 1 to 49
{
C1[cnt] = C1[cnt-1][1];
}
}
C1[0] = C;
if C1[P] > 0 then
{
sum1 = 0;
for cnt = 0 to P-1
{
sum1 = sum1+C1[cnt];
}
mav1 = sum1/P;
plot1(mav1);
}
}
tl = TL_New(sdate,stime,mav1,NextBarSdate,NextBarStime,mav1);
TL_SetExtleft(tl,true);
TL_SetExtRight(tl,true);
이렇게 주셔서 했는데 아무것도 나오지 않습니다.
챠트는 90틱 챠트에 지표 불러오기 했습니다.
그런데 아무것도 나오지 않네요.
2020-04-29
1024
글번호 138498