커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3369
글번호 230811
답변완료
문의 드립니다.
input : B1(224);var : A1(0),A2(0),A3(0),value(Nan);A1=(C+O+H+L)*V/4;A2=AccumN(A1,B1);A3=AccumN(V,B1);value = A2/A3;if CrossUp(C,value) Then Find(1);종가가 아닌 지수 이평 3일선이 돌파 하는 조건 으로 한번 부탁 드립니다.수고 하세여~
2025-11-10
187
글번호 227819
답변완료
문의 드립니다.
안녕하세요 하나 더 문의 드립니다. 아래의 신호 수식에 대한 종목 검색식 부탁 드립니다. x1 = crossup(c, eavg(c,con1)); x2 = v >= avg(v, 20) * con2;x3 = v >= con3;x4 = (c/c(1)-1)*100 >= con4;x5 = (c/o-1)*100 >= con5;x1 and x2 and x3 and x4 and x5지표변수 con1 240con2 3con3 50000con4 10con5 8감사합니다
2025-11-10
164
글번호 227816
답변완료
지표질문입니다
음봉 연속+첫 양봉 일때 2캔들 저가(A) 표시양봉 연속후 첫 음봉일 때 2캔들 고가(B) 표시B*2-A 표시A*2-B 표시감사합니다
2025-11-10
187
글번호 227814
답변완료
시스템매매 관련 문의합니다..^^*
아래수식에 보시면 시작일이 25년7월2일 설정이 되어있는데,추가적인 사항으로 한시간단위로는 설정이 가능한지요^^*한시간단위도 설정가능하면 변수로 지정해 주시면 고맙겠습니다..항상 감사드립니다...input : 시작일(20250702),갭상승(2),P(20),하락per(1),분할(20);input : starttime(91500),EndTime(151500);Var : value(0),mav(0);var : Tcond(False);if Bdate != Bdate[1] Then tcond = False;if (sdate != sDate[1] and sTime >= starttime) or (sdate == sDate[1] and sTime >= starttime and sTime[1] < starttime) Then Tcond = true;if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False;Var1=rsi(14);mav = ma(c,p);value = 0;if sDate >= 시작일 and DayOpen <= DayClose(1)*(1+갭상승/100) and Tcond == true Then{ # 매수 / 매도청산 If CCI(9) > 0 Then value = 1; If MACD(12,26) > 0 Then value = value+1; If DIPlus(14) > DIMinus(14) Then value = value+1; If StochasticsK(12,5) > StochasticsD(12,5,5) Then value = value+1; # 매수/매도청산 If value >= 3 and mav > mav[1] Then { Buy("b1"); } value = 0; if MarketPosition == 1 and MaxEntries < 분할 OR MarketPosition <= 0 and value >= 3 and mav > mav[1] Then { Buy("b2",AtStop,EntryPrice(0)*(1-(하락per*MaxEntries)/100)); } if rsi(14)<32 Then buy("b3");}# 매도/매수청산If CCI(9) < 0 Then value = 1;If MACD(12,26) < 0 Then value = value+1;If DIPlus(14) < DIMinus(14) Then value = value+1;If StochasticsK(12,5) < StochasticsD(12,5,5) Then value = value+1;If value >= 3 Then{ SetStopProfittarget(7, PercentStop);}
2025-11-10
195
글번호 227811
답변완료
추가 부탁드립니다
var : Per(0.1); var : HD(0),HT(0),HH(0),HH2(0); var : LD(0),LT(0),LL(0),LL2(0); var : HTL(0),LTL(0),TL(0); var : tx1(0),tx2(0),HTx(0),Ltx(0); var : T(0); var : HB(0),LB(0); var1 = ma(c, 60); if var1 > var1[1] Then T = 1; if var1 < var1[1] Then T = -1; Plot1(var1,"이동평균선"); if T == 1 Then { if T != T[1] Then { HD = sDate; HT = sTime; HH = h; HH2 = HH[1]; HTL = tl_new(HD,HT,HH,NextBarSdate,NextBarStime,HH); TL_SetColor(HTL, Red); HTx = Text_New(NextBarSdate,NextBarStime,HH,NumToStr(HH,2)); Text_SetColor(HTx, Red); Text_SetStyle(HTx, 1, 1); HB = 0; } Else { if h > HH Then { HH = h; } HB = HB+1; } TL_SetBegin(HTL,HD,HT,HH); TL_SetEnd(HTL,NextBarSdate,NextBarStime,HH); Text_SetLocation(HTx,NextBarSdate,NextBarStime,HH); } if T == -1 Then { if T != T[1] Then { LD = sDate; LT = sTime; LL = l; LL2 = LL[1]; LTL = tl_new(LD,LT,LL,NextBarSdate,NextBarStime,LL); TL_SetColor(LTL, Blue); Ltx = Text_New(NextBarSdate,NextBarStime,LL,NumToStr(LL,2)); Text_SetColor(Ltx, Blue); Text_SetStyle(Ltx, 1, 0); LB = 0; } Else { if l < LL Then { LL = l; } LB = LB+1; } TL_SetBegin(LTL,LD,LT,LL); TL_SetEnd(LTL,NextBarSdate,NextBarStime,LL); Text_SetLocation(Ltx,NextBarSdate,NextBarStime,LL); }1. 위의 수식에서 직전 고점연결, 저점연결 추세선을 추가하고자 합니다. 단 추가시 직전 n개 연결로 부탁드립니다. 2. 1의 추세선이 되었다면 TL_SetExtRight(식별번호, False), TL_SetExtRight(식별번호, true), 이 수식을 쓰면 마지만 추세선만 우측 연결이 되는데 이또한 직전 추세선 n개 를 우측 연장으로 부탁드립니다.
2025-11-10
203
글번호 227805
답변완료
문의드립니다.
아래 코드를 지표로 만들려면 어떻게 해야 하나요?Inputs:
Length(20), // 채널 계산 기간
NumATRs(2); // ATR 배수
Vars:
LowerBand(0), // 하단 밴드
UpperBand(0), // 상단 밴드
MiddleBand(0),
tpusdc(10000),
slUsdC(3000);
LowerBand = keltnerchannel(Close, Length, -NumATRs);
UpperBand = keltnerchannel(Close, Length, NumATRs);
MiddleBand = KeltnerChannel(C, Length, 0);
If marketposition == 0 and CrossUp(Close, upperBand) and adx(14) < 30 then
Buy("L", AtMarket, Def, 1);
If marketposition == 0 and CrossDown(Close, lowerBand) and adx(14) < 30 then
Sell("S", AtMarket, Def, 1);
//손절
If marketposition > 0 and barssinceentry >= 2 and Close <= EntryPrice - (slUsdC / BigPointValue) Then ExitLong("SL_L", AtMarket);
If marketposition < 0 and barssinceentry >= 2 and Close >= EntryPrice + (slUsdC / BigPointValue) Then ExitShort("SL_S", AtMarket);
if CrossDown(c, middleband) Then ExitLong("Exit_L",AtMarket);
if CrossUp(c, middleband) Then ExitShort("Exit_S",AtMarket);
//익절
If marketposition > 0 and barssinceentry >= 2 and Close >= EntryPrice + (tpUsdC / BigPointValue) Then ExitLong("PT_L", AtMarket);
If marketposition < 0 and barssinceentry >= 2 and Close >= EntryPrice - (tpUsdC / BigPointValue) Then ExitShort("PT_S", AtMarket);아래가 제가 지표로 만든겁니다.1. 신호는 어떻게 표시하나요?2. 이대로 지표 삽입하면 캡쳐화면과 같이 이상하게 캔들과 따로 놉니다. 어떻게 해야 하나요?input: length(80), numatrs(2);
vars:
LowerBand(0), // 하단 밴드
UpperBand(0), // 상단 밴드
MiddleBand(0), // 중심 밴드
adxVal(0); // ADX 값
#--------------------------------------------------------
# 밴드 계산
#--------------------------------------------------------
LowerBand = KeltnerChannel(Close, Length, -NumATRs);
UpperBand = KeltnerChannel(Close, Length, NumATRs);
MiddleBand = KeltnerChannel(Close, Length, 0);
adxVal = ADX(14);
#--------------------------------------------------------
# Plot 출력
#--------------------------------------------------------
plot1(UpperBand, "UpperBand", RGB(255,0,0)); // 상단 밴드
plot2(MiddleBand, "MiddleBand", RGB(255,255,255)); // 중심 밴드
plot3(LowerBand, "LowerBand", RGB(0,255,0)); // 하단 밴드
plot4(adxVal, "ADX(14)", RGB(255,255,0)); // ADX 값 (참고용)
2025-11-10
174
글번호 227796
답변완료
문의 드립니다.
안녕하세요 ~ 수고 많으십니다. RSI(5)가 70 이상일때, 아래의 1라인이 2라인을 돌파하는 종목의 검색식을 부탁드립니다.1라인. A=Highest(V,기간);B=Valuewhen(1, V>A(1),(O+C+L+H+C)/5);B2라인. A=Highest(V,기간1); B=Valuewhen(1, V>A(1),(O+C+L+H+C)/5); B지표조건 기간 20 기간1 60감사합니다.
Valuewhen변환
2025-11-10
117
글번호 227795
답변완료
종목검색식 부탁드려요.
키움증권수식입니다. 변환부탁드립니다. A=V<lowest(V(1),기간1);LV1=valuewhen(1,A,C);A1=crossup(C,LV1); D1=highest(h,D기간); D2=lowest(l,D기간); 중심2=D2+(D1-D2)/2; K1=highest(h,K기간); K2=lowest(l,K기간); 중심3=K2+(K1-K2)/2; G1=highest(h,G기간); G2=lowest(l,G기간); 중심4=G2+(G1-G2)/2; E10=(dayclose()+nP(1)+nP(2)+nP(3)+nP(4)+nP(5)+nP(6)+nP(7)+nP(8)+nP(9))/10; W5=(C+nPreWC(1)+nPreWC(2)+nPreWC(3)+nPreWC(4))/5; S=(O-avg(L,기간2))/stdev(L,기간2); BB=valuewhen(1,crossup(S,0),C); 조건1=(중심3<=C or E10<=C); 조건2=(W5<C and BB<=C); 조건3=(D2==G2 and E10<=C and BB<=C); (조건1 and 조건2 and A1) or (조건3 and A1) 지표변수 : 기간1 - 60 / D기간 - 30/ K기간 - 60 / G기간 - 120/ 기간2 -30 일봉함수:nP(n)------- n일전종가 주봉함수:nPreWC(n)------- n주전종가 180분봉으로 검색하고 싶은데 120분봉까지만 가능한가요?
2025-11-09
166
글번호 227794
답변완료
파워검색 수식 부탁드립니다
주봉으로 부탁드립니다.M20=MA(C,20,지수); M60=MA(C,60,지수); M120=MA(C,120,지수); 조건1=M120>M60&&M60>M20; 조건2=V>MA(C,5)*3; 조건3=(H-C)>(L-O); G=조건1&&조건2&&조건3; !G&&G(1)
2025-11-09
168
글번호 227793