커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

종목검색식 부탁드립니다.

아래 2가지 수식을 종목검색식으로 변환 부탁드립니다. 감사합니다...^^ 1) A1=Highestsince(1, date!=date(1), H); A2=Valuewhen(1, A1==H, L); D=Valuewhen(1, date!=date(1), A2(1)); CrossUp(C, D) 2) 기준봉=H>C(1)*증가율 && 거래대금>금액1 && 거래대금<금액2 && C>O; D=Valuewhen(1, 기준봉, (H+L)/n); CrossUp(C, D) (지표변수) 증가율: 1.15 / 금액1: 30000 / 금액2: 70000 / n: 2
프로필 이미지
비밀통로
2024-10-23
980
글번호 184506
종목검색
답변완료

종목검색식 부탁드립니다.

아래 2가지 키움수식을 예스종목 검색식으로 변환 부탁드립니다. 감사합니다...^^ 1) La=LRL(Period1); Lb=LRL(Period2); m1=ma(C, 기간1, 종류); m2=ma(C, 기간2, 종류); Mx1=max(La,Lb); Mn1=min(La,Lb); Mx2=max(m1,m2); Mn2=min(m1,m2); (O<Mn1 && C>Mx1) or (O<Mn2 && C>Mx2) (지표변수) Period1: 20 / Period2: 40 / 기간1: 60 / 기간2: 90 / 종류: 가중 2) A=LRL(Period1); B=LRL(Period2); D=crossup(A,B); E=crossdown(A,B); F=valuewhen(1,D or E, 기준가격); A1=ma(C, 기간1, 종류); B1=ma(C, 기간2, 종류); D1=crossup(A1,B1); E1=crossdown(A1,B1); F1=valuewhen(1,D1 or E1, 기준가격); CrossUp(F,F1) (지표변수) Period1: 20 / Period2: 40 / 기간1: 60 / 기간2: 90 / 종류: 가중 / 기준가격: 시가
프로필 이미지
비밀통로
2024-10-23
920
글번호 184505
종목검색
답변완료

키움수식입니다

M=MA(C, 기간); M1=MA(C, 기간1); 가=LRL(60) - LRS(60)*5; Bu=BBandsUp(20,2); 나=LRL(20) - LRS(20)*5; 다=LRL(10) - LRS(10)*5; EU=EnvelopeUP(20, 6); 전환=(highest(high,shortPeriod)+lowest(low,shortPeriod))/2; 전환1=(highest(high,반shortPeriod)+lowest(low,반shortPeriod))/2; 전환2=(highest(high,소shortPeriod)+lowest(low,소shortPeriod))/2; CrossUP(C, M1(midPeriod-1))&& CrossUP(C, M(midPeriod-1))&& CrossUP(C, 가)&& CrossUP(C, BU(midPeriod-1))&& C>전환&&C>전환1&&C>전환2 OR CrossUP(C, EU(midPeriod-1)) 기간40 , 기간1 20 , midPeriod 26 ,shortPeriod 9 , 반shortPeriod 6 , 소shortPeriod 5 , 감사합니다
프로필 이미지
박셰프
2024-10-23
843
글번호 184504
종목검색
답변완료

수고하십니다

