커뮤니티

예스랭귀지 Q&A

글쓰기

[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내

안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
프로필 이미지
예스스탁
2026-02-27
1236
글번호 230811
지표
답변완료

조건검색식 부탁드립니다

일목균형표 기준선26위에 캔들을 검색하려는 검색식 부탁드립니다
프로필 이미지
감땡
2025-11-17
143
글번호 228123
종목검색
답변완료

수식 부탁 드림니다

예스스탁 재질의(251117)안녕하십니까?수식 부탁 드립니다s10170512025-11-15 03:17:07글번호 228049------------------------------------------------답변 주셨는데챠트표시란에PlotNo1 ~ PlotNo10으로 해 주셨는데1.상단선_고점2.상단선_고점+K3.하단선_저점4.하단선_저점-K식으로 수정해 주시면 감사 하겠읍니다
프로필 이미지
s1017051
2025-11-17
154
글번호 228114
지표
답변완료

조건검색문의드립니다

2개 조건검색식 수정 부탁드립니다[1]CC=CCi(20);M=Macd(12,26);Ms=eavg(M,9);S=SuperTrend(60,2);R=RSI(14);bs_C=Barssince(CC<-100);bs_M=Barssince(M<0 && CrossUp(M,Ms));bs_S=Barssince(CrossUp(C,S));bs_R=Barssince(R<40);조건=bs_C=5 && bs_C <=10 &&bs_M=5 && bs_M <=10 &&bs_S=5 && bs_S <=10 &&bs_R=5 && bs_R <=10;조건 && !조건(1)[2]CrossUp(CCI(기간), 기준) && CrossUp(DiPlus(period),DiMinus(period))&& V>(1)*배수지표변수기간 20기준 0period 14배수 2
프로필 이미지
해피럭키
2025-11-17
134
글번호 228113
종목검색
답변완료

수식 부탁드립니다

글번호 227977(11월12일)와 관련된 수식 문의입니다. 내용중 신호조건이 두가지가 있었는데 조건a : (MD조건+STO조건+DM조건+PN조건+TX조건+핸들조건)>=2 조건b : Hm조건 or Hs조건수식1) 조건b 상태가 끝나고 최소 5봉이후에 조건a상태가 되면서 나온 첫양봉(전봉은 음봉이어야함)에 신호발생과 종목 검색가능 수식 또한 이 양봉의 시가대비 종가변동율은 2%이상 10%이내이어야 하고, 전일종가대비 종가변동율은 15%이내이어야한다. 만약 위 양봉의 상승율조건을 초과하는 양봉이거나 전일양봉후 양봉인 경우에는 이후 처음 출현하는 음봉후 양봉에 검색되어야 한다 음봉후 양봉발생시에 조건a상태가 유지되고 있어야 한다 수식2) 조건a 상태가 끝나고 최소 10봉이후에 조건a상태가 되면서 나온 첫양봉(전봉은 음봉이어야함)에 신호발생과 종목 검색가능 수식 또한 이 양봉의 시가대비 종가변동율은 2%이상 10%이내이어야 하고, 전일종가대비 종가변동율은 15%이내이어야한다. 만약 위 양봉의 상승율조건을 초과하는 양봉이거나 전일양봉후 양봉인 경우에는 이후 처음 출현하는 음봉후 양봉에 검색되어야 한다 음봉후 양봉발생시에 조건a상태가 유지되고 있어야 한다상기 수식 두가지를 or로 묶어서 해주셔도 되고 복잡해지면 각각 해주시기 바랍니다
프로필 이미지
해피오
2025-11-17
154
글번호 228111
종목검색
답변완료

종목검색식 변경

UM = C < O; UM3 = UM && UM(1) && UM(2); 음봉몸통 = O(1) - C(1); 양봉몸통 = C - O; 큰양봉 = UM3(1) && C > O && 양봉몸통 > 음봉몸통; 기준고가 = Valuewhen(1, 큰양봉, H); 평균거래량 = ma(V, 거래량기간); 거래량조건 = V >= 평균거래량 * 1.5; 돌파 = CrossUp(C, 기준고가); M20 = ma(C, 20); M60 = ma(C, 60); M120 = ma(C, 120); 정배열 = M20 > M60 && M60 > M120; 돌파 && 거래량조건 && 정배열 설정 거래량기간 20키움의 신호검색식입니다. 이 신호가 검색되는 조건검색식을 작성하고 싶습니다.날짜가 나오는 30일치 한번에 검색하는 버전으로 부탁드립니다.
프로필 이미지
마을
2025-11-17
135
글번호 228110
종목검색

