커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5486
글번호 230811
답변완료
문의드립니다.
5/20 이평선 골든/데드 크로스 선물매매에서
매수 진입후 스톡캐스틱이 80이 넘는 봉이 나올 경우 진입후 최고점 기준으로 50틱이 빠지면 즉시 청산하는 식을 구합니다.
매도는 그 반대입니다.
미리 노고에 감사드립니다.
2025-03-20
465
글번호 189364
답변완료
문의드립니다
안녕하세요?
아래수식에서 흰색의 삼각형이 엔벨롭 upline 또는 dnline 의 외부에 그려지는것만 (사진첨부) 표현되도록 조건문을 만들어주세요 감사합니다
1.
if CrossUp(close, zlema+volatility) Then
trend = 1;
if CrossDown(close, zlema-volatility) Then
trend = -1;
zlemaColor = iff(trend == 1 , Red, Green);
//plot1(zlema, "Zero Lag Basis",zlemaColor);
if trend == -1 Then
// plot2(zlema+volatility ,"Deviation Band",Green);
//Else
// plot2(zlema-volatility , "Deviation Band",Red);
if trend == -1 and trend[1] != -1 Then
//PlaySound("C:₩eBestYesTrader₩data₩workgroup₩매도.wav");
{
tx = Text_New(sDate,sTime,zlema+volatility,"▼");
Text_SetColor(tx,White);
Text_SetStyle(tx,2,1);
Text_SetSize(tx,38);#크기
}
if trend == 1 and trend[1] != 1 Then
//PlaySound("C:₩eBestYesTrader₩data₩workgroup₩매수.wav");
tx = Text_New(sDate,sTime,zlema-volatility ,"▲");
Text_SetColor(tx,White);
Text_SetStyle(tx,2,0);
Text_SetSize(tx,38);#크기
2.
Input : Period(20), Percent(2);
var : center(0),UPline(0),DNline(0),T(0);
center = ma(C, Period);
UPline = EnvelopeUp(Period, Percent);
Dnline = EnvelopeDown(Period, Percent);
2025-03-20
655
글번호 189363
답변완료
질문드리겠습니다
수고가 많으십니다
종목 검색 관련 질문을 부탁드립니다
질문1)
맨 아래 첨부된 식에서요
if Bdate != Bdate[1] Then
Condition1 = False;
if condition1==False and (countif(crossup(h,cc[0]),200)>=1) Then
{
condition1=true;
find(1)
}
이부분에 대해서 질문인데요
조건검색은 오늘 현재봉을 기준으로 검색을하는건데 ,
만약 가장최근봉 (오늘 현재봉)이 조건만족봉에 해당되지 않을때를 생각해서
가장 최근의 조건만족봉을 기준으로 (만약 분봉에서 가장최근봉 기준 10봉전이 조건만족봉이라면 10봉전부터 시작을 해서 count. 10봉전의 봉이 h[0]) 200봉 내에서의 (h[0],h[1],h[2]...h[199] 이런식으로 크로스업 확인) countif 조건을 찾아준다는 의미가 맞나요?
아니면 오늘현재봉부터 시작해서 200봉 내에서 조건에 맞는 신호를 찾아준다는 건가요??
예전에 만든 수식인데 좀 헷갈려서요,,,어떤 의미가 되는건지 간단한 설명을 부탁드리겠습니다
질문2)
질문1과 연계해서,,,아래 식에서
(countif(crossup(h,cc[0]),200)>=1) or (countif(crossup(h,cc[1]),200)>=1) or (countif(crossup(h,cc[3]),200)>=1) ....이런식으로 h 이 cc[0], cc[1] ... 을 한번이상 크로스업 할때마다 검출을 하려고 하는데요,,지난 cc값들을 계속 비교를 하려고 합니다
예를들어 cc[20] 까지 비교하면 식이 길어지는데요, for 으로 간략하게 작성할 수 있을까요
감사합니다
var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(0),tl1(0);
var: sum2(0),sumi2(0),sumaa(0);
var : t(0),StartBarIndex(0),dd(0),d1(0),d2(0);
Array : ii[50](0),aa[50](0),bb[50](0),cc[50](0),vv[150](0),ttl[10](0);
if Bdate != Bdate[1] Then
DD = DD+1;
#H>vi(1)*0.95 h>l*1.07
if h>l*1.07 Then
{
d1 = dd;
d2 = d1[1];
#if d1 >= d2+1 Then
#if d2 == 0 or (d2 > 0 and d1 >= d2+3) Then
if d2 == 0 or (d2 > 0 and d1 >= d2+3) Then
{
var1 = Index;
Var2 = var1[1];
Var3= Var2[1];
sum1=0;
sumi1=0;
tl=TL_NEW(sDatE,sTimE,100,sDatE,sTimE,999999);
TL_SetSize(tl,0);
TL_SetColor(tl,Gray);
For cnt = 1 to (var1-Var2)
{
sum1=sum1+h[cnt];
sumi1=sumi1+1;
}
value1=sum1/sumi1;
For cnt = 49 DownTo 1
{
aa[cnt] = aa[cnt-1];
}
aa[0] = value1;
Var20=Money/100000000;
if Var20>30 Then
{
For cnt = 49 DownTo 1
{
cc[cnt]= cc[cnt-1];
}
cc[0]=value1*0.9;
Plot11(cc[0],"hma",DarkRed,Def,1);
}
}
}
Plot13(value1,"평균",LightGreen,Def,1);
if Bdate != Bdate[1] Then
Condition1 = False;
if condition1==False and (countif(crossup(h,cc[0]),200)>=1) Then
{
condition1=true;
find(1)
}
2025-03-20
584
글번호 189360
답변완료
검색식 변환 부탁드립니다
x=Sum(Crossup(C,Bollinger_up((c+h+l)/3,2.2,40,지수이평)));
y=Sum(c(1)*(100+8)/100<=h);
z=Sum(c(1)*(100+8)/100<=c);
이부분 ls증권에서 키움증권 수식으로 변환 가능할까요?
계속 이부분에서 막히는데 이동평균 기간이 1보다 작다고 ㅠ
부탁드립니다
2025-03-20
513
글번호 189358
답변완료
검색식 부탁 드립니다
S=sum(1);
최저거래량=lowestsince(1,S==1,v);
valuewhen(1,최저거래량==v,L)
분봉 돌파 검색식 부탁 드립니다
2025-03-20
423
글번호 189355
답변완료
목표금액 유지 시스템식 부탁합니다.
종목(ETF)
분봉사용
-----------
2025년1월3일 종가로 목표금액 1000만원해당 주식수만큼 매수후,
분봉에서
평가 금액이 1000만원으로 계속 유지되도록 원합니다.
예1)주가 1% 상승으로 평가금액이 1010만원되면 분봉에서 10만원 해당주식 매도
예2)주가 1% 하락으로 평가금액이 990만원이면 분봉에서 10만원 해당주식 매수
예3)주가 2% 상승으로 평가금액이 1020만원되면 분봉에서 20만원 해당주식 매도
예4)주가 2% 하락으로 평가금액이 980만원이면 분봉에서 20만원 해당주식 매수
위 매도매수 반복으로 평가금액이 1000만원으로 계속 유지되도록하는
시스템식 부탁드립니다.
2025-03-20
681
글번호 189352
yamu 님에 의해서 삭제되었습니다.
2025-03-19
7
글번호 189351
답변완료
변환 부탁드립니다
종목 검색식으로 변환 부탁드립니다.
A = ma(C, 5);
B = ma(C, 60,);
조건1 = A(2)>B(2) && A(1) < B(1) && A > B
조건2 = Countsince(date!=date(1), 조건1) == 1;
조건3 = Sum(if(조건2, 1, 0), 20) <= 1;
조건2 && 조건3
2025-03-19
454
글번호 189350
답변완료
수식 수정 부탁드립니다.
안녕하세요.
수식오류 수정 부탁드립니다.
Input : term1(5),term2(9),term3(14),term4(20),Period1(9), Period2(13), Period3(2), Period4(3);
Var : X1(0),X2(0),X3(0),X4(0),S1(0),S2(0),S3(0),S4(0),XS(0),value1(0),Value2(0),SToR(0) ;
X1=Trix(term1)-Trix(term1)[1];
X2=Trix(term2)-Trix(term2)[1];
X3=Trix(term3)-Trix(term3)[1];
X4=Trix(term4)-Trix(term4)[1];
S1 = Ema(X1,9);
S2 = Ema(X2,9);
S3 = Ema(X3,9);
S4 = Ema(X4,9);
XS = X1<0 and X2<0 and X3<0 and X4<0 && S1<0 and S2<0 and S3<0 and S4<0 ;
value1 = ((RSI(Period1)- lowest(RSI(Period1),Period2))
/ (highest(RSI(Period1),Period2)-(lowest(RSI(Period1),Period2))))*100;
Value2 = ma(Value1,Period3);
SToR = ma(Value2,Period4);
if XS && SToR[2]>SToR[1] && SToR[1]< SToR[0] && H[1]<H[0] Then
Find(1);
2025-03-19
453
글번호 189348