트레인딩뷰챠트인데 변환 부탁드려요 1. // Discontinued Signal Lines dsl_lines(src, length)=> UP = 0. DN = 0. UP := (src > ta.sma(src, length)) ? nz(UP[1]) + dsl_mode / length * (src - nz(UP[1])) : nz(UP[1]) DN := (src < ta.sma(src, length)) ? nz(DN[1]) + dsl_mode / length * (src - nz(DN[1])) : nz(DN[1]) [UP, DN] 2. // Zero-Lag Exponential Moving Average function zlema(src, length) => lag = math.floor((length - 1) / 2) ema_data = 2 * src - src[lag] ema2 = ta.ema(ema_data, length) ema2 //@version=5 indicator("DSL Oscillator [BigBeluga]") // ====================================================================================================================} // INPUTS // ===================================================================================================================={ // User inputs for customization len = input.int(10, "Length") dsl_mode = input.string("Fast", "DSL Lines Mode", ["Fast", "Slow"]) == "Fast" ? 2 : 1 // Color definitions color_up = #8BD8BD color_dn = #436cd3 // Condition for a dashed line bool dashed = bool(bar_index % 2) // ====================================================================================================================} // CALCULATIONS // ===================================================================================================================={ // Calculate RSI with a period of 10 RSI = ta.rsi(close, 10) // Zero-Lag Exponential Moving Average function zlema(src, length) => lag = math.floor((length - 1) / 2) ema_data = 2 * src - src[lag] ema2 = ta.ema(ema_data, length) ema2 // Discontinued Signal Lines dsl_lines(src, length)=> up = 0. dn = 0. up := (src > ta.sma(src, length)) ? nz(up[1]) + dsl_mode / length * (src - nz(up[1])) : nz(up[1]) dn := (src < ta.sma(src, length)) ? nz(dn[1]) + dsl_mode / length * (src - nz(dn[1])) : nz(dn[1]) [up, dn] // Calculate DSL lines for RSI [lvlu, lvld] = dsl_lines(RSI, len) // Calculate DSL oscillator using ZLEMA of the average of upper and lower DSL Lines dsl_osc = zlema((lvlu + lvld) / 2, 10) // Calculate DSL Lines for the oscillator [level_up, level_dn] = dsl_lines(dsl_osc, 10) // Determine color based on oscillator position relative to its DSL Lines color = color.from_gradient(dsl_osc, level_dn, level_up, color_dn, color_up) // ====================================================================================================================} // PLOT // ===================================================================================================================={ // Plot upper and lower DSL Lines plot(level_up, color = dashed ? color.new(color_up, 20) : na, editable = false) plot(level_dn, color = dashed ? color.new(color_dn, 20) : na, editable = false) // Plot the DSL oscillator plot(dsl_osc, color = color, linewidth = 2) // Detect crossovers for signal generation up = ta.crossover(dsl_osc, level_dn) and dsl_osc < 55 dn = ta.crossunder(dsl_osc, level_up) and dsl_osc > 50 // Plot signals on the oscillator plotshape(up ? dsl_osc[1] : na, "", shape.circle, location.absolute, color_up, -1, "", chart.fg_color, false, size.tiny) plotshape(dn ? dsl_osc[1] : na, "", shape.circle, location.absolute, color_dn, -1, "", chart.fg_color, false, size.tiny) // Plot signals on the chart plotshape(up, "", shape.triangleup, location.bottom, color_up, 0, "Enter", chart.fg_color, true, size.tiny, force_overlay = true) plotshape(dn, "", shape.triangledown, location.top, color_dn, 0, "Exit", chart.fg_color, true, size.tiny, force_overlay = true) // Color the background on signal occurrences bgcolor(up ? color.new(color_up, 90) : na, force_overlay = true, editable = false) bgcolor(dn ? color.new(color_dn, 90) : na, force_overlay = true, editable = false) // Color candles based on signals candle_col = up ? color.new(color_up, 0) : dn ? color.new(color_dn, 0) : na plotcandle(open, high, low, close, "", candle_col, candle_col, bordercolor = candle_col, force_overlay = true, editable = false) // Plot horizontal lines for visual reference h = plot(75, display = display.none, editable = false) m = plot(50, display = display.none, editable = false) l = plot(25, display = display.none, editable = false) // Fill areas between horizontal lines fill(m, h, 120, 50, color_up, na, editable = false) fill(m, l, 50, -20, na, color_dn, editable = false)
프로필 이미지
비듬싸순
2024-10-23
1018
글번호 184503
지표
답변완료

종목검색부탁드립니다.

A=LinearRegValue(C, period); B=MA(A, avgperiod)-MA(StdError(C, period),avgperiod); AA=LinearRegValue(C, period1); BB=MA(AA, avgperiod)-MA(StdError(C, period1),avgperiod); A1=(H+L+C)/3; xTrend = if(A1 > A1(1), volume * 100, -volume * 100); xFast = eavg(xTrend, FastX); xSlow = eavg(xTrend, SlowX); xKVO = xFast - xSlow; xTrigger = eavg(xKVO, TrigLen); B<BB && xKVO>xTrigger && (CROSSUP(C,B) OR CROSSUP(C,BB)) && C>O period 20 period1 60 avgperiod 3 TrigLen 13 Fastx 34 SlowX 55 입니다.트레이더종목검색식으로 변환부탁드려용^^늘감사드립니다!
프로필 이미지
조나리
2024-10-23
815
글번호 184502
종목검색
답변완료

