커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3669
글번호 230811
답변완료
지표 질문입니다
아래 수식의 지표 값을 표출된 선 옆에 숫자로 표시되도록 수정 부탁드립니다
감사합니다
------------------------------------------------------------------
if sTime < 093000 Then
{
input : Period(20),dv(2);
var : BBup(0),BBmd(0),BBdn(0),A(0),B(0);
BBup = BollBandUp(Period,dv);
BBmd = ma(c,Period);
BBdn = BollBandDown(Period,dv);
if Bdate != Bdate[1] Then
{
A = bbup;
B = bbdn;
}
if A > 0 and bbup > A Then
A = bbup;
if B > 0 and bbdn< B Then
B = bbdn;
Plot1(A,"H");
plot2(B,"L");
Plot3(A+(A-B),"HL");
plot4(B-(A-B),"LH");
}
Else
{
NoPlot(1);
NoPlot(2);
NoPlot(3);
NoPlot(4);
}
2024-12-17
591
글번호 186370
답변완료
종목 검색식 정합성 검토 부탁드립니다
이전에 키움 신호수식을 예스트레이더 종목 검색식으로 변환하는 질의를 드려
아래와 같이 예스트레이더 종목검색식 답변을 받았습니다.
그런데 신호수식과 종목검색식에서 검색한 종목이 불일치합니다
즉 종목목색식에서 검색된 종목이 신호수식에서 해당이 안되는 종목이 검색됩니다
예스트레이더 종목검색식중 아래부분이 문제인거 같은데
★a2 = a1[1];
★a3 = a2[1];
종목검색식의 정합성을 다시한번 검토 부탁드립니다.
[키움 신호수식]
S=Sum(1);
M5=Ma(C, 5);
M20=Ma(C, 20);
a = M5 > M5(1) && M5(1) < M5(2);
b = CrossDown(M5, M20);
b1 = Valuewhen(1, b, S);
a1 = Valuewhen(1, a, S);
a2 = Valuewhen(2, a, S);
a3 = Valuewhen(3, a, S);
d = CrossUp(M5, M20);
e = Valuewhen(1, d, S);
조건 = a3<b1 && b1 < a2 && a2< a1 && a < e;
조건 && !조건(1)
[예스트레이더 검색식]..답변주신 검색식
var : S(0),M5(0),M20(0),a(False),b(False),d(False),조건(False);
var : b1(0),a1(0),a2(0),a3(0),e(0);
S=Accum(1);
M5=Ma(C, 5);
M20=Ma(C, 20);
a = M5 > M5[1] && M5[1] < M5[2];
b = CrossDown(M5, M20);
if b == true Then b1 = S;
if a == true Then
{
a1 = S;
a2 = a1[1];
a3 = a2[1];
}
d = CrossUp(M5, M20);
if d == true Then e = S;
조건 = a3<b1 && b1 < a2 && a2< a1 && a1 < e;
if 조건 && 조건[1] == False Then Find(1);
2024-12-17
588
글번호 186369
답변완료
검토 부탁드려요
알려주신 평균 수식 적용해봤는데요,,
사진에서처럼
크로스업 했을때 그 봉이 골드발생이후 최고점이라면, (파란색선은 hh 갱신라인)
요청한바에 따르면 크로스업 했을때가 최고지점이기 때문에 그 봉까지만 평균을 계산해야하는데요
{질문내용:: 골드부터 마지막 고점 (최고점) 이전까지 포함된 모든 봉들 (고가갱신봉+ 해당 안되는 봉들) 의 고가 평균도 구해서 crossdown 할때 나타내고 싶습니다}
크로스다운 (cyan)에서도 최고가와 같은 값이 나와야되는데 (고가갱신봉이 골드 기준 첫봉이고 하나밖에 없기에 1로 나눠 평균이 곧 같은 값)
다르게 나오네요
아래는 수식 전문입니다
var: p1(0),p2(0);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var: tlup(0),tldown(0);
var : sumv1(0),sumi1(0),mav1(0),ii(0),hi(0),mav2(0),sum1(0),sum2(0),sum3(0),lmav(0);
p1=10;
p2=30;
m1 = ma(C,P1);
m2 = ma(C,P2);
# Plot1(m1);
# plot2(m2);
if CrossUp(m1,m2) Then
{
tlup=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
TL_SetColor(tlup,Red);
#TL_SetDrawMode(tlup,1);
#TL_SetSize(tlup,1);
T = 1;
hh = h;
ll = l;
#초기화
sumv1 = H;
sumi1 = 1;
sum3=0;
#골드구간 봉갯수 초기값 0
ii = 0;
}
if CrossDown(m1,m2) Then
{
T = -1;
tldown=TL_NEW(sDatE,sTimE,0,sDatE,sTimE,999999);
TL_SetColor(tldown,Blue);
ii=0;
sum2=0;
Plot13(lmav,"hh",Cyan,Def,1);
}
if t==-1 Then
{
}
if t ==1 Then
{
#골드구간 봉갯수
ii = ii+1;
sum3=sum3+h;
if h >hh Then
{
hh = h;
sumv1 = sumv1 + h;
sumi1 = sumi1 + 1;
Lmav = sum3[1]/ii[1];
}
Plot17(hh,"hh",Blue,Def,1);
}
2024-12-17
617
글번호 186365
회원 님에 의해서 삭제되었습니다.
2024-12-17
334
글번호 186362
회원 님에 의해서 삭제되었습니다.
2024-12-17
8
글번호 186361
답변완료
수고하십니다. 키움수식을 파워종목 검색식 부탁드립니다
TH = avg(c,60);
TH1 = avg(c,120);
TH2 = avg(c,233);
TH2 > TH1 and
Crossup(TH,TH1)
감사합니다
2024-12-17
640
글번호 186356
답변완료
수식 작성 관련 문의 드립니다.
안녕하세요.
하나 더 질문 있습니다.
스토캐스틱 차트 시간에 따라 변동 되는게 아니라
1,3,5분 고정되어 3개가 한번에 하나의 차트에서 표시가 되도록 만들고 싶습니다.
수식 알려주시면 감사하겠습니다.
잘 부탁드립니다.
2024-12-17
633
글번호 186351
답변완료
수식문의
1. 15분봉 기준 27봉 이내에 종가가 한번이라도 돌파한경우
2024-12-17
623
글번호 186346
답변완료
부탁합니다
지난번 답변 주셔서 감사드립니다
여쭤보고싶은건
아래 수식에서
골드이후 마지막 고점 까지 고점갱신에 "해당되는" 봉들로만 평균을 구하는 수식 알려주셨는데요,
질문1) 골드부터 마지막 고점 (최고점) 이전까지 포함된 모든 봉들 (고가갱신봉+ 해당 안되는 봉들) 의 고가 평균도 구해서 crossdown 할때 나타내고 싶습니다
if t ==1 Then 이하에 이렇게 lmav 로 작성하면 될까요??? 이렇게 하면 최고점 까지 포함이 되는거죠?
ii = ii+1;
sum3=sum3+h;
if h >hh Then
{
hh = h;
sumv1 = sumv1 + h;
sumi1 = sumi1 + 1;
Lmav = sum3/ii[1];
}
원본 수식::
var: p1(0),p2(0);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var: tlup(0),tldown(0);
var : sumv1(0),sumi1(0),mav1(0);
p1=10;
p2=60;
m1 = ma(C,P1);
m2 = ma(C,P2);
if CrossUp(m1,m2) Then
{
tlup=TL_NEW(sDatE,sTimE,0,sDatE,sTimE,99999);
TL_SetColor(tlup,Red);
TL_SetSize(tlup,1);
T = 1;
hh = h;
ll = l;
#초기화
sumv1 = H;
sumi1 = 1;
}
if CrossDown(m1,m2) Then
{
T = -1;
tldown=TL_NEW(sDatE,sTimE,0,sDatE,sTimE,999999);
TL_SetColor(tldown,Cyan);
}
if t ==1 Then
{
#고점갱신
if h >hh Then
{
hh = h;
#고가 누적
sumv1 = sumv1 + h;
#횟수 누적
sumi1 = sumi1 + 1;
}
#골드구간 고점 갱신봉 평균값
mav1 = sumv1/sumi1;
if l < ll Then
ll = l;
Plot13(hh,"hh",blue,Def,1);
Plot14(sumi1,"sumi",Orange,Def,1);
}
질문2) 마지막 고점갱신 봉 위치가 골드구간봉수 전반보다 큰 수식인데요
if hi > ii/2 then
이부분의 hi 값을 (마지막 고점갱신 봉) 규정하는 내용이 없는거 같아서
혹시 내용이 빠졌나해서 여쭤보고 싶습니다
var: p1(0),p2(0);
var : m1(0),m2(0),T(0),HH(0),LL(0);
var: tlup(0),tldown(0);
var : sumv1(0),sumi1(0),mav1(0),ii(0),hi(0),mav2(0);
p1=10;
p2=60;
m1 = ma(C,P1);
m2 = ma(C,P2);
if CrossUp(m1,m2) Then
{
tlup=TL_NEW(sDatE,sTimE,h*1.05,sDatE,sTimE,99999);
TL_SetColor(tlup,Red);
TL_SetSize(tlup,1);
T = 1;
hh = h;
ll = l;
#초기화
sumv1 = H;
sumi1 = 1;
#골드구간 봉갯수 초기값 0
ii = 0;
}
if CrossDown(m1,m2) Then
{
T = -1;
tldown=TL_NEW(sDatE,sTimE,l*0.95,sDatE,sTimE,0);
TL_SetColor(tldown,Cyan);
}
if t ==1 Then
{
#골드구간 봉갯수
ii = ii+1;
#고점갱신
if h >hh Then
{
hh = h;
#고가 누적
sumv1 = sumv1 + h;
#횟수 누적
sumi1 = sumi1 + 1;
}
#골드구간 고점 갱신봉 평균값
mav1 = sumv1/sumi1;
#마지막 고점갱신이 골드구간봉수 전반보다 크면
#mav2에 평균값 저장 아니면 0 저장
if hi > ii/2 Then
mav2 = mav1;
Else
mav2 = 0;
Plot13(hh,"hh",blue,Def,1);
}
2024-12-17
684
글번호 186345