러블리 님에 의해서 삭제되었습니다.

프로필 이미지
러블리
2025-11-17
2
글번호 228109
지표
답변완료

종목검색식 변경

저점1 = L < L(1) && L < L(2) && L(1) < L(3) && L(2) < L(3); 저점1위치 = BarsSince(저점1); 저점1가격 = ValueWhen(1, 저점1, L); 고점 = 저점1위치 > 0 && H > H(1) && H > H(2); 네크라인 = ValueWhen(1, 고점, H); 저점2 = 저점1위치 >= 기간 && L < L(1) && L < L(2); 가격차이 = abs(L - 저점1가격) / 저점1가격 * 100; 저점2확인 = 저점2 && 가격차이 <= 허용오차; 패턴 = 저점1위치 >= 기간 && 저점2확인; 상단 = ValueWhen(1, 패턴, 네크라인); 양봉3프로 = C > O && (C - O) / O * 100 >= 3; 첫돌파 = CrossUp(C, 상단) && 양봉3프로; 첫고점라인 = ValueWhen(1, 첫돌파, H); 재진입 = BarsSince(첫돌파) > 0 && C < 상단; 재진입후 = BarsSince(재진입) > 0; 양봉 = C > O; 재돌파 = 재진입후 && CrossUp(C, 첫고점라인) && 양봉; cnt = CountSince(첫돌파, 재돌파); 재돌파 && cnt == 1 && cnt(1) == 0 설정 기간 10 허용오차 5위 조건을 만족하는 종목을 검색하는 종목검색식을 작성 하고 싶습니다.
프로필 이미지
마을
2025-11-17
117
글번호 228108
종목검색
답변완료

수식문의

항상 수고 많으십니다다음 수식의 변환을 부탁드립니다&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&BU=MA(C, 5 );UPMA=if(C>BU, C-BU,0);M1=BU+AvgIf(UPMA,1,0);AA=sum((H+L+C)/3*V, 10)/sum(V, 10);A1=valuewhen(1, AA>=AA(1), AA); CrossUp(C,M)&& C>A1감사합니다
프로필 이미지
김승빈
2025-11-17
104
글번호 228090
종목검색
답변완료

문의 드립니다

