커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1421
글번호 230811
답변완료
문의드립니다.
늘 고맙습니다.
# true와 false 사용법에 대해 알고 싶습니다.
(이평5>이평20) != true
위와 같이 하나의 조건이 맞나 안맞나는 되는데요. 조건이 더 생기면 어렵네요.
(이평20>이평5>이평60>이평120) 이 조건이 true인 경우
(이평20>이평5>이평60>이평120) 이 조건이 true가 아닌 경우
수식을 어떻게 만들어야 하나요?
# 위치 찾기
HH위치 = NthHighestBar(1,H,100);
100캔들의 최고점 위치를 위와같이 찾았는데요.
예를 들어 현재봉부터 지난 N캔들동안 100캔들의 고점을 돌파한 적이 없다가 N1캔들전에 처음으로 100캔들의 고점을 돌파했었고, 그 뒤로 고점을 경신한 캔들이 N2번 나왔어요.
여기서 N1과 N2를 찾는 수식을 알고 싶습니다.
## 청산식에서 구분짓고자 합니다.
# 진입후 3캔들내 100캔들의 고점을 돌파하고 100캔들 고점돌파이후 5캔들이 모두 양봉이라면, 음봉이 나오고 그 음봉이 최종 양봉의 저가를 이탈하면 청산
# 진입후 100캔들의 고점을 돌파했으면
1. 60이평을 이탈하면 청산한다.(완성봉 청산과 이탈즉시 청산식을 별도로 알고싶습니다. onclose 사용법을 아직 잘 모르는거 같습니다.)
2. 20이평을 종가로 이탈했는데 다시 100캔들의 고점을 돌파하면, 20이평을 이탈하면 청산
3. 강제청산(익청)
# 진입후 30캔들내 100캔들의 고점은 돌파못하고 120이평만 돌파했다면
1. +10 수익중이면 바로 청산
2. 60이평 이상이면 청산
3. 강제청산(손절)
# 진입후 최대손실이 -20 이상이었다면
1. 본청한다.
#차트에 전일고가와 전일 저가를 나오게 하면 캔들이 아주 작아져 버리는데요.
현재 캔들의 위치에 비해 과도하게 위나 아래에 위치한 선들을 캔들이 그 선 근처까지 가기전까지는 나오지 않게 하는 방법이 있나요?
2024-04-29
891
글번호 178998
답변완료
지표 숫자가 맞지 않아서 질문드립니다.
수고많으십니다.
다름이 아니라 코딩한 숫자와 지표에 표시된 숫자가 맞지 않아 질문드립니다.
코딩은 다음과 같습니다.
Input : period1(20),period2(120);
var1=ma(c,period1);
var2=ma(c,period2);
var3=var1-Var2;
if var3 > 0 && Var3 > Var3[1] Then
Plot1(Var3,"11",Purple);
if var3 > 0 && Var3 < Var3[1] Then
Plot1(Var3,"11",Gray);
if var3 > 0 && Var3 == Var3[1] Then
Plot1(Var3,"11",Gray);
if var3 < 0 && Var3 < Var3[1] Then
Plot1(Var3,"11",Green);
if var3 < 0 && Var3 > Var3[1] Then
Plot1(Var3,"11",Gray);
PlotBaseLine1(0);
=============================================================
질문 : 첨부된 그림파일을 참고하시면
코딩은 20이평에서 120이평을 차감하여 차액을 지표로 나타내는 코딩인데
20이평은 0.6521
120이평은 0.6512
20이평 - 120이평은 0.0015로 지표에 표시 되어야 할 것같은데
지표상에서는 -0.00012 로 표시가 됩니다.
원인이 무엇인지 궁금합니다.
수고하세요
2024-04-28
1058
글번호 178997
답변완료
라인을 그어주세요
1.아래 수식에서 라인을 나타나게 하고 싶습니다.
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));
if turn==1 or turn==-1 Then
value =라인;
2.수식전환 부탁드립니다.
수식1
현재봉=if(L>H(2),L,if(H<L(2),H,0));
A=Valuewhen(1,L>H(2) or H<L(2),현재봉,-2)
수식2
이전봉=if(L>H(2),H(2),if(H<L(2),L(2),0));
B=Valuewhen(1,L>H(2) or H<L(2),이전봉,-2)
수식3
MIN(A,B)
2024-04-28
923
글번호 178996
답변완료
검토 부탁드립니다
사용자 함수를 만들고 싶은데 방법을 몰라서 글 남깁니다..
첨부파일 보시면 우선
1. 사용자 함수 -> 숫자형으로 시작을 했고요
2.FFF 라는 함수를 만들었고
3. FFF(filter)에서 filter의 숫자 변경에 따라서 내용을 불러오는 방식으로 만들고 싶습니다.
4. 시스템을 만들때 예를들면
INPUT:Filter(0);
IF FFF(filter)=True or False Then { 매수 또는 매도 수식}
이런식으로 사용해보고 싶습니다.
2024-04-28
771
글번호 178994
답변완료
문의드립니다
nextbarsdate<>sdate 이런식으로 일의 마지막봉을 표현하는 것처럼
일주일의 마지막이 금요일이 아닌 경우도 있기 때문에
일주일의 마지막 봉을 표현하는 법을 알려주시면 감사하겠습니다.
2024-04-27
811
글번호 178993
답변완료
강조 수식
안녕하세요.
거래량 차트에서
1) 전봉대비 거래량 1000%이상 증가 and 거래대금 1000억원 이상 ==> 검은색 배경 막대그래프
2) 전봉대비 거래량 500%~1000% 증가 and 거래대금 1000억원 이상 ==> 파란색 배경 막대그래프
3) 전봉대비 거래량 1000%이상 증가 and 거래대금 500억원 이하 ==> 흰색 배경 막대그래프
로 나타내고 싶습니다.
혹시 거래량 차트에 표시가 안되면... 메인 차트에 강조 표시하는 방법으로 부탁 드립니다.
강조 수식 부탁 드립니다.
늘 감사히 공부하고 있습니다.
2024-04-29
919
글번호 178992
답변완료
검색식 부탁드립니다
1. 일주기 10봉 이내에서 전일종가대비 당일고가 20% 이상 1회이상(기준봉)
1-1. 당일 9시15분에서 9시30분사이의 최고주가(a)가 기준봉 전일 9시15분에서 9시30분사이의 최고주가*1.20 보다 높을것(a>b*1.20)
2024-04-27
786
글번호 178991
답변완료
문의드립니다.
안녕하세요.
상한가 이후에 고점을 찍고 5일 이평선을 하락돌파, 상승돌파, 다시 하락돌파하는 하는 종목을 매수하는 식입니다.
항상 감사드립니다.
좋은 하루 보내세요.
* 30봉이내 최고가인 거래대금이 5백억원 이상인 상한가 출현(index1)
* 이후 봉에서 고가가 더 높으면 고가 갱신(index2)
* 저가상 5일선 이탈(index3)
* 이후 고가가 5일선 돌파(index4) // 돌파 후 최고가가 이탈 전 최고가를 넘으면 안됨, 넘은 경우 5일선 이탈-돌파-이탈이 다시 발생해야함
* 이후 저가가 5일선 재이탈(index5)
* 저가가 60일선 이상에 존재 // index1 이후에 저가가 60일선 밑으로 내려오면 안됨
* 60일선에서 매수
- 고점 이후 30일 이내에 매수,
- 5일선 돌파할 때 전저점 대비 매수가격이 10%이상 낮아야함
2024-04-27
829
글번호 178990
답변완료
수식 부탁드립니다.
안녕하세요 수고에 감사드립니다.
아래는 제가 트레이딩뷰에서 사용하는 지표인데요
예스랭귀지로 변환가능한지 여쭙습니다.
상승부분은 빨간색, 하락부분은 파란색으로
구현 가능하면 변환 부탁드립니다.
이미지도 첨부했습니다.
늘 감사드립니다.
// © Dreadblitz
//@version=4
//
study("Bollinguer sobre Macd", shorttitle = "BSM", overlay=false)
SDev = 0.0
banda_supe = 0.0
banda_inf = 0.0
rapida = input(8, "Media Rapida")
lenta = input(26, "Media Lenta")
stdv = input(0.8, "Stdv")
m_rapida = ema(close,rapida)
m_lenta = ema(close,lenta)
BBMacd = m_rapida - m_lenta
Avg = ema(BBMacd,9)
SDev := stdev(BBMacd,9)
banda_supe := Avg + stdv * SDev
banda_inf := Avg - stdv * SDev
pcol = BBMacd < banda_inf ? #FF0000 : BBMacd > banda_supe ? #008000 : color.blue
c=plot(BBMacd, title='Linea Macd BB"', color=pcol, linewidth=2, style=plot.style_line, transp=0)
a=plot(banda_supe, title='Banda Superior"', color=#00BFFF, linewidth=1, style=plot.style_line, transp=30)
b=plot(banda_inf, title='Banda Inferior"', color=#00BFFF, linewidth=1, style=plot.style_line, transp=30)
fill(a, b, color=#00BFFF)
pcol1 = BBMacd < banda_inf ? #FF0000 : na
fill(c, b, color=pcol1, transp=50)
pcol2 = BBMacd > banda_supe ? #008000 : na
fill(c, a, color=pcol2, transp=50)
//
2024-04-27
1006
글번호 178989