커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6362
글번호 230811
목마와숙녀 님에 의해서 삭제되었습니다.
2024-03-08
0
글번호 177295
답변완료
쌍봉
게시판의 수식입니다.
아래 buy 수식과 정반대인 sell 수식 작성 부탁드립니다.
항상 고맙습니다
**********************************************************************************
inputs: ATRLength(7), Strength(3);
input : 쌍바닥상(5),쌍바닥하(5);
var : STrend(0),ATRv(0), avgv(0), dnv(0), upv(0), trend(1), flag(0), flagh(0), ST(0),hl(0);
var : idx(0),hh(0),ll(0),EP1(0),EP2(0);
var : ema1(0),ema2(0),ema3(0),h1(0),l1(0);
Ep1 = 2/(ATRLength+1);
Ep2 = 2/(Strength+1);
idx = idx+1;
if idx < ATRLength Then
{
hh = DayHigh;
ll = daylow;
}
Else
{
hh = Highest(High, ATRLength);
ll = Lowest(Low, ATRLength);
}
if idx < Strength Then
{
h1 = DayHigh;
l1 = daylow;
}
Else
{
h1 = Highest(High, Strength);
l1 = Lowest(Low, Strength);
}
hl = hh-ll;
if idx == 1 Then
{
ema1 = hl;
ema2 = h;
ema3 = l;
}
Else
{
ema1 = hl * EP1 + ema1 * (1-EP1);
ema2 = h * EP2 + ema2 * (1-EP2);
ema3 = l * EP2 + ema3 * (1-EP2);
}
atrv = ema1;
avgv = (ema2+ema3)/2;
upv = avgv + ATRv;
dnv = avgv - ATRv;
if idx >= 2 then
{
if c > upv[1] and c > h1[1] then trend = 1;
else if c < dnv[1] and c < l1[1] then trend = -1;
if trend < 0 and trend[1] > 0 then flag=1; else flag=0;
if trend > 0 and trend[1] < 0 then flagh = 1; else flagh = 0;
if trend > 0 and dnv < dnv[1] then dnv=dnv[1];
if trend < 0 and upv > upv[1] then upv=upv[1];
if flag == 1 then upv = avgv + ATRv;
if flagh == 1 then dnv = avgv - ATRv;
if trend == 1 then ST = dnv; else ST = upv;
STrend = trend;
}
if Trend != Trend[1] Then
{
if Trend == 1 Then
{
var1 = h;
var2 = var1[1];
if st<dayhigh-0.7 and Var4 > 0 and var3 <= Var4+PriceScale*쌍바닥상 and var3 >= Var4-PriceScale*쌍바닥하 Then
{
Buy("b");
}
}
Else
{
Var3 = l;
Var4 = Var3[1];
}
}
Else
{
if Trend == 1 Then
{
if h > var1 Then
var1 = h;
}
if Trend == -1 Then
{
if l < var3 Then
var3 = l;
}
}
2024-08-01
842
글번호 177294
고성 님에 의해서 삭제되었습니다.
2024-03-08
1
글번호 177292
답변완료
좋은 주말 되십시요^^
좋은 주말 되십시요**
<요청 사항>
https://www.youtube.com/watch?v=162SlkuTcs0
https://www.youtube.com/watch?v=JSqwubnXmwo
https://www.youtube.com/watch?v=_fRtlnU8FQw
https://www.youtube.com/watch?v=lCIw8uaHAJE
https://www.youtube.com/watch?v=7CBoAzfK0jg
안녕하세요
예스스탁입니다.
input : p1(10),P(10),p2(10),k(2);
var : a(false),b(0);
a=c<highest(c,p1)-ATR(p)*k or c<lowest(c,p2)[1];
if a == true Then
b = h;
if b > 0 Then
Plot1(b);
즐거운 하루되세요
> wasong 님이 쓴 글입니다.
input : per(8);
input : smthit(false);
input : type(0); #1: SMA, 2: EMA, 3: WMA, 4: RMA
input : smthper(5);
input : colorbars(false);
input : showsignals(false);
var : mav(0),atrv(0),out(0),variant(0),alpha(0),rma(0),colorout(0),tx(0);
mav = ma(close - close[per], per);
atrv = atr(per);
out = mav/atrv * 50 + 50;
if type == 1 Then
variant = ma(out, smthper) ;
else if type == 2 Then
variant = ema(out, smthper);
else if type == 3 Then
variant = wma(out, smthper) ;
else if type == 4 Then
{
alpha = 1/smthper;
rma = IFf(IsNaN(rma[1]) == true, ma(out, smthper) , alpha * out + (1 - alpha) *IFf(IsNan(rma[1])==true,0,rma[1]));
variant = rma;
}
out = iff(smthit ,variant , out);
colorout = iff(out > 50 , green , red);
plot1(out,"out",colorout);
plot2(50,"50",gray);
if CrossUp(out,50) Then
{
tx = Text_New(sDate,sTime,L,"▲");
Text_SetColor(tx,Green);
Text_SetStyle(tx,2,0);
}
if CrossDown(out,50) Then
{
tx = Text_New(sDate,sTime,H,"▼");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,1);
}
즐거운 하루되세요
안녕하세요
예스스탁입니다.
input : Period(10),multiple(2);
var : base(0),upper_band(0),downtrend(0);
Base=(H+L)/2;
upper_band = base+atr(period)*multiple;
if lowest(upper_band,period)[1] > upper_band Then
downtrend = upper_band;
Plot1(downtrend);
즐거운 하루되세요
var : A(0),B(0),EU(0),ED(0),S1(0),S2(0),S3(0),SU(0),HU(0);
A=EnvelopeUp(20,6);
B=EnvelopeDown(20,6);
EU=((A+B)/2)+0.5*ATR(5);
ED=((A+B)/2)-0.5*ATR(5);
S1=Ema(EU,5);
S2=Ema(ED,5);
S3=(S1+S2)/2;
SU=iff(C>S3,S1,0);
if SU > SU[1] Then
HU = SU;
if HU > 0 Then
Plot1(HU);
즐거운 하루되세요
input : A_Period(10),Period(20),ratio(1),기간(5);
var : 가격(0),A(0),upt(0),dnt(0),cc(0),turn(0),라인(0),value(0);
가격 = (H+L)/2;
A=atr(A_period);
upT=Ema(가격+A*ratio,기간);
dnT=Ema(가격-A*ratio,기간);
CC=CCI(period);
turn= iff(CC>=0 && dnT>dnT[1],1, iff(CC<0 && upT<upT[1],-1,0));
라인=iff(turn==-1,upT,dnT);
if turn==1 or turn==-1 Then
value = 라인;
Plot1(value);
즐거운 하루되세요
안녕하세요
예스스탁입니다.
1
input : Period(10),sig(10);
var : sumTR(0),TH(0),TL(0),cnt(0),A(0),ATRV(0);
var : ii(0),sumATR(0),ATRS(0);
sumATR = 0;
for ii = 0 to sig-1
{
sumTR = 0;
for cnt = ii to ii+Period-1
{
TH = max(DayClose(cnt),DayOpen(cnt));
TL = min(DayClose(cnt),DayOpen(cnt));
sumTR = sumTR + (TH-TL);
}
A = sumTR/Period;
sumATR = sumATR+A;
if ii == 0 Then
ATRV = A;
}
ATRS = sumATR/Sig;
plot1(ATRV);
plot2(ATRS);
안녕하세요
예스스탁입니다.
input : coeff(1);
input : AP(14);
input : novolumedata(1);#1:true, 0:False
var : atrv(0),src(0),upt(0),downt(0),AlphaTrend(0);
var : buySignalk(False),sellSignalk(False);
ATRv = ma(TrueRange, AP);
src = close;
upT = low - ATRv * coeff;
downT = high + ATRv * coeff;
Condition1 = False;
if novolumedata == 1 and rsi(AP) >= 50 Then
Condition1 = true;
if novolumedata == 0 and MFI(AP) >= 50 Then
Condition1 = true;
AlphaTrend = iff(Condition1 , IFf(upT < iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]), iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]) , upT),IFf(downT > iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]) , iff(isnan(AlphaTrend[1])==true,0,AlphaTrend[1]) , downT));
plot1(AlphaTrend,"k1",Blue);
plot2(AlphaTrend[2],"k2",Red);
즐거운 하루되세요
안녕하세요
예스스탁입니다.
1
input : Length(5),xPrice(close);
var : xe1(0),xe2(0),xe3(0),xe4(0),xe5(0),xe6(0);
var : b(0),c1(0),c2(0),c3(0),c4(0),nT3Average(0);
xe1 = ema(xPrice, Length);
xe2 = ema(xe1, Length);
xe3 = ema(xe2, Length);
xe4 = ema(xe3, Length);
xe5 = ema(xe4, Length);
xe6 = ema(xe5, Length);
b = 0.7;
c1 = -b*b*b;
c2 = 3*b*b+3*b*b*b;
c3 = -6*b*b-3*b-3*b*b*b;
c4 = 1+3*b+b*b*b+3*b*b;
nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3;
plot1(nT3Average,"T3",lime);
안녕하세요
예스스탁입니다.
input : Period(20),multiple(2);
var : base(0),upper_band(0),downtrend(0),lower_band(0),uptrend(0);
var : Emav(0);
base=(H+L)/2;
upper_band=base + atr(period)*multiple;
lower_band=base - atr(period)*multiple;
if lowest(upper_band,period)[1]>upper_band Then
downtrend=upper_band;
if highest(lower_band,period)[1]<lower_band Then
uptrend=lower_band;
Emav = Ema(C,120);
var1 = iff(Emav<c,uptrend,downtrend);
Plot1(downtrend);
Plot2(uptrend);
Plot3(var1);
즐거운 하루되세요
아래 수식에서 박스로 수식 요청 드립니다.
즉 수직선 줄을 우측 으로 30봉 까지 박스 형태로 그리고 싶습니다.
(색상 : 회색 채우기) 선두께 : 2
var26 = ma(c,5) ;
var40 = ma(c,10) ;
if CrossUp(Var26,VAR40) Then
{
PlotPaintBar((C+L)/2-PriceScale*20,(C+L)/2-PriceScale*30 ,"강조",Rgb(255,0,0),Def,5);
}
* 좋은 주말 되시고 건강 하세요^^
2024-08-07
1455
글번호 177291
답변완료
변환 부탁드립니다
종목검색식으로 변환부탁드려요
A=(c-bbandsdown(period,d1))/(bbandsup(period,d1)-bbandsdown(period,d1))*100;
crossup(A,0)
지표설정
period:60
d1:3
2024-03-08
1176
글번호 177290
답변완료
수식변환요청드립니다
예스스탁사용한지 며칠되지않아서 몇군데가 잘되지 않아서 변환요청드립니다
A=ADX(11);
B=SUM(V*((POW((C-L),2)-POW((H-C),2))/(H-L)));
BB=BBANDSUP(10,2);
en=envelopeup(10,2);
S=(HIGHEST(HIGH,26)+LOWEST(LOW,26))/2;
대금=V*(H+O+L+C)/4;
X=SUM(V);
Y=VALUEWHEN(1,DATE(1)!=DATE,X(1));
Z=X-Y;
전거래량=VALUEWHEN(1,DATE(1)!=DATE,Z(1));
HIGHEST(H,3,1)<=C && MA(C,5)>MA(C,20) &&
MA(C,20)>MA(C,60) && BB>EN && C>BB &&
A>A(1) && C>S && B>=B(1) && V>V(1)*P &&
(대금>3000000000 && SUM(V)>전거래량)
2024-03-08
1208
글번호 177289
답변완료
수식 변환좀 갈켜주세요~
키움수식인데 변환좀 가르쳐 주세요..
a=BBandsUP(20,2);
b=a(20);
CrossUp(c,b)
2024-03-08
1268
글번호 177288
답변완료
중복되는 구간 신호 알람 부탁드림니다.
안녕하세요
예스스탁입니다.
input : P(20),a(100),b(1000);
var1 = ma(C,P);
if b >= var1 and var1 >= a Then
Plot1(1);
Else
Plot1(0);
즐거운 하루되세요
> 빌더 님이 쓴 글입니다.
> 제목 : 수식 부탁드림니다.
> 20 이평선이 있고...
a 값보다 크고 b 값보다 작은 범위를
막대 그래프로 표시하고 싶습니다.
수식 부탁드림니다.
----------------------------------------
여기까지 이전에 드린 질문입니다.
위에 질문드린 범위를 구하는 과정을
기본차트는 1분봉이고
data2는 기본차트와 같은 종목 5분봉,
data3는 기본차트와 같은 종목 10분봉에
각각 적용을 시킨후에
세개의 차트에서 중복되는 범위를 구해서
기본차트에 표시와 함께 알람이 뜨도록 만들고 싶습니다.
중복되는 부분이 세개의 차트에서 2군데이면 2개라는 신호와 음성알람이 발생하고
중복되는 부분이 3군데이면 3개라는 신호와 음성알람이 발생하게 하고 싶습니다.
수식 부탁드리겠습니다.
2024-03-08
887
글번호 177287
magic208 님에 의해서 삭제되었습니다.
2024-03-08
0
글번호 177286