커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6135
글번호 230811
답변완료
수고하십니다
항상 좋은 일만 있으시기 바랍니다 psar지표를 점선으로 표시 하면음구간 마지막점을 다음 양구간까지 수평선으로 그어지고양구간 마지막점을 다음 음구간까지 수평선으로 그어져 나오게 요청합니다
2025-11-06
262
글번호 227720
답변완료
문의드립니다
Inputs: ConsecutiveOBV(3), Length(15), Pval(0.05);Variables: OBVcalc(0,Data2),cond1(False,Data2),cond2(False,Data2);OBVcalc = data2(OBV() * 0.0001);cond1 = data2(CountIF(OBVcalc > Highest(OBVcalc, Length)[1], ConsecutiveOBV) == ConsecutiveOBV);cond2 = data2(CountIF(OBVcalc < Lowest(OBVcalc, Length)[1], ConsecutiveOBV) == ConsecutiveOBV);If cond1[1] == true and Data2(H >= C+Pval) Then Buy ("OBV_LE");If cond2[1] == true and Data2(L <= C-Pval) Then Sell ("OBV_SE");수고하십니다.위수식은 data2 obv 매수신호시 data1매수data2 obv매도시 data1매도식입니다.위 수식에 data2 obv 매수신호 이후 에 data1 macd bulish 매수시 data1매수 추가식 data2 obv매도시 data1 모두매도. data2 는 60분 100분등 장봉 data1 dms 5분10분 단봉입니다,부탁드립니다.늘 감사드립니다
2025-11-06
347
글번호 227705
답변완료
지표식 요청 드립니다.
안녕하세요항상 빠른 답변 감사 드립니다.DHL2 = (DayHigh+DayLow)/2;위 식을 분봉에서 사용하는데일 시작 시간을 0시에서 변경 하는 식을 구하고자 합니다.그리고 추가로트레이딩 뷰에서의lookahead=barmerge.lookahead_on은 “미래의 일봉 데이터(예: 당일 일봉 고가·저가)가 완성되기 전에 미리 현재 분봉에 표시”되도록 하는 옵션입니다.이 개념을 예스식에서도 가능 하다면 요청 드립니다.그럼 좋은 하루 되세요
2025-11-06
431
글번호 227704
양산박 님에 의해서 삭제되었습니다.
2025-11-06
17
글번호 227703
답변완료
검색식 부탁드립니다
ATR값 = ATR(기간_ATR); ATR퍼센트 = (ATR값 / CLOSE)*100; 소스값 = ATR퍼센트; // 볼린저밴드 계산 중간선 = AVG(소스값, 기간_BB); 편차 = STDEV(소스값, 기간_BB); 상단밴드 = 중간선+ (편차 * 표준편차_배수); 하단밴드 = 중간선 - (편차 *표준편차_배수); 하단밴드 지표조건 기간_ATR 22 기간_BB 20 표준편차_배수 2 1,ATR지표값이 1봉전보 하락하고 BB 하단선을 크로스 다운한 검색식 부탁 드립니다 2, ATR 지표값을 BB상단선이 돌파한 검색식 부탁드립니다rsiVolweight = if(rsiVal <30 and Volweight > 1.2,0.8, if(rsiVal > 70 and volweight > 1.2,1.3,1,0));weightedDis = baseDis*rsiweight*volweight*rsivolweight;smoothedweightedDis = avg(weightedDis,3)지표조건per 20volper20rsiper14지표값이 1 이하인 검색식 부탁 드립니다
2025-11-06
431
글번호 227698
답변완료
중심가
감사합니다. 아래 지표 부탁드립니다 1. N년도 기준, N년간 최고가와 최저가의 중심가를 구하는 지표2. 당해년도 기준, 연간 최고가와 최저가의 중심가를 구하는 지표 3. N년도 마지막 분기의 최고가와 최저가의 중심가 지표가 그 이후 년도에도 그대로 동일하게 계속 그려지는 N년도 마지막 분기 중심가를 구하는 지표4. 당해년도 기준, 각 분기별 중심가 지표가 당해년도 마지막까지 직선으로 표시되는 지표(1, 2, 3분기 중심가지표가 각각 분기별로 다르게 4분기까지 직선으로 그려지는 지표)5. N년도 기준, 각 분기별 중심가 지표가 그 이후 년도에도 계속 직선으로 표시되는 지표(N년도의 1, 2, 3, 4분기 중심가지표가 각각 분기별로 다르게 직선으로 그려지고 그 이후 현재까지 그려지는 지표)
년간최고최저
분기별최고최저
2025-11-06
337
글번호 227693
답변완료
문의 드립니다.
///_____________________________________________________________________________________________________________________///Inputs///‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾tf = input.timeframe("", title = "Timeframe")len = input.int(20, title = "Length", minval = 1)‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾get_vpc(_len) => //Main Logic var float h_vwap = high var float l_vwap = low float upper = na float lower = na hst = ta.highest(_len) lst = ta.lowest(_len) new_high = high == hst new_low = low == lst h_vwap := ta.vwap(high,new_high) l_vwap := ta.vwap(low,new_low) h_change = ta.change(h_vwap) l_change = ta.change(l_vwap) upper := new_high ? hst : (hst == hst[1] ? upper[1] + h_change : math.min(hst,upper[1] + h_change)) lower := new_low ? lst : (lst == lst[1] ? lower[1] + l_change : math.max(lst,lower[1] + l_change)) _avg = math.avg(upper,lower) //Trend Detection & Coloring var int dir = 0 var int dir2 = 0 dir := new_high?1:new_low?-1:0 dir2 := new_high?1:new_low?-1:dir2[1] [upper,lower,_avg,hst,lst,dir,dir2]//Calling Function[upper,lower,mid,hst,lst,dir,dir2] = request.security("",tf,get_vpc(len))///_____________________________________________________________________________________________________________________///Display///‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾u = plot(upper, title = "Upper", color = dir == 1 ? color.rgb(0,0,0,100):color.rgb(255, 3, 62), style = plot.style_linebr)plot(mid, title = "Mid", color = color.gray, display = display.none)l = plot(lower, title = "Lower", color = dir == -1 ? color.rgb(0,0,0,100):color.rgb(61, 170, 69), style = plot.style_linebr)c = plot(close, display = display.none, editable = false)fill(u,c,dir2 == 1?color.rgb(0,0,0,100):color.rgb(255, 3, 62, 95), title = "Fill")fill(l,c,dir2 == -1?color.rgb(0,0,0,100):color.rgb(61, 170, 69, 95), title = "Fill")plot(hst, title = "DC Upper", color = #004d92, display = display.none)plot(lst, title = "DC Lower", color = #004d92, display = display.none)//<---nice트레이딩뷰 수식입니다.예스로 좀 바꿔주세요.
2025-11-06
588
글번호 227692
답변완료
crossup 수식 매매시점 문의
아래 예제에서 진입과 청산 매매 시점에 대해 문의 드립니다. 1. 20일 지수 이평이 300일 지수 이평 교차시 buy 하는데, 이는 일봉이 완성된 상태서 매수 하나요? 일봉 완성 된 후 진입한다면 너무 늦은거 같습니다. 실시간 현재가로 buy 하려면 어떻게 하나요?2. SetStopLoss(1.3); 진입가격에서 1.3% 손실하면 청산하는데 , 이는 실시간으로 이뤄지나요? 아니면 일봉이 끝난상태서 이뤄지나요?3. 만약 crossup 은 일봉기준, SetStopLoss 는 실시간 기준으로 작동한다면 함수별로 셋팅 되있는 default 값 을 어떻게 확인하나요? 예스랭귀지 편집기 - 사전 에서도 확인이 안됩니다. 4. 추가로 9분봉을 활용한 수식을 작성하고 싶습니다. 예를들어 9분봉 기준 20일 지수 이평이 300일 지수 이평 교차 시 buy 하고싶은데 crossup 함수를 9분봉 세계관에서 사용하려면 어떻게 작성해야할까요? 감사합니다.======= 예제 ========= 단기지수이평 = Ema(C,20); 장기지수이평 = Ema(C,300); #진입 If CrossUp(단기지수이평, 장기지수이평) Then Buy("Buy"); #손절 청산 SetStopLoss(1.3);
2025-11-06
458
글번호 227690
답변완료
수식문의
아래 수식, 잘 이용하고 있읍니다.(자동매매에) 쓰다보니 변별력을 높이기 위해 다음 사항을 추가하고 싶으나 직접 만들 자신없어 요청드립니다.1봉전 CrossUp(myZLMA ,myEMA) + 0봉전 RSI(14)>=60, -1~-5봉 RSI(14)<59.9 or 0봉전 CrossUp(myZLMA ,myEMA) + 0봉전 RSI(14)>=60, -1~-5봉 RSI(14)<59.9 ============================================================ input : 기간(15); var : myema(0),correction(0),myZLMA (0); myEMA = Ema(C, 기간); correction = C + (C - myEMA); myZLMA = Ema(correction, 기간) ; var1 = Ema(C,200);if CrossUp(myZLMA ,myEMA) and V>= V[1]*2 and C>C[1]*1.02 and countif(myZLMA > myZLMA[1] and myEMA > myEMA[1] and var1 > var1[1],2) == 2 Then Find(1);
2025-11-05
391
글번호 227689