수식요청

다음 조건을 만족하는 수식을 요청드립니다. 1.0봉전 볼밴(20,2)하한선이 엔벨로프(20,5)지지선을 하향돌파 2.1봉전 ~ 5봉전 동안 볼밴(20,2)하한선 > 엔벨로프(20,5)지지선 유지 3.전일종가대비 0봉전 가격이 10%이상 상승 4.0봉전 RSI(20)>60 5.1봉전 ~ 5봉전 동안 RSI(20)<59.9 이상입니다.
프로필 이미지
ksks
2024-10-22
918
글번호 184501
종목검색
답변완료

진입 횟수 질문

매수 매도 전략이 복수로 여러개 있을 때 매수의 진입횟수와 매도의 진입횟수를 따로 컨트롤 하고 싶을 때 방법이 있을지 궁금합니다. 없다면 그냥 매수 전략 매도 전략 따로 쓸 예정입니다. 항상 감사합니다.
프로필 이미지
마녀58
2024-10-22
803
글번호 184500
시스템
답변완료

수식전환

수고많으십니다 아래 타사 수식을 에스로변환 부탁드립니다 타사의 (일목균형표),당사의 채우기 수식은,,, 수식4 3분봉 A1=Highestsince(1,date!=date(1),H); Valuewhen(1,date!=date(1),A1(1)) 수식5 시가베팅 A1=Highestsince(1,date!=date(1),H); A2=Valuewhen(1,A1==H,L); Valuewhen(1,date!=date(1),A2(1)) 감사합니다^^
프로필 이미지
트라이
2024-10-22
890
글번호 184499
지표
답변완료

수식지왕님이 써주신 옵션 민감도 입니다.

/*cpFlag : Call,Put 구분, 1,2로 표현 S : 기초자산가격의 가격, 예)주가지수(KOSPI200) X : 행사가격 T : 잔존만기(연율) r : 무위험 이자율, 예) CD금리 q : 배당률 Sig : 변동성 */ input: cpflag(1), //콜풋 입력 InS(0), //현재 지수를 입력 안하면 data 참조를 통해 실시간 가격을 이용. 테스트시 이용 x(145.0), //행사가 입력 ex(20050908), //만기일 r(0.0351), //CD 금리, 요기서 볼 수 있음 ==> http://stock.koscom.co.kr/ q(0), //배당률 InSig(0), //내재변동성을 입력 안하면 자체 계산된 변동성을 사용. 단, 오차 감안해야 함 InPrice(0); //역시 테스트를 목적으로 함 var:S(0),T(0),sig(0),price(0),ImVol(0),bs(0),delta(0),gamma(0),vega(0),theta(0),rho(0); S = iff(inS!=0,inS,data1("c")); //kospi200종합을 같이 띄워 놓아야 합니다. T = (DateToJulian(ex) - DateToJulian(date) + 1)/365; price = iff(inPrice!=0,inPrice,c); imvol = _ImVol(cpFlag, S, X, T, r, q, price); sig = iff(insig!=0,insig,ImVol); bs = _BlackSholes(cpFlag, S, X, T, r, q, sig); delta = _Delta(cpFlag, S, X, T, r, q, sig); gamma = _gamma(cpFlag, S, X, T, r, q, sig); theta = _theta(cpFlag, S, X, T, r, q, sig); vega = _vega(cpFlag, S, X, T, r, q, sig); rho = _rho(cpFlag, S, X, T, r, q, sig); plot1(imvol*100,"내재변동성"); plot2(bs,"이론가"); plot3(delta,"델타"); plot4(gamma,"감마"); plot5(theta,"쎄타"); plot6(vega,"베가"); plot7(rho,"로"); 사용자 함수는 입력을 완료한 상태인데.. 사용법을 정확하게 모르겠습니다.
프로필 이미지
마녀58
2024-10-22
1067
글번호 184498
지표