커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5451
글번호 230811
답변완료
문의드립니다.
// INPUTS //
st_mult = input(2, title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(14, title = 'SuperTrend Period', minval = 1)
// CALCULATIONS //
up_lev = hl2 - (st_mult * atr(st_period))
dn_lev = hl2 + (st_mult * atr(st_period))
len = input(20)
//DI+ and DI-
upz = change(up_lev)
down = -change(dn_lev )
trur = rma(tr, len)
plus = fixnan(rma(upz > down and upz > 0 ? upz : 0, len) / trur)
minus = fixnan(rma(down > upz and down > 0 ? down : 0, len) / trur)
sum = plus + minus
adx = rma(abs(plus - minus) / (sum == 0 ? 1 : sum), len)
di = plus - minus
x=adx-di*100
zz=x/-1
plot(zz, linewidth=2)
plot(0,color=color.black)
//
showZones = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule:
bullishRule = zz > 0
// bearish signal rule:
bearishRule = zz <= 0
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ruleState == 1 ? color.blue : ruleState == -1 ? color.red : color.gray : na, title=" Bullish/Bearish Zones", transp=90)
도움주셔서 감사드립니다.
좋은 하루되세요
2020-05-22
2541
글번호 139116
답변완료
수식전환 부탁요
키움수식을 예스 지표수식으로 전환부탁드립니다
<a>
수식1
A=If(ATR(sp)>eavg(ATR(Lp),sigp),
If(sar(af,maxaf)<C,2,1),
If(sar(af,maxaf)>C,-2,-1));
B=crossup(A,0);
B1=crossdown(A,0);
B2=crossup(A,-2);
B3=crossdown(A,2);
D=valuewhen(1, b or b1 or b2 or b3, o);
d1=crossup(c,D);
d2=crossdown(c,D);
G=valuewhen(1, d1 or d2, o);
g1=crossup(c,G);
g2=crossdown(c,G);
valuewhen(1, g1 or g2 , o)
수식2
A=HIGHEST(LOWEST(L,P1)+ATR(P1),P2);
B=LOWEST(HIGHEST(H,P1)-ATR(P1),P2);
D=(A+B)/2;
d1=crossup(c,D);
d2=crossdown(c,D);
E=valuewhen(1, d1 or d2,o)
지표조건설정
sp 4/ lp 10/ sigp 7/ af 0.02/ maxaf 0.2
p1 5/ p2 8
<b>
수식1
A=Bbandsup(period,D1);
B=Bbandsdown(period1,D2);
a1=crossup(c,A);
a2=crossdown(c,A);
b1=crossup(c,B);
F=valuewhen(1, a1 or a2 or b1, o);
f1=crossup(c,F);
f2=crossdown(c,F);
G=valuewhen(1, f1 or f2 , o);
g1=crossup(c,G);
g2=crossdown(c,G);
valuewhen(1, g1 or g2, o)
수식2
HH=highestsince(1,date!=date(1),H);
LL=Lowestsince(1,date!=date(1),L);
중심선=(HH+LL)/2;
A=(HH-LL)*0.236;
B=중심선+ A*0.236;
D=중심선- A*0.5
b1=crossup(c,B);
b2=crossdown(c,B);
d1=crossup(c,D);
d2=crossdown(c,D);
G=valuewhen(1, b1 or b2 or d1 or d2, o);
g1=crossup(c,G);
g2=crossdown(c,G);
valuewhen(1, g1 or g2, o)
지표조건설정
period 3/ period1 5/d1 2/d2 2.4
2020-05-22
2808
글번호 139115
답변완료
부탁드립니다.
다음 수식을 예스지표로 전환부탁드립니다.
1.거래량
수식1
BT3=V(1)+V(2)+V(3)/3;
BT3<V
수식2
BT5=V(1)+V(2)+V(3)+V(4)+V(5)/5;
BT5<V
수식3
BT7=V(1)+V(2)+V(3)+V(4)+V(5)+V(6)+V(7)/7;
BT7<V
수식4
BT10=V(1)+V(2)+V(3)+V(4)+V(5)+V(6)+V(7)+V(8)+V(9)+V(10)/10;
BT10<V
조건설정 없음
2.등분선(양봉)
수식1
조건1=eavg((C-C(1))*V/C,SPeriod);
조건2=C>C(1)+C(1)*종가비율 && 조건1>조건1(1)+조건1(1)*FI비율;
if(C>O&&조건2,(C-O)/4+O,0);
수식2
if(C>O&&조건2,(C-O)/2+O,0);
수식3
if(C>O&&조건2,(C-O)/4*3+O,0);
지표조건설정 0.2
fi비율 1
speriod 1
3.등분선(음봉)
수식1
조건1=eavg((C-C(1))*V/C,SPeriod);
조건2=C<C(1)+C(1)*종가비율 && 조건1>조건1(1)+조건1(1)*FI비율;
if(C<O&&조건2,(C-O)/4+O,0);
수식2
if(C<O&&조건2,(C-O)/2+O,0);
수식3
if(C<O&&조건2,(C-O)/4*3+O,0);
지표조건설정 0.2
fi비율 1
speriod 1
2020-05-22
1962
글번호 139114
답변완료
피봇분봉 수식 점검 부탁드립니다.
아래의 수식은 일전에 수정해 주신 피봇분봉을 이용한 수식입니다.
추가로 R2 위로 한칸, S2 아래로 한칸 더 매매 되도록 하고 싶은데
이래저래 수정을 해보아도 시그널이 생성되질 않네요.
즉, R3와 S3를 만들고 싶습니다.
R2 위로 var1만큼 한칸
S2 밑으로 var4만큼 한칸 이렇게 한줄이 더 있으면 좋겠네요.
점검해 보시고 고견 좀 부탁드립니다.
- 아 래 -
input : n(1);
var : Pivot(0),R1(0),R2(0),S1(0),S2(0),t(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
var1 = (R1+R2)/2;
var2 = (Pivot+R1)/2;
var3 = (Pivot+S1)/2;
var4 = (S1+S2)/2;
if crossup(C,R2+PriceScale*n) Then
T = 9;
if crossup(C,var1+PriceScale*n) Then
T = 8;
if crossup(C,R1+PriceScale*n) Then
T = 7;
if crossup(C,var2+PriceScale*n) Then
T = 6;
if crossup(C,Pivot+PriceScale*n) Then
T = 5;
if crossup(C,var3+PriceScale*n) Then
T = 4;
if crossup(C,S1+PriceScale*n) Then
T = 3;
if crossup(C,var4+PriceScale*n) Then
T = 2;
if crossup(C,S2+PriceScale*n) Then
T = 1;
if CrossDown(C,R2-PriceScale*n) Then
T = -9;
if CrossDown(C,var1-PriceScale*n) Then
T = -8;
if CrossDown(C,R1-PriceScale*n) Then
T = -7;
if CrossDown(C,var2-PriceScale*n) Then
T = -6;
if CrossDown(C,Pivot-PriceScale*n) Then
T = -5;
if CrossDown(C,var3-PriceScale*n) Then
T = -4;
if CrossDown(C,S1-PriceScale*n) Then
T = -3;
if CrossDown(C,var4-PriceScale*n) Then
T = -2;
if CrossDown(C,S2-PriceScale*n) Then
T = -1;
if Tcond == true and Xcond == false then
{
if T != T[1] and
T >= 0 and T[1] <= 0 Then
Buy("매수");
if T != T[1] and
T <= 0 and T[1] >= 0 Then
Sell("매도");
}
2020-05-22
1947
글번호 139113
답변완료
부탁 드립니다.
1)변환부탁 드립니다.
R1=C-C(1);
R2=C(1)*K/100;
R4=FLOOR(ABS(R1)/R2);
R5=IF(R1>0,R4,-R4);
R6=SUM(R5);
AA=IF(R6<0,R6,0);
BB=IF(R6>0,R6,0);
CC=HIGHESTSINCE(1,R6>R6(1),IF(R6>0 OR R6<R6(1),0,R6));
DD=LOWESTSINCE(1,R6<R6(1),IF(R6<0 OR R6>R6(1),0,R6));
EE=IF(AA<0,AA,IF(BB>0,BB,IF(CC>0,CC<0,CC,IF(DD<0,DD,0))));
AVG(EE,PERIOD1);
2)타주기(틱봉용)으로 부탁 드립니다.
Input:Atime1(60),Period(20),sig(5);
var : S1(0),D1(0),TM(0),EP(0);
Var : TF1(0),idx1(0),emav1(0),Pre1(0);
Ep = 2/(Period+1);
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;
TF1 = TM%Atime1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and Atime1 <= 1 and TF1 > TF1[1]) or
(Bdate == Bdate[1] and Atime1 > 1 and TF1 < TF1[1]) Then{
idx1 = idx1+1;
Pre1 = emav1[1];
}
if idx1 <= 1 then
emav1 = C;
else
emav1 = C * EP + Pre1 * (1-EP);
Var1=c-emav1;
var2=ma(var1,sig);
}
plot1(var2);
PlotBaseLine1(0);
미리 감사 드립니다.
2020-05-24
1919
글번호 139112
답변완료
문의드립니다.
안녕하세요. 항상 수고 많으십니다.
문의내용>
매매회수를 외부 변수로 빼서 시뮬레이션 해보고 싶습니다.
매매회수 제한 수식 부탁드립니다.
감사합니다!
2020-05-22
1850
글번호 139111
답변완료
부탁드립니다
수고하십니다
아래수식 키움수식 MACD선 포함한 다바스박스수식 예스수식으로 부탁드립니다
*MACD선이 다바스박스 상,하단선을UP할때 봉하딘에 적색별표시,반대일때 봉상단에 청색별표시*
*수식1 MACD
MACD(12,26);
*수식2 ((MACD-하단선))
M=MACD(12,26);
LL=lowest(m,기간);
HH=highest(m,기간);
NL=valuewhen(1,m<LL(1),m);
Valuewhen(1,barssince(m<LL(1))==(기간-k),NL)
*수식3 ((MACD-상단선))
M=MACD(12,26);
LL=lowest(m,기간);
HH=highest(m,기간);
NL=valuewhen(1,m<LL(1),m);
Valuewhen(1,barssince(m<LL(1))==(기간-k),HH)
지표설정
기간 5 , K 2
2020-05-22
2289
글번호 139110
해피오 님에 의해서 삭제되었습니다.
2020-05-22
453
글번호 139109
답변완료
부탁드립니다
수고하십니나
67589번 재질문입니다
Value1,Value2 업,다운 할때 (업일때 양봉시가에 적색별표시,다운일때 음봉 시가에 청색별표시) 부탁드립니다
2020-05-22
1287
글번호 139108