커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

수식부탁드립니다.

If (CrossDown(value, 80)and 20<value ) and CrossDown(value, 50) and CrossDown(value1, value2) Then { Sell("s",OnClose,Def,1); } 첨부파일처럼 3가지 조건을 한꺼번에 만족하는 봉만이 아닌 순차적으로 만족하는 봉까지 찾는 식 좀 부탁드립니다(3가지 전부 만족하는 봉은 마지막 빨간색 화살표가 가르키는 봉에서 진입하는 조건입니다. . 아마도 위의 식은 3가지가 한번에 동시에 만족하는 봉에 진입하는 식인 듯 합니다.
프로필 이미지
산수유
2025-02-24
462
글번호 188500
시스템
답변완료

문의

예스로 부탁드립니다. uodate가 금지어라고 해서 뛰어쓰기 했습니다 indicator("Kalman Trend Levels [BigBeluga]", overlay = true, max_labels_count = 500, max_boxes_count = 500) // INPUTS ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ int short_len = input.int(50) int long_len = input.int(150) bool retest_sig = input.bool(false, "Retest Signals") bool candle_color = input.bool(true, "Candle Color") color upper_col = input.color(#13bd6e, "up", inline = "colors") color lower_col = input.color(#af0d4b, "dn", inline = "colors") // } // CALCULATIONS――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ float atr = ta.atr(200) *0.5 var lower_box = box(na) var upper_box = box(na) // Kalman filter function kalman_filter(src, length, R = 0.01, Q = 0.1) => // Initialize variables var float estimate = na var float error_est = 1.0 var float error_meas = R * (length) var float kalman_gain = 0.0 var float prediction = na // Initialize the estimate with the first value of the source if na(estimate) estimate := src[1] // Prediction step prediction := estimate // Up date Kalman gain kalman_gain := error_est / (error_est + error_meas) // Up date estimate with measurement correction estimate := prediction + kalman_gain * (src - prediction) // Up date error estimates error_est := (1 - kalman_gain) * error_est + Q / (length) // Adjust process noise based on length estimate float short_kalman = kalman_filter(close, short_len) float long_kalman = kalman_filter(close, long_len) bool trend_up = short_kalman > long_kalman color trend_col = trend_up ? upper_col : lower_col color trend_col1 = short_kalman > short_kalman[2] ? upper_col : lower_col color candle_col = candle_color ? (trend_up and short_kalman > short_kalman[2] ? upper_col : not trend_up and short_kalman < short_kalman[2] ? lower_col : color.gray) : na // } // PLOT ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――{ if trend_up and not trend_up[1] label.new(bar_index, short_kalman, "&#129145;₩n" + str.tostring(math.round(close,1)), color = color(na), textcolor = upper_col, style = label.style_label_up, size = size.normal) lower_box := box.new(bar_index, low+atr, bar_index, low, border_color = na, bgcolor = color.new(upper_col, 60)) if not ta.change(trend_up) lower_box.set_right(bar_index) if trend_up[1] and not trend_up label.new(bar_index, short_kalman, str.tostring(math.round(close,1))+"₩n&#129155;", color = color(na), textcolor = lower_col, style = label.style_label_down, size = size.normal) upper_box := box.new(bar_index, high, bar_index, high-atr, border_color = na, bgcolor = color.new(lower_col, 60)) if not ta.change(trend_up) upper_box.set_right(bar_index) if retest_sig if high < upper_box.get_bottom() and high[1]>= upper_box.get_bottom() //or high < lower_box.get_bottom() and high[1]>= lower_box.get_bottom() label.new(bar_index-1, high[1], "x", color = color(na), textcolor = lower_col, style = label.style_label_down, size = size.normal) if low > lower_box.get_top() and low[1]<= lower_box.get_top() label.new(bar_index-1, low[1], "+", color = color(na), textcolor = upper_col, style = label.style_label_up, size = size.normal) p1 = plot(short_kalman, "Short Kalman", color = trend_col1) p2 = plot(long_kalman, "Long Kalman", linewidth = 2, color = trend_col) fill(p1, p2, short_kalman, long_kalman, na, color.new(trend_col, 80)) plotcandle(open, high, low, close, title='Title', color = candle_col, wickcolor=candle_col, bordercolor = candle_col) // }
프로필 이미지
레전드
2025-02-24
716
글번호 188489
지표
답변완료

수정 부탁드립니다.

input : pd(22),bbl(20),mult(2.0),lb(50),ph(0.85),기간1(10),기간2(20); var : wvf(0),sDev(0), midLine(0), upperBand(0), rangeHigh(0),overSold(0); var : ap(0), esa(0), d(0), ci(0), wt1(0), wt2(0); # williams vix fix wvf = ((highest(close,pd) - low) / (highest(close,pd))) *100; sDev = mult *std(wvf,bbl); midLine = ma(wvf,bbl); upperBand = midLine + sDev rangeHigh = (highest(wvf, lb)) * ph; #wt ap = (HIGH+LOW+CLOSE)/3; esa = Ema(ap, 기간1); d = Ema(abs(ap-esa), 기간1); ci = (ap - esa) / (0.015*d); wt1 = Ema(ci,기간2); wt2 = ma(wt1,4); if wt1[1]<=-53 && (wvf>= upperBand or wvf >= RangeHigh or wvf[1] >= upperBand or wvf[1] >= RangeHigh) && wvf[1]>wvf &&CrossUp(wt1,wt2) Then Find(1); 문법에러,잘못된토큰,Name,올수 있는것 이렇게 문구가 뜹니다
프로필 이미지
저스틴e
2025-02-24
607
글번호 188479
종목검색
답변완료

종목검색식 요청드립니다.

아래 키움신호가 발생한 종목검색식을 만들고 싶습니다. 도움 부탁드립니다. * 키움수식(short-10, long-20, sinnal-9) a = MACD(short, long); b = eavg(MACD(short, long),signal); crossup(a,b) 감사합니다.
프로필 이미지
onlypsn
2025-02-24
473
글번호 188478
종목검색
답변완료

시그널메이커 수식 변환 부탁드립니다.

항상 수고가 많으십니다. 계속 귀찮게 해드려서 죄송합니다. 아래 수식은 시그널메이커 수식인데 예스랭기지로 변환 부탁드리겠습니다. Params: Profit_Target(160), // 익절 ( 단위 : 틱 ) Stop_Loss(80); // 손절 ( 단위 : 틱 ) Var: Ma_150(0), Ma_200(0), TickSize(0), LongEntryPrice(0), ShortEntryPrice(0), v11(0), v22(0); // 이평선 계산 Ma_150 = Ma(C, 150); Ma_200 = Ma(C, 200); TickSize = OneTick * PriceScale; // 호가 단위 // 돌파한 캔들의 시가와 종가의 갭 계산 If (CurrentBar > 1) // 숏 진입 조건 Then Begin // 롱 진입 조건 If CrossUp(C[1], Ma_150[1]) Then Begin LongEntryPrice = O[1] + 160 * TickSize; End; If CrossDown(C[1], Ma_200[1]) Then Begin ShortEntryPrice = O[1] - 160 * TickSize; End; // 롱 진입 체크 If LongEntryPrice <> 0 And C >= LongEntryPrice Then Begin If CurrentContracts = 0 Then Buy("LONG", AtLimit, LongEntryPrice,1); LongEntryPrice = 0; End; // 숏 진입 체크 If ShortEntryPrice <> 0 And C <= ShortEntryPrice Then Begin If CurrentContracts = 0 Then Sell("SHORT", AtLimit, ShortEntryPrice,1); ShortEntryPrice = 0; End; End; // 익절과 손절 설정 If CurrentContracts <> 0 Then Begin SetStopProfitTarget(Profit_Target * TickSize * CurrentContracts); SetStopLoss(Stop_Loss * TickSize * CurrentContracts); End Else Begin SetStopProfitTarget(0); SetStopLoss(0); End;
프로필 이미지
codeblue
2025-02-24
579
글번호 188477
시스템
답변완료

종목검색식 요청드립니다.

아래 키움수식이 3분봉에서 신호가 발생했던 모든 종목을 검색하는 검색식을 만들고 싶습니다. n일전 검색도 가능하게 부탁드립니다.(1일전 2일전 3일전 등)으로 검색가능하게 부탁드립니다. 항상 감사합니다. * 키움신호 a = bbandsup(20,1); b = (a(0)/c) - (a(1)/c); b>0.03
프로필 이미지
onlypsn
2025-02-24
506
글번호 188474
종목검색
답변완료

현재시간의 전일 data(c) 를 호출할수 있나요?

현재시간의 전일 daat 를 이용하여 지표식을 작성할수 있는지요? 회신 미리 감사합니다.
프로필 이미지
ycchoi17
2025-02-24
509
글번호 188468
지표
답변완료

경보 메시지 관련 문의

항상 수고 많으십니다. 아래 수식에서 경보 사항중 "매도진입신호 와 발생 시간"을 표시하고 싶습니다. --------------------아래----------------------------------------------------- (중략) If Var3>=Var5 Then { Var7=Var3; Alert("매도"); PlaySound("C:₩예스트레이더₩data₩Sound₩alert.wav"); } (중략) ----------------------------------------------------------------------------------
프로필 이미지
졸던
2025-02-24
492
글번호 188463
지표
답변완료

수고하십니다.

기간 평균 체결강도가 100을 돌파한 종목을 검색해주세요 기간=60일 체결강도 100 돌파 검색식이 어렵다면 100 이상인 종목으로 검색 해쥬세요 항상 감사드립니다.
프로필 이미지
나석
2025-02-24
504
글번호 188462
종목검색