커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6198
글번호 230811
답변완료
문의 드립니다
안녕하세요
input : Periods(10);
input : Multiplier(3.0);
input : changeATR(1);#1:SMA 0:RMA
input : upcolor(Red),downcolor(Blue);
var : src(0),alpha(0),source(0),ATR1(0),ATR2(0),ATRV(0);
var : up(0),up1(0),dn(0),dn1(0),trend(0),tx(0);
src = (H+L)/2;
alpha = 1 / Periods;
atr1 = IFf(IsNan(atr1[1]) == true , ma(TrueRange, Periods) , alpha * TrueRange + (1 - alpha) * atr1[1]);
atr2 = ATR(Periods);
atrv = IFf(changeATR == 1 , atr1 , atr2);
up=src-(Multiplier*atrv);
up1 = IFf(IsNan(up[1]) == False,up[1],up);
up = iff(close[1] > up1 , max(up,up1) , up);
dn=src+(Multiplier*atrv);
dn1 = IFf(IsNan(dn[1]) == False,dn[1], dn);
dn = iff(close[1] < dn1 , min(dn, dn1) , dn);
trend = 1;
trend = IFf(IsNan(trend[1]) == False,trend[1], trend);
trend = IFf(trend == -1 and close > dn1 , 1 , iff(trend == 1 and close < up1 , -1 , trend));
if trend == 1 Then
plot1(up,"Trend",upcolor);
Else
Plot1(dn,"Trend",downcolor);
위 트랜드 라인을 다른변수로 2개 더 추가하고 싶습니다
부탁드립니다
감사합니다
2025-02-19
600
글번호 188312
답변완료
질문드리겠습니다
안녕하세요 질문 몇가지 드리겠습니다
질문1)
아래와 같이 종목검색 수식을 작성했는데요
일봉상에서 당일부터 5봉 전까지 하루라도 H>L*1.08 일 경우 검색하는 내용입니다
만약 10봉전까지를 작성하고자 한다면 반복문을 이용해서 단순화 시켜서 만들 수 있을까요?
IF H>L*1.08 or H[1]>L[1]*1.08 or
H[2]>L[2]*1.08 or H[3]>L[3]*1.08
or H[4]>L[4]*1.08 or H[5]>L[5]*1.08
Then Find(1);
질문2,3)
아래 식은 조건이 발생하면 당일 한번만 (최초로 만족한 신호만) 나타나게 하는 식인데요
두 가지 경우의 질문이 있습니다
질문1)
당일 3번째 조건 만족 신호까지만(최초,2번째,3번째) 나타나게 하려면 어떻게 수정을 해야할까요?
질문2)
당일 1번째(최초 만족) 과 3번째만 나타내게 하고 싶습니다 (2번째는 건너뛰기)
아래는 수식입니다
감사합니다
var : cnt(0), sum1(0), sumi1(0),tt(0),hh(0),ll(0),tl(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),ttl[10](0);
if Bdate != Bdate[1] Then
DD = DD+1;
if h>vi(1)*0.98 Then
{
d1 = dd;
d2 = d1[1];
if d1 >= d2+1 Then
{
var1 = Index;
Var2 = var1[1];
Var3= Var2[1];
sum1=0;
sumi1=0;
tl=TL_NEW(sDatE,sTimE,h*1.01,sDatE,sTimE,99999);
TL_SetSize(tl,0);
For cnt = 1 to (var1-Var2)
{
sum1=sum1+h[cnt];
sumi1=sumi1+1;
}
value1=sum1/sumi1;
2025-02-19
573
글번호 188311
답변완료
시스템트레이딩 수식 문의
업비트에서 전일대비 등락률순위 상위종목을 검색해서 그종목을 자동매매 할수있는 수식이 있으면 부탁드립니다
2025-02-19
514
글번호 188310
답변완료
수식 부탁드립니다
input을 각각 100, 200, 300 세가지로 만들고, 100 이 200, 300 을 돌파할 때 마다 1계약씩 추가 진입하는 식을 부탁드립니다.
input : len(100),len2(100);
var : oo(0),cc(0),hh(0),ll(0),col(0);
var : haclose(0),haopen(0),hahigh(0),halow(0);
var : o2(0),h2(0),l2(0),c2(0);
oo=ema(open,len);
cc=ema(close,len);
hh=ema(high,len);
ll=ema(low,len);
haclose = (oo+hh+ll+cc)/4;
haopen = iff(IsNaN(haopen[1]) == true, (oo + cc)/2 , (haopen[1] + haclose[1]) / 2);
hahigh = max (hh, max(haopen,haclose));
halow = min (ll, min(haopen,haclose));
o2=ema(haopen, len2);
c2=ema(haclose, len2);
h2=ema(hahigh, len2);
l2=ema(halow, len2);
if crossup(c2, o2) Then
Buy("");
if crossdown(c2, o2) Then
Sell("");
2025-02-19
486
글번호 188309
답변완료
업비트 자동매매수식 부탁드려요
15분봉에서 CCI(14) 침체이탈 하는시점에 OBV 신호(10)가 우상향으로 급등시 매수하고
CCI(14) 과열진입한 후 OBV 신호(10)이 밑으로 꺽일때 즉시 매도 하게끔
수식 좀 부탁드립니다
2025-02-18
583
글번호 188308
파워 님에 의해서 삭제되었습니다.
2025-02-18
334
글번호 188307
답변완료
검색식 부탁드립니다.
안녕하세요 검색식 부탁드리겠습니다.
5일전 20이평 돌파, 5일전의 5일 평균 거래량 대비 200% 이상
4일전 20이평 돌파, 4일전의 5일 평균 거래량 대비 200% 이상
3일전 20이평 돌파, 3일전의 5일 평균 거래량 대비 200% 이상
2일전 20이평 돌파, 2일전의 5일 평균 거래량 대비 200% 이상
1일전 20이평 돌파, 1일전의 5일 평균 거래량 대비 200% 이상
당일 20이평 돌파, 전일의 5일 평균 거래량 대비 200% 이상
해당 조건식을 모두 OR로 해서 종목을 검색하고 싶습니다.
감사합니다.
2025-02-18
521
글번호 188306
답변완료
수식문의드립니다.
안녕하세요,
아래 분할청산식인데 trx3이 마지막 분할청산 96봉이후에 주문이 들어가게 하고 싶습니다.
BarsSinceExit(1) > 96을 썼는데 안먹힙니다.
뭐가 잘못됐는지 모르겠는데 수정 부탁드립니다.
input : txratio(0.3),txa(3),txam(5),txb(8),txn(2);
var : trXcond1(false),trXcond2(false),trXcond3(false);
if MarketPosition == 1 Then
{
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx1" Then
trXcond1 = true;
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx2" Then
trXcond2 = true;
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "trx3" Then
trXcond3 = true;
var1 = highest(H,BarsSinceEntry);
if trXcond1 == false and var1 >= EntryPrice*(txa/100+1) and var1 < EntryPrice*(((txa+txam)/100)+1) Then {
ExitLong("trx1",AtStop,var1*(1-txn/100),"",currentContracts*txratio,1);
}
if trXcond2 == false and var1 >= EntryPrice*(txb/100+1) and var1 < EntryPrice*(((txb+txam)/100)+1) Then
ExitLong("trx2",AtStop,var1*(1-txn/100),"",currentContracts*txratio,1);
if (BarsSinceExit(1) > 96) and trXcond3 == false and var1 >= EntryPrice*(txa/100+1) and var1 < EntryPrice*(((txa+txam)/100)+1) Then {
ExitLong("trx3",AtStop,var1*(1-(txn+1)/100),"",currentContracts*txratio,1);
}
}
if MarketPosition != 1 Then
{
trXcond1 = false;
trXcond2 = false;
trXcond3 = false;
}
2025-02-18
484
글번호 188305
느와르 님에 의해서 삭제되었습니다.
2025-02-18
6
글번호 188304