커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1481
글번호 230811
답변완료
부탁드립니다
단순이평 5,20,60,120이평이 정배열일때 최고가와 최저가 박스이평이 역배열일때 최고가와 최저가 박스 좀 부탁드립니다
2026-03-19
56
글번호 231154
답변완료
부탁드립니다
단순이평 5, 20, 60, 120 역배열, 정배열 강세 약세 박스좀 부탁드립니다
2026-03-19
36
글번호 231153
답변완료
수정좀 요청 드립니다.
상기 그림 처럼 중간에 청산 없이 21시 5분에 일괄 청산으로 수정 좀 부탁 드립니다.즉 크로스 업 하면 계속 추가 매수 크로스 다운 하면 계속 추가 매도 하여 21시 5분에 일괄 청산 입니다.##input : StartTime(070000),EndTime(210000),xtime(210500);input : P1(5),P2(12);var : Tcond(False);IF xtime > starttime Then SetStopEndofday(xtime);Else{ if sDate != sDate[1] Then SetStopEndofday(xtime);}if (sdate != sdate[1] and stime >= EndTime) or (sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then Tcond = False;if (sdate != sdate[1] and stime >= StartTime) or (sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then{ Tcond = true; IF xtime <= starttime Then { SetStopEndofday(0); }}var1 = ma(c,P1);var2 = ma(C,P2);if Tcond == true Then{ if CrossUp(var1,var2) Then Buy("b"); if CrossDown(var1,var2) Then Sell("s");}항상 많은 도움에 고맙 습니다.
2026-03-19
49
글번호 231151
답변완료
kp200 미니선물 주간야간 복수차트
안녕하세요 주간야간 복수차트 하려구 하는데 주문 거부 주간만 되니 답답하네요 모의 투 자에서 체험을 하려니까 안되고 있어서 실전 거래도 하지않고 있습니다 모의투자로 확인 해볼수있게 지원 해주시면 감사합니다 IM 증권 kp200미니선물 과 kQ 150 선물 에 관심 이 많습니다 주간 야간 복수차트 이렇게 3개의 종류 보다는 하나의 차트로 미국 나스닥처럼 쭉 되게 하셨으면 합니다 복수차트 거래해보니 주문거부 거래거부 모의 투자에서 이래서 매매 안하고 보고 만 있네요 속히 해결 되었으면 합니다
2026-03-19
35
글번호 231148
답변완료
종목검색식을 요청드립니다.
안녕하세요.아래 키움신호가 처음 발생한 종목만 검색하는 종목검색식과 지표 만들고 싶습니다. 하단에 있는 DN(down)은 변수 처리로 부탁드려요.중최고가=최고값(고가,20);중최저가=최저값(저가,20);경계=(중최고가+중최저가)/2-(중최고가-중최저가)*배분1;경계1=crossup(종가, 경계)&& 종가>시가*배분2;경계2=crossdown(c, 경계);기준봉=valuewhen(1, 경계1 or 경계2, 시가);기준봉1=crossup(종가, 기준봉);기준봉2=crossdown(종가, 기준봉);결과기준=valuewhen(1, 기준봉1 or 기준봉2, 시가);결과기준1=crossup(종가, 결과기준);결과기준2=crossdown(종가, 결과기준);S=(O-avg(L,20))/stdev(L,20);A=valuewhen(1, 결과기준1 or 결과기준2, 시가);B=valuewhen(1,crossup(S,0),C);A1=100*eavg(C,10)/eavg(C(20),8);A2=wavg((((C-C(11))/C(11))*100) + (((C-C(14))/C(14))*100),10);(A(1)>=A*DN OR B(1)>=B*DN) && C>O &&(A1(1)<A1 OR A2(1)<A2)- 지표조건설정배분1 : 0.236배분2 : 1.02DN : 1.15
2026-03-19
84
글번호 231146
답변완료
종목검색식 부탁드립니다
키움 수식입니다 종목 검색식 부탁드립니다// 1. 이동평균선 계산E1 = eavg(C, EmaLen1);E2 = eavg(C, EmaLen2);E3 = eavg(C, EmaLen3);// 2. 스토캐스틱 K, D 계산K = StochasticsSlow(sto1, sto2);D = eavg(K, sto3);// 3. 추세 종료(초기화) 조건: 단기선이 장기선 아래거나 종가가 장기선 이탈Reset = E1 <= E3 or C <= E3;// 4. 눌림목(풀백) 발생 조건// 스토캐스틱 K가 20 상향돌파 & K>D & 이평 정배열 & 종가가 장기이평 위Pullback = CrossUp(K, 20) and K > D and E1 > E2 and E2 > E3 and C > E3;// 5. Reset(추세종료) 이후 Pullback(눌림목)이 발생한 횟수 계산Cnt = CountSince(Reset, Pullback);// 6. 현재 봉이 눌림목 조건에 해당하고, 새로운 추세에서 '첫 번째' 발생인 경우Pullback and Cnt == 1- 지표조건설정EmaLen1: 21EmaLen2: 34EmaLen3: 144sto1: 7sto2: 3sto3: 3
2026-03-18
63
글번호 231145
답변완료
부탁 합니다.
안녕하세요.아래 트레이딩뷰를 변환작업 요청합니다.미리 감사인사 드립니다.// © theehoganator//@version=5indicator(title="Volume Spread Analysis Custom", shorttitle="Volume", overlay=false, precision = 2, format=format.volume) // precision = 2//------------------------------------------------------------------------ // ***** Colors ***** \\ ------------------------------------------------------------------------\\Black = #000000, Charcoal= #363A45, Gray = #787B86, Silver = #C0C0C0, White = #FFFFFFBrown = #A52A2A, Red = #FF0000, Pink = #FF69B4, Gold = #D4AF37, Orange = #FF6A00, Yellow = #FFFF00Green = #00AF00, Teal = #008080, Lime = #00FF0B // Green = #008000Navy = #413BB2, Blue = #0094FF, Aqua = #00BCD4 // Aqua = #00FFFFPurple = #800080, Fucshia = #E040FB //#FF00FFNone = color.new(Black, 100) // Having this is useful in limited situations where "na" will not work as a color. Check my Donchian indicator for an example of that//------------------------------------------------------------------------ // ***** Inputs ***** \\ ------------------------------------------------------------------------\\ma0_length = input.int(30, "Moving Average", minval=1, inline="Moving Average")ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length)maTypeInput = input.string("SMA", title="", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline="Moving Average")ma1_length = input.float(0.5, "", minval=0.01, inline="Moving Average Multipliers")ma2_length = input.float(1.5, "", minval=0.01, inline="Moving Average Multipliers")ma3_length = input.float(3.0, "", minval=0.01, inline="Moving Average Multipliers")bColorAnalysis = input.bool(false, "Color Analysis", inline="Analysis")bDrawAverages = input.bool(false, "Draw Analysis", inline="Analysis")iStyle = input.string(defval="Histogram", title="", options=["Histogram", "Columns"], inline = "Analysis") // plot styleStyle = iStyle == "Histogram" ? plot.style_histogram : plot.style_columns//------------------------------------------------------------------------ // ***** Calculations ***** \\ ------------------------------------------------------------------------\\ma0 = ma(volume, ma0_length, maTypeInput)ma1 = ma0 * ma1_lengthma2 = ma0 * ma2_lengthma3 = ma0 * ma3_length// Need this plot value to fill in from 0 to ma1, fill function doesn't allow us to simply say fill from a value of 0 to another value// I just made this have a value of 0, called it the Baseline, set it as not able to be edited and do not display as it is unnecessary to draw it plot0 = plot(0, title="Baseline", color=None, linewidth=1, editable=false, display=display.none) //------------------------------------------------------------------------ // ***** Assign Colors ***** \\ ------------------------------------------------------------------------\\// By default it uses the same colors as the regular Volumne indicator given by TradingView (Green == #26a69a and Red == #ef5350)// If you enable the Color Analysis check box it will change the volume bars so that they are based on relative volume:// Low = Navy Medium = Green High = Yellow Very High = Red histColor = not bColorAnalysis ? (close > close[1] ? color.new(#26a69a, 25) : color.new(#ef5350, 25)) : volume < ma1 ? Navy : volume < ma2 ? Green : volume < ma3 ? Yellow : volume > ma3 ? Red : Gray // Always have a default value in case something happens you didn't plan for or to show bugs in the code :)fillColor1 = color.new(Black, 90) // color.new(Red, 50) I actually like just making this yellow like the one below, but I'll leave that up to youfillColor2 = color.new(Yellow, 90)fillColor3 = color.new(Red, 50)//------------------------------------------------------------------------ // ***** Plot Everything ***** \\ ------------------------------------------------------------------------\\// Get in the habbit of not only plotting a value but creating a variable for which that plot is a value.// This is important when trying to use the Fill function as it will not take the ma0 value, it must be a set of plot() or hline() values// So, I make the plot(ma0...) function into a value called ma0plot and then pass that through the fill function later. ma0plot = plot(ma0, title="Moving Average 0", color=Blue) // If you plot this after plotting volume, it draws over the bars not under them; which is useful if using columns instead of histogram plot stylema1plot = plot(bDrawAverages ? ma1 : na, title="Moving Average 1", color=color.new(Red, 100)) // In my code, I set these colors to color.new(Red, 100) so I don't see them but they still show the value in on the left side by the indicator namema2plot = plot(bDrawAverages ? ma2 : na, title="Moving Average 2", color=color.new(Red, 100)) // The fill color essentially already shows the line, why draw it as well. I think it looks cleaner when it's offma3plot = plot(bDrawAverages ? ma3 : na, title="Moving Average 3", color=color.new(Red, 100))fill(plot0, ma1plot, title = "Low Volume Background", color = fillColor1) // Here is where we used that plot0 value to fill!fill(ma1plot, ma2plot, title = "Med Volume Background", color = fillColor2) fill(ma2plot, ma3plot, title = "High Volume Background", color = fillColor3) volplot = plot(volume, title='Volume', color=histColor, style=Style, histbase=0, linewidth=3) // style=plot.style_columns style=plot.style_histogram// If you want a black border around your candles like the original, uncomment this line below and comment out the volplot line above. I don't like to because it adds three more values next to the name// plotcandle(0, volume, 0, volume, "Volume", color=histColor, wickcolor=None, bordercolor=Black)// I always put a bunch of extra space at the end, it's easier on the eyes to work with the last line of code without having it touching the bottom of the screen, at least for me.
2026-03-18
88
글번호 231144
답변완료
종목검색식 부탁드립니다.
1. 아래의 수식을 참고하여, 예스트레이더 종목 검색식 부탁드려요.-----아래-----A=(C-lowest(C,period))/C*60;B=(highest(C,period)-C)/C*60;crossup(A,B)지표변수 80
2026-03-18
49
글번호 231136
답변완료
수식 부탁드립니다
다음수식 변환 부탁드립니다1)LL=Lowest(L,기간);NH=ValueWhen(1,H>Highest(H,기간,1),H);//조건=Highest(H,기간-2)<Highest(H,기간-1);Und=ValueWhen(1,BarsSince(H>Highest(H,기간,1))==p,LL);2)LL=Lowest(L,기간);NH=ValueWhen(1,H>Highest(H,기간,1),H);//조건=Highest(H,기간-2)<Highest(H,기간-1);Top=ValueWhen(1,BarsSince(H>Highest(H,기간,1))==p,NH);CrossUp(C,Und) or CrossUp(C,Top)
2026-03-18
46
글번호 231135