커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3357
글번호 230811
답변완료
조건검색문의드립니다
2가지 수정 변환 부탁드리겠습니다 [1]수식을 적용했는데 첨부이미지 에러가 뜨는데 수정좀 부탁드리겠습니다 (수정에러가 자꾸 뜨서 부탁드립니다) Input : Period_BB(20); Input : Dev_BB(2); Input : Band_LLV(100); Input : Band_Expand(1.3); Input : Period_KDJ(9), Period_SigK(3), Period_SigD(3); Input : K_Under(30); var : vBasis(0), vDev(0), vUpper(0), vLower(0); var : vBBWidth(0); var : vMinWidth(0); var : vLL(0), vHH(0), vFastK(0); var : vK(0), vD(0); var : Cond_Compress(False), Cond_Expand(False); var : Cond_KDJ_Cross(False), Cond_KDJ_Area(False); var : TotalSum(0), i(0), SumOfSquaredDiffs(0), StdDev(0), Mean(0); vLL = Lowest(L, Period_KDJ); vHH = Highest(H, Period_KDJ); if vHH > vLL Then vFastK = ((C - vLL) / (vHH - vLL)) * 100 Else vFastK = 50; vK = MA(vFastK, Period_SigK); vD = MA(vK, Period_SigD); vBasis = ma(C, Period_BB); TotalSum = 0; For i = 0 to Period_BB - 1 begin TotalSum = TotalSum + C[i]; end; Mean = TotalSum / Period_BB; SumOfSquaredDiffs = 0; For i = 0 to Period_BB - 1 begin SumOfSquaredDiffs = SumOfSquaredDiffs + (C[i] - Mean) * (C[i] - Mean); end; StdDev = SquareRoot(SumOfSquaredDiffs / Period_BB); vDev = Dev_BB * StdDev; vUpper = vBasis + vDev; vLower = vBasis - vDev; if vBasis > 0 Then vBBWidth = ((vUpper - vLower) / vBasis) * 100 Else vBBWidth = 0; vMinWidth = Lowest(vBBWidth, Band_LLV); Cond_Compress = vBBWidth[1] <= vMinWidth[1]; Cond_Expand = vBBWidth > vBBWidth[1] * Band_Expand; Cond_KDJ_Cross = CrossUp(vK, vD); Cond_KDJ_Area = vK < K_Under; If Cond_Compress and Cond_Expand and Cond_KDJ_Cross and Cond_KDJ_Area Then Find(1); [2] 조건검색식으로 신호떴을때 검색되도록 변환부탁드립니다 //@version=5 indicator("Quantum Trend Scalper , overlay=true, max_boxes_count=500, max_lines_count=500) // ────────────────────────────── 설정 ────────────────────────────── emaFastLen = input.int(8, "EMA 빠른") emaSlowLen = input.int(21, "EMA 느린") atrPeriod = input.int(7, "SuperTrend ATR 기간") atrMult = input.float(1.8, "SuperTrend 멀티", step=0.1) squeezeLen = input.int(20, "Squeeze 길이") showVWAP = input.bool(true, "VWAP 필터 켜기") // ────────────────────────────── 1. EMA 8/21 ────────────────────────────── emaFast = ta.ema(close, emaFastLen) emaSlow = ta.ema(close, emaSlowLen) golden = ta.crossover(emaFast, emaSlow) death = ta.crossunder(emaFast, emaSlow) plot(emaFast, color=#00ff00, linewidth=2, title="EMA 8") plot(emaSlow, color=#ff0000, linewidth=2, title="EMA 21") // ────────────────────────────── 2. SuperTrend ────────────────────────────── [supertrend, direction] = ta.supertrend(atrMult, atrPeriod) plot(supertrend, "SuperTrend", color=direction < 0 ? color.red : color.lime, linewidth=2, style=plot.style_circles) // ────────────────────────────── 3. TTM Squeeze Momentum ────────────────────────────── basis_sqz = ta.sma(close, squeezeLen) dev_sqz = ta.stdev(close, squeezeLen) kcUpper = basis_sqz + 1.5 * dev_sqz kcLower = basis_sqz - 1.5 * dev_sqz squeezeOn = (kcLower > supertrend) or (kcUpper < supertrend) squeezeOff = not squeezeOn mom = close - (basis_sqz + kcUpper + kcLower) / 2 momCol = mom > 0 ? (mom > mom[1] ? color.lime : color.green) : (mom < mom[1] ? color.red : color.maroon) // ────────────────────────────── 4. Volume + VWAP 필터 (오류 완전 해결) ────────────────────────────── volSurge = volume > ta.sma(volume, 20) * 2 // VWAP intraday 오류 해결 버전 (모든 타임프레임 완벽 작동) vwapVal = ta.vwap(hlc3) // ta. 로 명시적 호출 + hlc3 사용 plot(showVWAP ? vwapVal : na, color=color.new(color.yellow, 70), linewidth=2, title="VWAP") aboveVWAP = close > vwapVal //
2025-11-20
313
글번호 228232
답변완료
종목검색식 부탁드립니다
다음수식의 변환을 부탁드립니다%%%%%%%%%%%%%%%%%%%%L1 = L < L(1) && L < L(2) && L(1) < L(3) && L(2) < L(3);Ls1 = BarsSince(L1);Lp1 = ValueWhen(1, L1, L);H1 = Ls1> 0 && H > H(1) && H > H(2);NL = ValueWhen(1, H1, H);L2 = Ls1 >= 기간 && L < L(1) && L < L(2);Pg = abs(L - Lp1) / Lp1 * 100;Lc2 = L2 && Pg <= ratio;Pp = Ls1 >= 10 && Lc2;S1=ValueWhen(1, Pp, NL);종가가 S1에 5%이내 근접하는 수식을 부탁드립니다period(20) / ratio(10) 입니다항상 감사드립니다
2025-11-20
158
글번호 228231
답변완료
위탁증거금 함수의 리턴값을 실시간으로 업데이트 되도록 하려면 어떻게 하나요?
이전 질문의 답변에서 주문가능금액 조회 함수가 없다 하셨는데 그러면 GetOpenOrderInitialMargin 함수를 쓸 수 밖에 없을 것 같습니다.그런데, GetOpenOrderInitialMargin 함수가 리턴하는 값이 실시간으로 업데이트되지 않는 것 같습니다. (예스트레이더 2510 예수금현황의 위탁증거금과 GetOpenOrderInitialMargin 함수의 리턴값이 실시간으로 일치하지 않음)위탁증거금 함수의 리턴값을 실시간으로 업데이트 되도록 하려면 어떻게 하나요?참고로 한국투자증권 eFriend Global Yestrader 사용 중입니다.
2025-11-20
302
글번호 228230
답변완료
전략식 안에서 다른 시간대 설정을 하려면 어떻게 해야 하나요?
표현을 어떻게 해야 할지 잘 몰라 ...... 질문이 이상합니다만,예를 들어240분 챠트에 전략식을 실행시킨 상황에서세부 조건을 다시 10분봉을 기준으로 진입설정을 하고 싶습니다.그런데, open[0] 식의 표현외 meta4 처럼 다양한 시간대를 지정해서 전략을 짜려면 어떻게 구별해야할지?double open_dopen_d=iOpen(null,1440,0)double open_4Hopen_4H=iOpen(NULL,240,0)double open_10mopen_10m=iOpen(NULL,10,0)당연히 될 것으로 생각하고 찾아보니 특별한 설명을 못찾았습니다.
2025-11-19
174
글번호 228227
답변완료
문의드립니다.
아래 질문 : 228197 에 궁금한점이 있어 재 질문드립니다.특정날짜에 수직선 긋기를 해보았는데 특정날짜가 포함된 일봉, 주봉은 잘 표현이 되는데 월봉에서는 표현이 안됩니다.월봉은 어떻게 해야하는지 궁금합니다.
2025-11-19
147
글번호 228224
답변완료
문의 드립니다
마지막 분봉의 종가를 어떻게 표현하나요?c+2 = 이런식으로 표현하니까 봉의 완성되서 종가가 결정됐는데도.. 그후 진행되는 현재가 +2 로 표현이되요 실시간 현재가가 아닌.. 마지막분봉의 종가 +2 를 구하는 식 부탁드립니다예를 들어 선물 10분봉 마지막봉의 종가가 560 이라면 560+2를 구하는식 부탁드립니다
2025-11-19
178
글번호 228214
답변완료
문의 드립니다.
안녕하세요 ~ 아래의 키움 신호 수식에대한 종목 검색식 부탁드립니다. a=avg(c,5);b=avg(c,20);d=avg(c,60);K=valuewhen(1,a>b&&b>d&&a>d,C);M=valuewhen(1,K(2)<K(1)&&K(1)>K,K(1));D2=LinearRegressionvalue(C,5,0)+ LinearRegressionSlope(C,5);crossup(D2, M)감사합니다. 좋은 하루 보네세요 ~
2025-11-19
162
글번호 228208
답변완료
문의드립니다
input : P(20),af(0.02),maxaf(0.2);var : mav2(0,Data2),para(0,Data1);mav2 = Data2(ma(C,P));para = Data1(Sar(af,maxaf));if Data2(CrossUp(C,mav2)) Then Buy("b1");if Data2(C > mav2) and Data1(CrossUp(C,para)) Then Buy("b2");if Data2(C < mav2) or Data1(CrossDown(C,para)) Then Sell( );위수식에서 파라볼릭을 파라볼릭종가로 수정부탁드립니다.감사합니다.
2025-11-19
142
글번호 228207
답변완료
안녕하세요
3년만이네요...저를 기억하실자 모르겠지만... 몸이아파서 오래 살지 못합니다. 보내드리고싶은게있는데 김윤환연구원님 맞으신가요??? 맞다면 이메일 남겨주시면 자료 보내드리겠습니다.
2025-11-19
222
글번호 228206