커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

지표문의 드립니다

안녕하세요 관리자님!! 항상 감사드립니다 익절지표를 찾는중인데요 혹시 스퀴즈모멘텀 지표를 예스랭귀지에서 구현할수 있을까요? 혹시 있다면 최신버전으로 부탁드리겠습니다 감사합니다^^
프로필 이미지
카카
2025-04-19
327
글번호 190264
지표
답변완료

수식좀 요청 드립니다.

ㅇ 매번 많은 도움에 고맙 습니다. ㅇ아래 수식에서 VAR1 추세선 이러고 하셨는데.... <그림> 처럼 추세의 고점 과 저점을 나누어서 중심선을 연결 할수는 있나요? input : i_lenHARSI(10),i_smoothing(3),i_lenRSI(3); var : i_colUp(0),i_colDown(0),i_colWick(0),i_source(0); var : _closeRSI(0),_openRSI(0),_highRSI_raw(0),_lowRSI_raw(0); var : _highRSI(0),_lowRSI(0),_close(0),_open(0),_high(0),_low(0); Var : cnt(0), DownAmt1(0), UpAmt1(0), UpSum1(0), DownSum1(0), UpAvg1(0), DownAvg1(0),RSIV1(0); Var : DownAmt2(0), UpAmt2(0), UpSum2(0), DownSum2(0), UpAvg2(0), DownAvg2(0),RSIV2(0); var : bodyColour(0),wickColour(0); i_colUp = red; i_colDown = teal; i_colWick = gray; i_source = (o+h+l+c)/4 ; _closeRSI = rsi(i_lenHARSI)-50; _openRSI = IFF(IsNaN(_closeRSI[1]) == False, _closeRSI[1], _closeRSI); If CurrentBar == 1 AND i_lenHARSI > 0 Then Begin UpSum1 = 0; DownSum1 = 0; For cnt = 0 To i_lenHARSI - 1 Begin UpAmt1 = H[cnt] - H[cnt+1]; If UpAmt1 >= 0 Then DownAmt1 = 0; Else Begin DownAmt1 = -UpAmt1; UpAmt1 = 0; End; UpSum1 = UpSum1 + UpAmt1; DownSum1 = DownSum1 + DownAmt1; End; UpAvg1 = UpSum1 / i_lenHARSI; DownAvg1 = DownSum1 / i_lenHARSI; End Else If CurrentBar > 1 AND i_lenHARSI > 0 Then Begin UpAmt1 = H[0] - H[1]; If UpAmt1 >= 0 Then DownAmt1 = 0; Else Begin DownAmt1 = -UpAmt1; UpAmt1 = 0; End; UpAvg1 = (UpAvg1[1] * (i_lenHARSI - 1) + UpAmt1) / i_lenHARSI; DownAvg1 = (DownAvg1[1] * (i_lenHARSI - 1) + DownAmt1) / i_lenHARSI; End; If UpAvg1 + DownAvg1 <> 0 Then RSIV1 = 100 * UpAvg1 / (UpAvg1 + DownAvg1); Else RSIV1 = 0; If CurrentBar == 1 AND i_lenHARSI > 0 Then Begin UpSum2 = 0; DownSum2 = 0; For cnt = 0 To i_lenHARSI - 1 Begin UpAmt2 = L[cnt] - L[cnt+1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else Begin DownAmt2 = -UpAmt2; UpAmt2 = 0; End; UpSum2 = UpSum2 + UpAmt2; DownSum2 = DownSum2 + DownAmt2; End; UpAvg2 = UpSum2 / i_lenHARSI; DownAvg2 = DownSum2 / i_lenHARSI; End Else If CurrentBar > 2 AND i_lenHARSI > 0 Then Begin UpAmt2 = L[0] - L[1]; If UpAmt2 >= 0 Then DownAmt2 = 0; Else Begin DownAmt2 = -UpAmt2; UpAmt2 = 0; End; UpAvg2 = (UpAvg2[1] * (i_lenHARSI - 1) + UpAmt2) / i_lenHARSI; DownAvg2 = (DownAvg2[1] * (i_lenHARSI - 1) + DownAmt2) / i_lenHARSI; End; If UpAvg2 + DownAvg2 <> 0 Then RSIV2 = 100 * UpAvg2 / (UpAvg2 + DownAvg2); Else RSIV2 = 0; _highRSI_raw = RSIV1-50; _lowRSI_raw = RSIV2-50; _highRSI = max(_highRSI_raw, _lowRSI_raw); _lowRSI = min(_highRSI_raw, _lowRSI_raw); _close = (_openRSI + _highRSI + _lowRSI + _closeRSI) / 4; _open = iff(isnan(_open[i_smoothing]) == true, (_openRSI + _closeRSI) / 2 , (_open[1] * i_smoothing + _close[1]) / (i_smoothing + 1)); _high = max(_highRSI, max(_open, _close)); _low = min(_lowRSI, min(_open, _close)); bodyColour = iff(_close > _open , i_colUp , i_colDown); wickColour = i_colWick; var1 = TL_New_Self(sDate,sTime,_open,sDate,sTime,_close); //var2 = TL_New_Self(sDate,sTime,_high,sDate,sTime,max(_open,_close)); //var3 = TL_New_Self(sDate,sTime,_Low,sDate,sTime,min(_open,_close)); TL_SetColor(var1,bodyColour); TL_SetColor(var2,i_colWick); TL_SetColor(var2,i_colWick); TL_SetSize(var1,3); TL_SetSize(var2,1); TL_SetSize(var3,1); if LastBarOnChart == 1 Then Plot1(0); ㅇ 고맙습니다. 좋은 한주 되십시요. 1
프로필 이미지
요타
2025-04-20
458
글번호 190263
지표
답변완료

수식 문의 드립니다.

키움수식을 예스 지표로 나타내고 싶습니다. 항상 고맙습니다. *********************************************** 기준선-상단선 HighestSince(1, CrossUp(Rsi(Period), 50),C) 중심선1 A = HighestSince(1, CrossUp(Rsi(Period), 50),C); B = LowestSince(1, CrossUp(Rsi(Period), 50),C); (A + B)/2 하단선 LowestSince(1, CrossUp(Rsi(Period), 50),C) ---------------------------------------------------- Period // 8 ================================ *. 선_굵기, 색상- 조정 2. 파동선 3. 파동선을 잇는 추세선 부탁 드립니다
프로필 이미지
s1017051
2025-04-19
444
글번호 190262
지표
답변완료

문의드립니다

input : Period(14); Input : af(0.02), maxAF(0.2); var : DP(0),DM(0),sarv(0); DP = DiPlus(Period); DM = DiMinus(Period); sarv = SAR(af,maxAF); if dp > dm and C > sarv Then { plot1(99999999,"라인1"); plot2(0,"라인2"); } else if dp < dm and C < sarv Then { plot1(0,"라인1"); plot2(99999999,"라인2"); } Else { Plot1(0); plot2(0); } -------------------- 위식을 차트에 적용하니까 오류가 납니다 수정좀 부탁드립니다 감사합니다
프로필 이미지
러블리
2025-04-18
362
글번호 190261
지표

고도산 님에 의해서 삭제되었습니다.

프로필 이미지
고도산
2025-04-18
55
글번호 190260
지표
답변완료

수식 부탁드립니다...

시스템을 매수용 따로 매도용 따로 부탁드립니다... 틱으로 계산했는데...틱으로 계산이 안되는 경우 포인트로 해주셔도 괜찮습니다... 10틱= 1포인트 매수용 (해외선물 골드) 1차 매수 조건 당일시가 대비 -160틱 하락하면 매수 진입 1차 매도청산 조건 익절 1차 진입가 대비 +40틱 손절 1차 진입가 대비 -180틱 2차 매수조건 1차 진입 조건에서 익절이 난 경우 당일시가 대비 -260틱 하락 하면 매수 진입 1차 진입 조건에서 손절이 난 경우(시가대비 -340틱 하락 한 경우) 당일 시가 대비 -260틱 하락 하면 매수 진입 하여야 하는데 이미 -340틱이 났으므로 기다렸다가 손절가 대비 +80틱 오르면 매수진입 2차 청산조건 익절 2차 진입가 대비 +50틱 손절 2차 진입가 대비 -180틱 1차 매수조건에서 익절 혹은 손절이 된 경우 1차 매수조건에서는 진입하지 않고 2차 매수조건에서만 진입 2차 익절 혹은 손절 이후 매매 중지 매도용 (해외선물 골드) 1차 매도 조건 당일시가 대비 +160틱 상승하면 매도 진입 1차 매수청산 조건 익절 1차 진입가 대비 -40틱 손절 1차 진입가 대비 +180틱 2차 매도조건 1차 진입 조건에서 익절이 난 경우 당일시가 대비 +260틱 상승 하면 매도 진입 1차 진입 조건에서 손절이 난 경우(시가대비 +340틱 상승 한 경우) 당일 시가 대비 +260틱 상승 하면 매도 진입 하여야 하는데 이미 +340틱이 났으므로 기다렸다가 손절가 대비 -80틱 하락 매도진입 2차 청산조건 익절 2차 진입가 대비 -50틱 손절 2차 진입가 대비 +180틱 1차 매도조건에서 익절 혹은 손절이 된 경우 1차 매도조건에서는 진입하지 않고 2차 매도조건에서만 진입 2차 익절 혹은 손절 이후 매매 중지 감사합니다...
프로필 이미지
황금호랑이
2025-04-18
232
글번호 190255
시스템
답변완료

수식변환 부탁드립니다.

일봉의 5일선을 분봉에 나타내고자 합니다. 키움 함수 np = nPreDayClose(기간); 키움 수식 표현입니다. (DayClose()+nP(1)+nP(2)+nP(3)+nP(4))/5 위 수식으로 예스분봉에서 지표로 나타내고 싶습니다.
프로필 이미지
매일대박
2025-04-18
319
글번호 190254
지표
답변완료

사용자 함수 에러를 잡아주세요

tradingview에서 parabolic RSI라는 지표를 YT로 변환중 _pine_sar라는 함수를 작성하는데 '문법에러, 잘못된 토큰,'<File End>'라는 에러를 만났는데 도대체 무슨 말인지 모르겠네요. 제가 작성한 함수는 다음과 같습니다. input: src(NumericSeries),start(Numeric),inc(Numeric),max1(Numeric),len(numeric); var: src_high(0),src_low(0); var: result(NaN); var: maxMin(Nan); var: acceleration(Nan); var: isBelow(0),isFirstTrendBar(false); src_high = src+1; src_low = src-1; if barindex <= len+2 Then { if src > src[1] Then { isBelow = 1; maxMin = src_high; result = src_low[1]; } else { isBelow = 0; maxMin = src_low; result = src_high[1]; } isFirstTrendBar = true; acceleration = start; } result = result + acceleration * (maxMin - result); if isBelow==1 Then { if result > src_low Then { isFirstTrendBar = true; isBelow = 0; result = max(src_high, maxMin); maxMin = src_low; acceleration = start; } else { if result < src_high Then { isFirstTrendBar = true; isBelow = 1; result = min(src_low, maxMin); maxMin = src_high; acceleration = start; } if isFirstTrendBar==False Then { if isBelow==1 Then { if src_high > maxMin Then { maxMin = src_high; acceleration = min(acceleration + inc, max1); } else { if src_low < maxMin Then { maxMin = src_low; acceleration = min(acceleration + inc, max1); } } } if isBelow==1 Then { result = min(result, src_low[1]); if barindex > 1 Then { result = min(result, src_low[2]); } } else { result = max(result, src_high[1]); if barindex > 1 Then{ result = max(result, src_high[2]); } } _pine_sar = numToStr(result,2) + ";" + numToStr(isBelow,0);
프로필 이미지
고도산
2025-04-18
261
글번호 190253
사용자 함수
답변완료

종목 검색 부탁드립니다.

전일대비 100봉이내 20% 이상 상승하면서 20일 60일선을 동시돌파한 종목을 검색하고 십습니다.
프로필 이미지
매일대박
2025-04-18
227
글번호 190251
종목검색