수식오류 수정 부탁드립니다.input: ma_fast_period(10); // "Fast MA Period"input: ma_slow_period(30); // "Slow MA Period" input: rsi_period(14); // "RSI Period"input: rsi_oversold(30); // "RSI Oversold Level"input: rsi_overbought(70); // "RSI Overbought Level"input: adx_period(14); // "ADX Period"input: adx_threshold(25); // "ADX Trend Threshold"input: bb_period(20); // "Bollinger Band Period"input: bb_deviation(2); // "Bollinger Band Deviation"input: volume_ma_period(20); // "Volume MA Period"input: use_trend_filter(true); // "Use Trend Filter"input: use_momentum_filter(true);// "Use Momentum Filter"input: use_volatility_filter(true); // "Use Volatility Filter"var: ma_fast(0), ma_slow(0), rsi_value(0), adx_value(0);var: bb_upper(0), bb_lower(0), bb_middle(0), volume_ma(0);var: trend_direction(0), momentum_signal(0), volatility_signal(0);var: exit_signal_long(false), exit_signal_short(false);// ===== 다중 지표 계산 =====// 1. 이동평균 (추세)ma_fast = Average(close, ma_fast_period);ma_slow = Average(close, ma_slow_period);// 2. RSI (모멘텀)rsi_value = RSI(rsi_period);// 3. ADX (추세 강도)adx_value = ADX(adx_period);// 4. 볼린저 밴드 (변동성)Input : Period(20), MultiD(2);var : MAv(0),BBup(0),BBdn(0);bb_middle = Average(close, bb_period);//bb_upper = bb_middle + bb_deviation * StdDev(close, bb_period);//bb_lower = bb_middle - bb_deviation * StdDev(close, bb_period);bb_upper = BollBandUp(Period,bb_deviation);bb_lower = BollBandDown(Period,bb_deviation);// 5. 볼륨 지표volume_ma = Average(volume, volume_ma_period);// ===== 다중 필터 신호 계산 =====// 추세 필터if use_trend_filter Then Begin if ma_fast < ma_slow Then trend_direction = -1; Else if ma_fast > ma_slow Then trend_direction = 1; Else trend_direction = 0;End Else trend_direction = 1; // 필터 사용 안할 때는 항상 true// 모멘텀 필터 if use_momentum_filter Then Begin if rsi_value < rsi_oversold Then momentum_signal = -1; Else if rsi_value > rsi_overbought Then momentum_signal = 1; Else momentum_signal = 0;End Else momentum_signal = 0; // 필터 사용 안할 때는 영향 없음// 변동성 필터if use_volatility_filter Then Begin if close > bb_upper Then volatility_signal = 1; Else if close < bb_lower Then volatility_signal = -1; Else volatility_signal = 0;End Else volatility_signal = 0;// ===== 다중 지표 기반 청산 신호 =====// 롱 포지션 청산 조건exit_signal_long = false;if MarketPosition == 1 Then Begin // 조건 1: 추세 전환 (하락 추세) condition1 == (trend_direction = -1); // 조건 2: 모멘텀 약화 (RSI 과매수에서 하락) condition2 == (momentum_signal = -1) or (rsi_value < 50); // 조건 3: 변동성 확대 (밴드 상단 돌파 후 하락) condition3 == (volatility_signal = -1) or (close < bb_middle); // 조건 4: 추세 강도 약화 (ADX 하락) condition4 = (adx_value < adx_threshold); // 조건 5: 거래량 감소 (추세 약화 확인) condition5 == (volume < volume_ma); // 다중 조건 조합 (3개 이상 충족 시 청산) if condition1 + condition2 + condition3 + condition4 + condition5 >= 3 Then exit_signal_long = true; if exit_signal_long Then ExitLong("Multi Indicator Exit Long");End;// 숏 포지션 청산 조건 exit_signal_short = false;if MarketPosition == -1 Then Begin // 조건 1: 추세 전환 (상승 추세) condition1 = (trend_direction = 1); // 조건 2: 모멘텀 강화 (RSI 과매도에서 상승) condition2 = (momentum_signal = 1) or (rsi_value > 50); // 조건 3: 변동성 확대 (밴드 하단 돌파 후 상승) condition3 = (volatility_signal = 1) or (close > bb_middle); // 조건 4: 추세 강도 약화 (ADX 하락) condition4 = (adx_value < adx_threshold); // 조건 5: 거래량 감소 (추세 약화 확인) condition5 = (volume < volume_ma); // 다중 조건 조합 (3개 이상 충족 시 청산) if (condition1 + condition2 + condition3 + condition4 + condition5) >= 3 Then exit_signal_short = true; if exit_signal_short Then ExitShort("Multi Indicator Exit Short");End;// ===== 고급: 가중치 기반 점수 시스템 =====var: long_score(0), short_score(0);if MarketPosition == 1 Then Begin long_score = 0; if trend_direction = -1 then long_score = long_score + 2; if momentum_signal = -1 then long_score = long_score + 2; if volatility_signal = -1 then long_score = long_score + 1; if adx_value < adx_threshold then long_score = long_score + 1; if volume < volume_ma then long_score = long_score + 1; if long_score >= 5 Then ExitLong("Weighted Score Exit Long");End;if MarketPosition == -1 Then Begin short_score = 0; if trend_direction = 1 then short_score = short_score + 2; if momentum_signal = 1 then short_score = short_score + 2; if volatility_signal = 1 then short_score = short_score + 1; if adx_value < adx_threshold then short_score = short_score + 1; if volume < volume_ma then short_score = short_score + 1; if short_score >= 5 Then ExitShort("Weighted Score Exit Short");End;
프로필 이미지
lacl
2025-11-17
179
글번호 228085
시스템