커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

종목검색 시점에 대한 문의

안녕하세요 항상 친절한 답변 주셔서 감사합니다. 오늘은 파워종목검색의 시점에 대해 여쭤보고자 합니다. 현재 만들어진 전략은 두가지 조건식(A,B)을 만족하고 있습니다. A식은 기준봉이 1봉전이며, B식은 기준봉이 0봉전 그러니까 오늘의 값을 실시간 참고합니다. B식의 코드는 다음과 같습니다. input : ; var : ; if ma(Money,5)[1] > 2000000000 && low < Close[1] && Close > Close[1]*0.99 && (h - l)/l*100 < 6 && (C - C[1])/C[1]*100 < 15 Then Find(1); 종목 호출 간격은 2초이며(var timer5 = 3; // 2초), 매수 시작시간은 09:10입니다.( if (nEventID == 1 && HHMMSS >= 91000 && HHMMSS < 143000)) 이해가 가지 않는 부분은 해당 전략에 따라 매수한 종목의 매수시점입니다. B코드 전문을 보면 아시겠지만, 전일 종가를 당일날 밑으로 터치한 후, 다시 회복하는 시점에 매수를 즉각적으로 해야합니다. 그러나, 해당 전략으로 매수된 종목을 하나 예시로 들자면 금일 롯데관광개발이 09:13:33에 10990원에 체결됐습니다. 전략대로라면, 전일 종가의 0.99를 돌파하는 시점 그러니까,10810*0.99(10.701.99원)근처에, 14:12경에 체결이 일어나야 정상입니다.어째서 이 시간대, 이 가격에 체결이 일어났는지 아무리 생각해봐도 모르겠습니다.ㅠㅠ 시간이 되신다면, 혹시 어느 부분이 잘못됐는지 짚어 주실 수 있을까요? 시간나실때, 답변 부탁드리겠습니다. 좋은하루 되세요!
프로필 이미지
아침식사됩니다
2025-05-14
329
글번호 190799
종목검색
답변완료

문의 드립니다.

안녕하세요 아래의 신호 수식의 종목 검색식 부탁 드립니다. max(BBandsUp(20,2))<min(BBandsdown(20,2))*1.01 or max(BBandsUp(20,2))<min(BBandsdown(20,2))*1.02 && c>BBandsc(20,2) && crossup(c,BBandsup(20,2)) && v>v(1)*2 && c>predayclose() && dayopen()<c && C*1.04 >= dayhigh() && h(1)<BBandsup(20,2) 감사합니다
프로필 이미지
ikksoo
2025-05-14
260
글번호 190797
검색

wscamtk 님에 의해서 삭제되었습니다.

프로필 이미지
wscamtk
2025-05-14
26
글번호 190793
시스템
답변완료

N일동안 rsi 최고일때 종가를 오늘돌파하는 종목

항상 감사드리며 좋은 하루 되실길 바라며 위 제목과 상동하는 조건식을 부탁드립니다
프로필 이미지
mizno
2025-05-14
305
글번호 190792
종목검색
답변완료

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

항상 노고에 감사드림니다. 아래의 수식을 종목검색식으로 부탁드림니다. Crossup(C ,eavg(C, Period)) and Crossup(C ,eavg(C, Period1)) and V > avg(V, Period2) * Multiple && V > V(1) * Multiple 지표변수 Period 224 Period1 10 Period2 Multiple 1.5
프로필 이미지
존슨비치
2025-05-14
340
글번호 190791
종목검색
답변완료

문의드립니다.

아래의 트레이딩뷰 수식을 변환부탁드립니다. ============= indicator(title="Volume Weighted Average Price", shorttitle="VWAP", overlay=true, timeframe="", timeframe_gaps=true) hideonDWM = input(false, title="Hide VWAP on 1D or Above", group="VWAP Settings", display = display.data_window) var anchor = input.string(defval = "Session", title="Anchor Period", options=["Session", "Week", "Month", "Quarter", "Year", "Decade", "Century", "Earnings", "Dividends", "Splits"], group="VWAP Settings") src = input(title = "Source", defval = hlc3, group="VWAP Settings", display = display.data_window) offset = input.int(0, title="Offset", group="VWAP Settings", minval=0, display = display.data_window) BANDS_GROUP = "Bands Settings" CALC_MODE_TOOLTIP = "Determines the units used to calculate the distance of the bands. " calcModeInput = input.string("Standard Deviation", "Bands Calculation Mode", options = ["Standard Deviation", "Percentage"], group = BANDS_GROUP, tooltip = CALC_MODE_TOOLTIP, display = display.data_window) showBand_1 = input(true, title = "", group = BANDS_GROUP, inline = "band_1", display = display.data_window) bandMult_1 = input.float(1.0, title = "Bands Multiplier #1", group = BANDS_GROUP, inline = "band_1", step = 0.5, minval=0, display = display.data_window) showBand_2 = input(false, title = "", group = BANDS_GROUP, inline = "band_2", display = display.data_window) bandMult_2 = input.float(2.0, title = "Bands Multiplier #2", group = BANDS_GROUP, inline = "band_2", step = 0.5, minval=0, display = display.data_window) showBand_3 = input(false, title = "", group = BANDS_GROUP, inline = "band_3", display = display.data_window) bandMult_3 = input.float(3.0, title = "Bands Multiplier #3", group = BANDS_GROUP, inline = "band_3", step = 0.5, minval=0, display = display.data_window) cumVolume = ta.cum(volume) if barstate.islast and cumVolume == 0 runtime.error("No volume is provided by the data vendor.") new_earnings = request.earnings(syminfo.tickerid, earnings.actual, barmerge.gaps_on, barmerge.lookahead_on, ignore_invalid_symbol=true) new_dividends = request.dividends(syminfo.tickerid, dividends.gross, barmerge.gaps_on, barmerge.lookahead_on, ignore_invalid_symbol=true) new_split = request.splits(syminfo.tickerid, splits.denominator, barmerge.gaps_on, barmerge.lookahead_on, ignore_invalid_symbol=true) isNewPeriod = switch anchor "Earnings" => not na(new_earnings) "Dividends" => not na(new_dividends) "Splits" => not na(new_split) "Session" => timeframe.change("D") "Week" => timeframe.change("W") "Month" => timeframe.change("M") "Quarter" => timeframe.change("3M") "Year" => timeframe.change("12M") "Decade" => timeframe.change("12M") and year % 10 == 0 "Century" => timeframe.change("12M") and year % 100 == 0 => false isEsdAnchor = anchor == "Earnings" or anchor == "Dividends" or anchor == "Splits" if na(src[1]) and not isEsdAnchor isNewPeriod := true float vwapValue = na float upperBandValue1 = na float lowerBandValue1 = na float upperBandValue2 = na float lowerBandValue2 = na float upperBandValue3 = na float lowerBandValue3 = na if not (hideonDWM and timeframe.isdwm) [_vwap, _stdevUpper, _] = ta.vwap(src, isNewPeriod, 1) vwapValue := _vwap stdevAbs = _stdevUpper - _vwap bandBasis = calcModeInput == "Standard Deviation" ? stdevAbs : _vwap * 0.01 upperBandValue1 := _vwap + bandBasis * bandMult_1 lowerBandValue1 := _vwap - bandBasis * bandMult_1 upperBandValue2 := _vwap + bandBasis * bandMult_2 lowerBandValue2 := _vwap - bandBasis * bandMult_2 upperBandValue3 := _vwap + bandBasis * bandMult_3 lowerBandValue3 := _vwap - bandBasis * bandMult_3 plot(vwapValue, title = "VWAP", color = #2962FF, offset = offset) upperBand_1 = plot(upperBandValue1, title="Upper Band #1", color = color.green, offset = offset, display = showBand_1 ? display.all : display.none, editable = showBand_1) lowerBand_1 = plot(lowerBandValue1, title="Lower Band #1", color = color.green, offset = offset, display = showBand_1 ? display.all : display.none, editable = showBand_1) fill(upperBand_1, lowerBand_1, title="Bands Fill #1", color = color.new(color.green, 95), display = showBand_1 ? display.all : display.none, editable = showBand_1) upperBand_2 = plot(upperBandValue2, title="Upper Band #2", color = color.olive, offset = offset, display = showBand_2 ? display.all : display.none, editable = showBand_2) lowerBand_2 = plot(lowerBandValue2, title="Lower Band #2", color = color.olive, offset = offset, display = showBand_2 ? display.all : display.none, editable = showBand_2) fill(upperBand_2, lowerBand_2, title="Bands Fill #2", color = color.new(color.olive, 95), display = showBand_2 ? display.all : display.none, editable = showBand_2) upperBand_3 = plot(upperBandValue3, title="Upper Band #3", color = color.teal, offset = offset, display = showBand_3 ? display.all : display.none, editable = showBand_3) lowerBand_3 = plot(lowerBandValue3, title="Lower Band #3", color = color.teal, offset = offset, display = showBand_3 ? display.all : display.none, editable = showBand_3) fill(upperBand_3, lowerBand_3, title="Bands Fill #3", color = color.new(color.teal, 95), display = showBand_3 ? display.all : display.none, editable = showBand_3) =================== 거듭 감사합니다. 수고하세요!!!
프로필 이미지
해암
2025-05-14
556
글번호 190790
지표
답변완료

지표 문의 드립니다.

//@version=6 indicator( title = "Stoch RSI + TEMA", shorttitle = "SRTEMA", overlay = false, format = format.price, precision = 2) // ────────── 입력 smoothK = input.int(12 , "K" , minval = 1) smoothD = input.int(3 , "D" , minval = 1) rsiLen = input.int(14, "RSI Length" , minval = 1) stochLen = input.int(14, "Stoch Len" , minval = 1) src = input.source(close, "RSI Src") temaLen = input.int(12 , "TEMA Length" , minval = 1) // ────────── Stochastic RSI rsiVal = ta.rsi(src, rsiLen) k_raw = ta.stoch(rsiVal, rsiVal, rsiVal, stochLen) k = ta.sma(k_raw, smoothK) // %K d = ta.sma(k , smoothD) // %D // ────────── TEMA (%K 기반) ema1 = ta.ema(k, temaLen) ema2 = ta.ema(ema1, temaLen) ema3 = ta.ema(ema2, temaLen) tema = 3 * (ema1 - ema2) + ema3 // ────────── 시각화 plot(k , "K" , color = color.blue , linewidth = 2) plot(d , "D" , color = color.orange, linewidth = 2) plot(tema, "TEMA", color = color.green , linewidth = 2) hUpper = hline(80, "Upper" , color = color.gray) hMid = hline(50, "Middle", color = color.new(color.gray, 50)) hLower = hline(20, "Lower" , color = color.gray) fill(hUpper, hLower, color = color.rgb(33,150,243,90), title = "BG") // ────────── 알림(선택) bullCross = ta.crossover(k, tema) bearCross = ta.crossunder(k, tema) alertcondition(bullCross, "Bullish K>TEMA", "K crossed above TEMA") alertcondition(bearCross, "Bearish K<TEMA", "K crossed below TEMA") 트레이딩뷰 수식인데 예스 수식으로 바꿔주세요.
프로필 이미지
신대륙발견
2025-05-14
362
글번호 190789
지표
답변완료

지표 변환 문의드립니다. 질문 92667 관련

안녕하세요.건승을 기원합니다. 질문 92667 답변 관련 질문입니다. 3번 지표로 구현하엿는데,선은 필요없으니 신호만 나타낼수잇는 수식을 좀 알려주시면 감사하겟습니다. 상단,하단밴드는 버리고 중간선이 색갈이변할때만 신호를 표출하는 식을 부탁합니다.(색깔변하는 봉 바로 밑에 또는 위에) 제가 작성한 "잘못된" 수식입니다만 plot1(filt, "Filter", fcolor); plot2(hband, "Filtered True Range High Band", fcolor); plot3(lband, "Filtered True Range Low Band", fcolor); if filt < filt[1] Then { tx = Text_New(sdate,sTime,H,"☎"); Text_SetStyle(tx,2,0);#좌우상하정렬 Text_SetColor(tx,Black);#색상 Text_SetSize(tx,20);#크기 } if filt > filt[1] Then { tx = Text_New(sdate,sTime,L,"♥"); Text_SetStyle(tx,2,0);#좌우상하정렬 Text_SetColor(tx,Brown);#색상 Text_SetSize(tx,20);#크기 } 모든 봉 위 또는 아래에 신호가 나오네요. 이게 아니고 핵심은 색깔이 변할때만 나오게 해주면 됩니다. 감사합니다.(더불어 전략수식도 알려주시면 감사하겠숩니다)
프로필 이미지
knoll
2025-05-14
293
글번호 190788
지표
답변완료

함수요청

안녕하세요? 아래전략에 대해 스크립트 작성부탁드립니다. 종가기준입니다. 현캔들 완성성봉이 최근 20개봉 고점과 최근 20영업일의 볼린저 밴드 상단을 돌파하되 그 돌파 기준이 되는 볼린저 밴드 상단의 좌우로 각 5영업일의 고점이어야 함. 3개봉 후 시가에 매도 진입, 매도 진입후 7개 후 악봉 시가에 매도 청산 현캔들 완성성봉이 최근 20개봉 저점과 최근 20영업일의 볼린저 밴드 하단을 돌파하되 그 돌파 기준이 되는 볼린저 밴드 상단의 좌우로 각 5영업일의 저점이어야 함. 3개봉 후 시가에 매수 진입, 매수 진입후 7개 후 악봉 시가에 매수 청산
프로필 이미지
흰둥이아빠
2025-05-14
263
글번호 190787
시스템