커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3310
글번호 230811
답변완료
수식첨가
Inputs : Period(20), Sence(1.2), CC_DN(Yellow); Vars: VLineUp(0), VLineDn(0), HHighest(0), LLowest(0), JustChanged(FALSE), VLine(0), DBN(0); Array: Highs[35](0), Lows[35](0), RRange[35](0), UpWave[1](FALSE), DnWave[1](FALSE); var : t(0); If STime == 180000 Then DBN = 0; DBN = DBN + 1; Var1 = Period; Var2 = Var1 - 1; Var3 = Var1 - 2; Var5 = Sence; Var6 = H-L; JustChanged = FALSE; if CurrentBar <= Var2 then begin Highs[CurrentBar] = Close; Lows[CurrentBar] = Close; RRange[CurrentBar] = (H-L) /2; end; if CurrentBar == Var1 then begin if Highs[Var2] >= Highs[Var3] then begin UpWave[1] = TRUE; HHighest = Highs[Var2]; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); #Plot1(VLineUp,"VLineUp"); end; if Highs[Var2] < Highs[Var3] then begin DnWave[1] = TRUE; LLowest = Lows[Var2]; VLineDn = LLowest + (Var5 * MA(Var6,Var2)); #Plot2(VLineDn,"VLineDn"); end; end; if CurrentBar > Var1 then begin if DnWave[1] and Close > VLineDn then begin DnWave[1] = FALSE; UpWave[1] = TRUE; JustChanged = TRUE; HHighest = Close; LLowest = 0; end; if UpWave[1] and Close < VLineUp and JustChanged == FALSE then begin UpWave[1] = FALSE; DnWave[1] = TRUE; JustChanged = TRUE; LLowest = Close; HHighest = 0; end; if JustChanged == FALSE then begin if Close > HHighest then HHighest = Close; else if Close < LLowest then LLowest = Close; end; VLineUp = HHighest - (Var5 * MA(Var6,Var2)); VLineDn = LLowest + (Var5 * MA(Var6,Var2)); if UpWave[1] then t = 1; else if DnWave[1] then t = -1; end; if t == 1 and t != t[1] and c > ma(c,10) Then Buy(); if t == -1 and t != t[1] and c < ma(c,10) Then Sell(); 안녕하세요 위식에 수정 부탁드립니다 손절 청산후 다음 신호 진입시 청산 가격에서 다음신호시-3틱 하향된 가격으로 매수 진입 ( 예 매수는 손절 청산가 가격이 250이면 진입은 247에 진입) 매도는 +3틱이상(손절 청산가가 250일때 다음신호 스위칭시 253에 진입) 다음신호 스위칭시 청산가가 아닌 +.-3틱 가격으로 주문
2025-12-12
188
글번호 228915
답변완료
지표에서 playsound
PlaySound("aaa.wav");라고만 하면 기본 폴더인 Sound폴더 밑에서 찾을 수 있나요? 아니면 C드라이브부터 wav화일까지의 full path를 넣어줘야 하나요? full path를 넣어줄때는'\' 표시는 2개를 넣어줘야 하는 지 하나만 넣어줘도 되는 지 문의 드립니다. 만약 full path를 넣어줘야 한다면 sound폴더 밑이 아닌 임의의 폴더 밑에 있는 wav화일도 지정이 가능할까요?그리고, 이게 과거데이터에 처음 적용될때(지표가 챠트에 처음 적용될 때)는 playsound에서 무슨 wav화일을 지정했든 그냥 '띵~' 소리만 나는게 맞는 걸까요? 테스트삼아 playsound를 매 봉에 출력되도록 해봐도 현재 시세가 없는 때여서 그런지 몰라도 그냥 '띵~' 소리가 한번만 나서요. 그리고 wav화일은 존재하는 화일인지는 확인한 상태입니다.
2025-12-12
289
글번호 228913
온고지신 님에 의해서 삭제되었습니다.
2025-12-12
2
글번호 228912
답변완료
수식문의드립니다
25년 12월 7일자 (#228749) 문의와 관련되어 있으며 요청사항을 다시 부탁드립니다#시간주기별 시가 수식/#일봉상에서의 연월주봉의 시가선#========================================================var : cnt(0),WeekOC(0),MonthOC(0),WeekOL(0);Array : WeekO[20](0),WeekC[20](0);Array : MonthO[20](0),MonthC[20](0);Array : YearO[20](0),YearC[20](0);if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then{ WeekO[0] = O; #주봉시작일의 시가 For cnt = 1 to 19 { WeekO[cnt] = WeekO[cnt-1][1]; WeekC[cnt] = WeekC[cnt-1][1]; } WeekOC = C ; #주봉시작(변경)일의 캔들종가 WeekOL = L ; #주봉시작(변경)일의 캔들저가}WeekC[0] = C; #주봉의 종가if Bdate > Bdate[1]+30 Then{ MonthO[0] = O; #월봉시작일의 캔들시가 For cnt = 1 to 19 { MonthO[cnt] = MonthO[cnt-1][1]; MonthC[cnt] = MonthC[cnt-1][1]; } MonthOC = C ; #월봉시작일의 캔들종가}MonthC[0] = C; #월봉의 종가if Bdate > Bdate[1]+1000 Then{ YearO[0] = O; #연봉시작일의 캔들시가 For cnt = 1 to 19 { YearO[cnt] = YearO[cnt-1][1]; YearC[cnt] = YearC[cnt-1][1]; }}YearC[0] = C;Plot1(YearO[0],"연봉시가");Plot2(MonthO[0],"월봉시가");Plot3(MonthC[0],"월봉종가");Plot4(WeekO[0],"주봉시가");Plot5(WeekC[0],"주봉종가");상기 수식은 연봉시가,월봉시가, 주봉시가선은 제가 생각한 곳에서 정확히 나옵니다. 그러나 종가선은 제 생각한 바와 틀리게 나옵니다.그래서 다시 요청사항을 말씀드리오니 수식을 일봉상차트기준으로, 주봉상 차트기준으로 두가지 방향에서 정리해 주시면 감사하겠습니다.1. 일봉상 차트기준 가. 매주시간기준으로 볼 때 주 시작일 캔들의 시가와 종가와 매주 마지막일의 시가와 종가라인나. 매월시간기준으로 볼 때 월 시작주 캔들의 시가와 종가와 매월 마지막주 캔들의 시가와 종가라인다. 매월시간기준으로 볼 때 월 시작일 캔들의 시가와 종가와 매월 마지막일 캔들의 시가와 종가라인2. 주봉상 차트기준가. 매월기간기준으로 볼 때 월 시작주 캔들의 시가와 종가와 매월 마지막주 캔들의 시가와 종가라인매월시가일캔들과 주봉의 시가 또는 마지막주의 캔들은 겹칠수 있습니다. 이렇게 겹치는 캔들도 찾아야 합니다일봉상기준으로 보면 상기식에서 WeekC[0] = C; #주봉의 종가와 MonthC[0] = C; #월봉의 종가는 동일한 라인입니다
2025-12-11
295
글번호 228911
답변완료
지표식 질문입니다
통합1분주식 차트에서08시 01분 봉09시 01분 봉15시 31분 봉20시 00분 봉을 제외한 봉에서거래량을 누적하는 지표를 만들고 싶습니다감사합니다
2025-12-11
131
글번호 228910
에구머니 님에 의해서 삭제되었습니다.
2025-12-11
5
글번호 228909
답변완료
분봉을 사용할때 종가라인(녹색)이 생기는데 이거 어떻게 없애야 하는지요?
분봉에는 어떤 종목이든 반드시 녹색선(녹색 가로선)이 생성이 됩니다 어떻게 제거 할수 있는지요 ? 지표에서 그린게 아닌데 default를 뜨네요
2025-12-11
169
글번호 228908
답변완료
문의 드립니다.
안녕하세요 ~ 많은 도움 주셔서 감사 드립니다. 200일 이평선 위에 있고 & rsi(5)가 70 위에 있는 조건에서, 아래의 1라인이 2라인을 (또는 2라인이 1라인을 ) 돌파하거나, 현재 가격이 1 & 2라인을 동시에 같이 돌파하는 종목의 검색식을 부탁 드립니다. 1라인. A=avg(c,17); ATR=avg(max(max(h-L,abs(c(1)-h)),abs(c(1)-L)),17); B=ATR; D=A+B;2라인. (highest(h,60)+Lowest(L,60))/2감사합니다.
2025-12-11
166
글번호 228907
답변완료
예스종목검색으로 변환요청합니다.^^*
*아래지표 수식을 예스 종목검색으로 요청드립니다.. 항상 도움주셔서 감사합니다...^^*input : short_l1(5);input : short_l2(20);input : short_l3(15);input : long_l1(20);input : long_l2(15);var : shortTermXtrender(0),longTermXtrender(0);var : shortXtrenderCol(0),maShortTermXtrender(0),colShortTermXtrender(0);var : longXtrenderCol(0),macollongXtrenderCol(0),tx(0);Function RSIvalue Numeric{ Inputs: value(Numeric),Length(NumericSimple); Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0); If CurrentBar == 1 AND Length > 0 Then Begin UpSum = 0; DownSum = 0; For Counter = 0 To Length - 1 Begin UpAmt = value[Counter] - value[Counter+1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpSum = UpSum + UpAmt; DownSum = DownSum + DownAmt; End; UpAvg = UpSum / Length; DownAvg = DownSum / Length; End Else If CurrentBar > 1 AND Length > 0 Then Begin UpAmt = value[0] - value[1]; If UpAmt >= 0 Then DownAmt = 0; Else Begin DownAmt = -UpAmt; UpAmt = 0; End; UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length; DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length; End; If UpAvg + DownAvg <> 0 Then RSIvalue = 100 * UpAvg / (UpAvg + DownAvg); Else RSIvalue = 0;}EndFunctionFunction T3 Numeric{ Inputs: src(Numeric),len(Numeric); var : xe1_1(0),xe2_1(0),xe3_1(0),xe4_1(0),xe5_1(0),xe6_1(0); var : b_1(0),c1_1(0),c2_1(0),c3_1(0),c4_1(0); xe1_1 = ema(src, len); xe2_1 = ema(xe1_1, len); xe3_1 = ema(xe2_1, len); xe4_1 = ema(xe3_1, len); xe5_1 = ema(xe4_1, len); xe6_1 = ema(xe5_1, len); b_1 = 0.7; c1_1 = -b_1*b_1*b_1; c2_1 = 3*b_1*b_1+3*b_1*b_1*b_1; c3_1 = -6*b_1*b_1-3*b_1-3*b_1*b_1*b_1; c4_1 = 1+3*b_1+b_1*b_1*b_1+3*b_1*b_1; T3 = c1_1 * xe6_1 + c2_1 * xe5_1 + c3_1 * xe4_1 + c4_1 * xe3_1;}EndFunctionshortTermXtrender = RSIvalue(ema(close, short_l1) - ema(close, short_l2), short_l3 ) - 50;longTermXtrender = RSIvalue(ema(close, long_l1), long_l2 ) - 50;shortXtrenderCol = iff(shortTermXtrender > 0 , iff(shortTermXtrender > shortTermXtrender[1] , lime , Green), iff(shortTermXtrender > shortTermXtrender[1] , red ,DarkRed));plot1(shortTermXtrender, "B-Xtrender Osc. - Histogram",shortXtrenderCol);maShortTermXtrender = t3( shortTermXtrender , 5 );colShortTermXtrender = IFf( maShortTermXtrender > maShortTermXtrender[1] , lime , red);plot2(maShortTermXtrender,"B-Xtrender Shadow",Black);plot3(maShortTermXtrender,"B-Xtrender Color",colShortTermXtrender);if maShortTermXtrender > maShortTermXtrender[1] and maShortTermXtrender[1] < maShortTermXtrender[2] Then{ tx = Text_New_Self(sDate,sTime,maShortTermXtrender,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Lime);}if maShortTermXtrender < maShortTermXtrender[1] and maShortTermXtrender[1] > maShortTermXtrender[2] Then{ tx = Text_New_Self(sDate,sTime,maShortTermXtrender,"●"); Text_SetStyle(tx,2,2); Text_SetColor(tx,Red);}longXtrenderCol = iff(longTermXtrender> 0 , IFf(longTermXtrender > longTermXtrender[1] , lime , Green) , IFf(longTermXtrender > longTermXtrender[1] , red , DarkRed));macollongXtrenderCol = iff(longTermXtrender > longTermXtrender[1] , lime , red);plot4(longTermXtrender ,"B-Xtrender Trend - Histogram",longXtrenderCol);plot5(longTermXtrender ,"B-Xtrender Trend - Line", Black);plot6(longTermXtrender ,"B-Xtrender Trend - Line", macollongXtrenderCol);
2025-12-11
180
글번호 228906