커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7171
글번호 230811
답변완료
안녕하세요
번번히 부탁드려 죄송하고 감사합니다.
예스트레이더 수식으로 변경 문의드립니다.
//inputs
src = close
len = input(10, minval=1, title="Length")
sentiment = input(3, minval=1, title="Sentiment Factor")
smooth = input(3, minval=1, title="Smoothing")
vw = input(defval = true, title="Volume Weighted ?" )
step = input(title="Step", defval=5, maxval=50, minval=0, step=5)
//Calculations -- prefer to use wma
v = vw ? volume : 1
longlen = sentiment * len
up = wma(max(change(src)*v, 0), len)
down = wma(-min(change(src)*v, 0), len)
rsiraw= down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
rsiraw100 = rsiraw *2 -100
rsi = wma(rsiraw100, smooth)
longup = wma(max(change(src)*v, 0), longlen)
longdown = wma(-min(change(src)*v, 0), longlen)
longrsiraw= longdown == 0 ? 100 : longup == 0 ? 0 : 100 - (100 / (1 + longup / longdown))
longrsiraw100 = longrsiraw *2 -100
longrsi = wma(longrsiraw100, smooth)
longrsis = step > 0 ? round(longrsi/step) * step : longrsi
//Plot
//Plot levels and sentiment first, so the visual order is correct - doesn't cover the main plot
zeroline = hline(0, title = 'Zero Line', color=yellow, linestyle=line)
hline(40, title = 'Strong Up Level', color=green, linestyle = dotted)
hline(-40, title = 'Strong Down Level', color=red, linestyle = dotted)
plot(longrsis, title='Sentiment',style=area , transp=20, color=longrsis >=0 ? green : red , linewidth=2)
plot(rsiraw100, color=purple)
plot(rsi, title='K_RSI',style = line , transp=20, color= rsi >=0 ? aqua : orange , linewidth=2)
SignalDn = rsi < 0 and rsi[1] >= 0
plotshape(SignalDn, title = "Signal Down", style=shape.triangledown, location = location.top, transp = 20, size=size.small, color = red, offset = -1 )
SignalUp = rsi >=0 and rsi[1] < 0
plotshape(SignalUp, title = "Signal Up", style=shape.triangleup, location = location.bottom, transp = 20, size=size.small, color = green, offset = -1 )
감사합니다.
2020-02-12
451
글번호 135876
답변완료
부탁드립니다
수고하십니다
아래 수식을 예스수식 상승화살표)적색,하락화살표)청색,부탁드립니다
*상승 다이버전스
A=Lowest(c,14);
B= RSI(14);
A(1) >A && B(1) < B
위 수식은 14봉중 최저가는 하락하고, RSI(14)는 상승할때 신호를 나타내는 수식입니다.
* 하락 다이버전스
F = Highest(c, 14);
G = RSI(14);
F(1) < F && G(1) > G
위 수식은 14봉중 최고가는 상승하고, RSI(14)는 하락할때 신호를 나타내는 수식입니다.
2020-02-12
346
글번호 135869
오빠만세 님에 의해서 삭제되었습니다.
2020-02-12
7
글번호 135868
답변완료
지표문의 드립니다.
안녕하십니까.
아래 내용을 수식으로 표현했으면 합니다.
1. 직전봉과 현재봉이 있고
2. 직전봉의 고점에 비해 현재봉의 고점이 높다면 +1, 같다면 0, 낮다면 -1
3. 직전봉의 저점에 비해 현재봉의 저점이 높다면 +1, 같거나 0, 낮다면 -1
4. 표현되는 식은
2와 3을 더하고, 이를 누적시켜 표현하는 것입니다.
구현해보고 싶은 지표는, 저점과 고점을 높여가며 상승하는 추세인지, 그 반대인지를 지표로 보고 싶은 것입니다.
감사합니다.
2020-02-12
162
글번호 135865
답변완료
키움수식을 에스트레이더로 바꾸어주세요
첫번째
A1=wavg(2*wavg(C, Period/2) - wavg(C, Period), Sqrt(Period));
A2=wavg(2*wavg(H, Period/2) - wavg(H, Period), Sqrt(Period));
A3=wavg(2*wavg(L, Period/2) - wavg(L, Period), Sqrt(Period));
if(A3>A1, A1, A1-A3) - if(A1>A2, A1, A2-A1)
period 120
두번째
MP=(high+low)/2;
AO=MA(MP,short,이평방법)-MA(MP,long,이평방법)
이평방법 삼각
short 12
long 26
이수식을 예스식으로 부탁드립니다 감사합니다 복 많이 받으세요
2020-02-12
254
글번호 135864
바다사당 님에 의해서 삭제되었습니다.
2020-02-12
4
글번호 135863
답변완료
당일 하이로우 갱신
아래 수식 문의드립니다.
1. buy 수식
고점을 5회 갱신하고
저점을 3회 갱신한 후
다시 새로운 고점을 1회 갱신하면 buy
2. sell 수식
저점을 5회 갱신하고
고점을 3회 갱신한 후
다시 새로운 저점을 1회 갱신하면 sell
2020-02-12
251
글번호 135862
답변완료
함수 지도 요청 드립니다.
* 좋은 하루 되십시요.
* <요청사항 1 >
## 최고가 대비 비율(%) 구하는식
(100개봉 최고가 / 현재가 ) * 100
이것을 수식으로 좀 부탁 드립니다.
* <요청사항 2 >
* 마이너스 값 제외 하고 더하는 수식좀 부탁 드립니다.
아래 같은 데이타가 있을경우 (현재가격)
1,571.2
1,571.3 0.1
1,571.4 0.1
1,572.0 0.6
1,571.6 -0.4
1,571.9 0.3
1,571.8 -0.1
1,571.9 0.1
1,572.0 0.1
1,572.3 0.3
마이너스 부분은 제외 하고 계속 더하기 하는 차트좀 부탁 드립니다.
반대로 마이너스 부분만 더해주는 것도 부탁 드립니다.
즉 양수만 더해 주는 그래프 하나랑 음수만 더해주는 그래프 하나 합의 두개 입니다.
따로 따로 해주시면 고맙습니다.
* 수식은 C - C[1] 입니다.
## <요청사항 3 >
* 볼린저 밴드 폭이 좁을 경우 최상단폭과 최하단 폭이 20틱 이상일 경우만 적용
할려면 어떻게 수정 해야 하나요?
즉 가격이 상단 폭 이탈시 표시 하단이탈시 표시 (단 상,하단 차이가 20틱 이상일때만 적용)
var : TX1(0);
input : P(20),dv1(1),dv2(2),dv3(3);
var : BBmd(0),BBup1(0),BBup2(0),BBup3(0),BBdn1(0),BBdn2(0),BBdn3(9);
BBup3 = BollBandUp(P,dv3);
BBup2 = BollBandUp(P,dv2);
BBup1 = BollBandUp(P,dv1);
Bbmd = ma(c,P);
BBdn1 = BollBandDown(P,dv1);
BBdn2 = BollBandDown(P,dv2);
BBdn3 = BollBandDown(P,dv3);
plot1(BBup3);
plot2(BBup2);
plot3(BBup1);
plot4(BBmd);
plot5(BBdn1);
plot6(BBdn2);
plot7(BBdn3);
If c > BBup3 and c < BBdn3 Then
{
Tx1 = Text_New(sdate,stime, H, "●" ); Text_SetColor(Tx1,BLACK); Text_SetSize(tx1,20); Text_SetStyle(tx1,2,0);
}
* 고맙습니다.
2020-02-12
390
글번호 135861
답변완료
기초수식~~문의드립니다
안녕하세요~~
초보적인 문의드립니다
예를들어~~
아래처럼 수식에서(이평이름!을) 가능하면 한글!로 사용하고싶은데요~~
예시~(1)과 달리 예시~(2)처럼~~~(ver)선언!!을 2중으로 다시해야되는지요?
그리고 (1)과 (2)의 차이점을 설명해주시면~~~
앞으로의 수식!작성시 기초로 도움되겠읍니다
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
예시-(1)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
input : 단기(5),중기(20),장기(60),일봉(120);
if ma(C,단기) > ma(C,중기)[100] Then
buy("매수진");
if ma(C,단기) < ma(C,중기)[100] Then
Exitlong("매수청");
if ma(C,단기) < ma(C,중기) and ma(C,장기) < ma(C,일봉) Then
Sell("매도진");
if ma(C,단기) > ma(C,중기) and ma(C,장기) > ma(C,일봉) Then
ExitShort("매도청");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
예시~~(2)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
input : 단기(5),중기(20),장기(60),일봉(120);
var : 단기이평(0),중기이평(0),장기이평(0),일봉이평(0);
단기이평 = ma(c,단기);
중기이평 = ma(c,중기);
장기이평 = ma(c,장기);
일봉이평 = ma(c,일봉);
if ma(C,단기이평) > ma(C,중기이평) Then
buy("매수진");
if ma(C,단기이평) < ma(C,중기이평) Then
Exitlong("매수청");
if ma(C,단기이평) < ma(C,중기이평) and ma(C,장기이평) < ma(C,일봉이평) Then
Sell("매도진");
if ma(C,단기이평) > ma(C,중기이평) and ma(C,장기이평) > ma(C,일봉이평) Then
ExitShort("매도청");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
예시~~(2)처럼~~
아래 이부분을 선언!을 다시 해주어야하는지요?~~차이점?설명부탁드립니다
var : 단기이평(0),중기이평(0),장기이평(0),일봉이평(0);
단기이평 = ma(c,단기);
중기이평 = ma(c,중기);
장기이평 = ma(c,장기);
일봉이평 = ma(c,일봉);
2020-02-11
527
글번호 135860