커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5424
글번호 230811
답변완료
수식부탁드립니다.
이전의 3개 양봉캔들을 음봉으로 3개중 최저가를 전봉보다 거래량 상승하면서 돌파시 매도 매도들어간 음봉의 시가 돌파시 손절 익절 30틱 부탁드립니다. 매수는 그 반대로 수식부탁드립니다.
그리고 손절시 스위칭(매도에서바로매수) 되게 하는 수식도 부탁드립니다.
2020-03-25
571
글번호 137187
답변완료
파라볼릭 돌파식 수정 문의
Input : af(0.02), maxAF(0.2);
Var : value(0),T(0),S(0);
value = sar(af,maxAF);
If crossup(c,value) Then
{
T = 1;
S = value[1];
}
If CrossDown(c,value) Then
{
T = -1;
S = value[1];
}
if T == 1 and C > S Then
{
buy();
T = 2;
}
if T == -1 and C < S Then
{
sell();
T = -2;
}
파라볼릭 돌파 시스템 식을 문의를 통해 답변 받은 식입니다.
이 시스템을
제가 참조데이터로 data2, data3을 사용하는 식에 녹여보려 하는데 원하는 시스템이
나오지 않아 문의 드립니다.
각 변수에 데이터번호를 추가 하라고 하셔서 수정 해 봤는데요
Input : af(0.02), maxAF(0.2);
Var : value(0,data1),T(0,data1),S(0,data1);
value = data1(sar(af,maxAF));
If crossup(data1(c),value) Then
{
T = 1;
S = value[1];
}
If CrossDown(data1(c),value) Then
{
T = -1;
S = value[1];
}
if T == 1 and data1(c) > S Then
{
buy();
T = 2;
}
if T == -1 and data1(c) < S Then
{
sell();
T = -2;
}
1. input에는 데이터번호를 추가하지 않아도 되나요?
2. T와 S에 데이터번호를 추가하지 않아도 되나요?
3. T=2 와 T=-2의 역할은 무엇인가요?
2020-03-25
605
글번호 137183
답변완료
50프로매매
가진돈의절반을 주식을매수하여
50%주식보유와 50%현금보유를 이용하여
50%보유주가가10%상승하면 상승분의절반을매도 또10%상승시 절반매도 반복하여진행하고
주가가10%하락하면 현금에서하락분의 절반을매수 하고 또10%하락시하락분의절반매수반복한다.
즉 항상 주식50%와 현금을 50%로 균형을유지합니다.
주가가10%등락시 마다 매매를하여 주가와 현금을 반반씩 맞추는것입니다.
감사합니다.
2020-03-25
554
글번호 137182
답변완료
안녕하세요
stdevLength = input(title="Standard Deviation Length", type=integer, defval=21)
rviSmoothLength = input(title="RVI Smoothing Length", type=integer, defval=14)
smoothLength = input(title="Inertia Smoothing Length", type=integer, defval=14)
rviOriginal(src, stdevLength, smoothLength) =>
stdev = stdev(src, stdevLength)
upSum = ema(change(src) >= 0 ? stdev : 0, smoothLength)
downSum = ema(change(src) >= 0 ? 0 : stdev, smoothLength)
100 * upSum / (upSum + downSum)
rvi = avg(rviOriginal(high, stdevLength, rviSmoothLength), rviOriginal(low, stdevLength, rviSmoothLength))
inertia = linreg(rvi, smoothLength, 0)
inertiaColor = inertia > 50 ? #0ebb23 : red
plot(inertia, title="Inertia", linewidth=2, color=inertiaColor, transp=0)
hline(30, title="Middle Level", linestyle=dotted)
변환문의드려도 될지요
감사합니다.
2020-03-25
595
글번호 137181
답변완료
수식 문의드립니다
안녕하세요
수식 문의 드립니다
1). 20 개의 캔들에서
20 Ma의 상승폭보다
60 Ma의 상승폭이 크면 청산한다
부연하면
20 Ma의 상승폭 < 60 Ma의 상승폭
= = 청산한다
감사합다
건강하세요 !!!
2020-03-25
590
글번호 137178
답변완료
문의드립니다
안녕하세요?
아래1번수식의 점을 빨강과파랑색으로
2번수식의선을 기울기에따라 빨강과파랑으로 표현되기를 원합니다
감사드립니다
1.
input : N(5);
if SwingHigh(1,h,N,N,N*2+1) != -1 Then{
plot1(H[N]);
}
if SwingLow(1,L,N,N,N*2+1) != -1 Then{
plot1(L[N]);
}
2.
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);
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;
plot1(out,"FRAMA",red);
}
2020-03-24
681
글번호 137177
답변완료
문의 드립니다.
다름이 아니오라...
시스템을 적용하면
신호가 나올시 아래쪽에 작은 박스로 시스템 매매가 되었나다는 창이 나오는데...
그것이 안나오게 하거나 다른 방향쪽에 나오게 할수는 없는지 여쭈어 봅니다.
2020-03-24
629
글번호 137176
답변완료
수식 수정 요청드립니다
수고하십니다.
아래 2번 지표식을 1분봉에서 사용하는 경우,
전일 가격에 영향받지 않고 당일 시가 이후의 가격에 의해서만 그려지게
수식을 수정해 주시면 고맙겠습니다.
수고하세요..
///////////
안녕하세요
예스스탁입니다.
1. 함수명 : SuperTrend
inputs: ATRLength(NumericSimple), ATRMult(NumericSimple), Strength(NumericSimple), STrend(NumericRef);
vars: ATR(0), avg(0), dn(0), up(0), trend(1), flag(0), flagh(0), ST(0),hl(0);
hl = Highest(High, ATRLength) - Lowest(Low, ATRLength);
ATR = ema(hl, ATRLength);
avg = (ema(high, Strength) + ema(low, Strength))/2;
up = avg + ATR;
dn = avg - ATR;
if c > up[1] and c > Highest(High, Strength)[1] then trend = 1;
else if c < dn[1] and c < Lowest(Low, Strength)[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 dn < dn[1] then dn=dn[1];
if trend < 0 and up > up[1] then up=up[1];
if flag = 1 then up = avg + ATR;
if flagh = 1 then dn = avg - ATR; if trend = 1 then ST = dn; else ST = up;
SuperTrend = ST;
STrend = trend;
2, 지표
inputs: ATRLength(14), ATRMult(1), Strength(9);
vars: strend(0),st(0);
st = SuperTrend(ATRLength, ATRMult, Strength, strend);
Plot1(st,"Up");
Plot2(st,"Down");
Plot3(st,"SuperTrend",iff(strend == 1,red,blue));
2020-03-24
1037
글번호 137175
답변완료
당일20봉돌파신호
1.당일 첫번째봉 부터 20번째봉까지의 최고가
2.당일 첫번째봉 부터 20번째봉까지의 최저가
당일 첫번째봉 부터 20번째봉까지의 최고가 가격을 20이동평균선이 상향돌파시 매수
당일 첫번째봉 부터 20번째봉까지의 최저가 가격을 20이동평균선이 하향돌파시 매도
수식 작성 부탁드립니다.
2020-03-24
597
글번호 137174