커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

지표 변환 부탁드립니다

매번 바쁘신데 감사드립니다. QQE MOD 지표인데 multi time frame 버전입니다. 차트주기와 타주기 모두 표현 가능하고, 그래프가 첨부사진 위와 아래처럼 두 가지 모습 모두 가능한지 궁금합니다. 트레이딩뷰 지표인데 예스랭귀지로 변환 가능한지 문의드립니다. indicator("SuperJump QQE MOD MTF", shorttitle = "Sjump QQE MOD MTF", timeframe="",timeframe_gaps =true) RSI_Period = input.int(6, title='RSI Length') SF = input.int(5, title='RSI Smoothing') QQE = input.int(3, title='Fast QQE Factor') ThreshHold = input.int(3, title="Threshold") src = input.source(close, title="RSI Source") QQELongColor = input.color(color.new(color.green,50), "QQE Long") QQEShortColor = input.color(color.new(color.red,50), "QQE Short") QQEWeakColor = input.color(color.new(color.gray,50), "QQE Weak") isFillBackGround = input.bool(false,"Fill BackGround for higherTimeFrame") GetQQEDefaultValue(_src, _rsi_period, _sf, _qqe) => _Wilders_Period = _rsi_period * 2 - 1 _RSI = ta.rsi(_src, _rsi_period) _RsiMa = ta.ema(_RSI, _sf) _AtrRsi = math.abs(_RsiMa[1] - _RsiMa) _MaAtrRsi = ta.ema(_AtrRsi, _Wilders_Period) _dar = ta.ema(_MaAtrRsi, _Wilders_Period) * _qqe [_Wilders_Period, _RSI, _RsiMa, _AtrRsi, _dar] [Wilders_Period, Rsi,RsiMa,AtrRsi,dar] = GetQQEDefaultValue(src, RSI_Period, SF, QQE) GetFastAtrRsiTL(_dar, _RsiMa)=> longband = 0.0 shortband = 0.0 trend = 0 DeltaFastAtrRsi = _dar RSIndex = _RsiMa newshortband = RSIndex + DeltaFastAtrRsi newlongband = RSIndex - DeltaFastAtrRsi longband := RSIndex[1] > longband[1] and RSIndex > longband[1] ? math.max(longband[1], newlongband) : newlongband shortband := RSIndex[1] < shortband[1] and RSIndex < shortband[1] ? math.min(shortband[1], newshortband) : newshortband cross_1 = ta.cross(longband[1], RSIndex) trend := ta.cross(RSIndex, shortband[1]) ? 1 : cross_1 ? -1 : nz(trend[1], 1) FastAtrRsiTL = trend == 1 ? longband : shortband FastAtrRsiTL = GetFastAtrRsiTL(dar, RsiMa) length = input.int(50, minval=1, title="Bollinger Length") mult = input.float(0.35, minval=0.001, maxval=5, step=0.1, title="BB Multiplier") basis = ta.sma(FastAtrRsiTL - 50, length) dev = mult * ta.stdev(FastAtrRsiTL - 50, length) upper = basis + dev lower = basis - dev Zero = hline(0, color=color.white, linestyle=hline.style_dotted, linewidth=1) //////////////////////////////////////////////////////////////// RSI_Period2 = input(6, title='RSI Length') SF2 = input(5, title='RSI Smoothing') QQE2 = input(1.61, title='Fast QQE2 Factor') ThresHold2 = input(3, title="Threshold") src2 = input(close, title="RSI Source") [Wilders_Period2, Rsi2,RsiMa2,AtrRsi2,dar2] = GetQQEDefaultValue(src2, RSI_Period2, SF2, QQE2) FastAtrRsi2TL = GetFastAtrRsiTL(dar2, RsiMa2) Greenbar1 = RsiMa2 - 50 > ThresHold2 Greenbar2 = RsiMa - 50 > upper Redbar1 = RsiMa2 - 50 < 0 - ThresHold2 Redbar2 = RsiMa - 50 < lower isLongTrend = Greenbar1 and Greenbar2 == 1 isShortTrend = Redbar1 and Redbar2 == 1 plot(isFillBackGround == false? FastAtrRsi2TL - 50:na , title='QQE Line', color=color.white, transp=0, linewidth=2) plot(isFillBackGround == false ? RsiMa2 - 50 :na , title="QQE Area", style=plot.style_area, color= isLongTrend ? QQELongColor : isShortTrend ? QQEShortColor : QQEWeakColor) isLongSignal = FastAtrRsi2TL - 50 >=0 and ta.crossunder(RsiMa2 - 50,FastAtrRsi2TL - 50) and isFillBackGround == false isShortSignal = FastAtrRsi2TL - 50 <0 and ta.crossover(RsiMa2 - 50,FastAtrRsi2TL - 50) and isFillBackGround == false 감사합니다!
프로필 이미지
트레트레
2024-08-01
1587
글번호 182178
지표
답변완료

plotpaintbar

plotpaintbar 에서 상단값,하단값은 표현안하고 좌측 우측 표시값만 나타내고 싶은데요 1번 2번 변수는 생략하려면 어떻게 해야하나요?~ plotpaintbar(상단값생략,하단값생략,o,c,"강조"); 그리고 직전 5개봉 이내에서 양음봉 무관하게 고가와 저가의 길이가 가장 긴봉을 paintbar로 나타내고 싶습니다 부탁드려요
프로필 이미지
yamu
2024-08-01
987
글번호 182177
강조
답변완료

타주기 관련해서 질문드립니다

안녕하세요 더운 날 수고가 많으십니다 타주기 관련해서 지난번에 몇 번 여쭤봤던 지표가 있는데 계속 생각과는 다르게 결과가 나와서 여쭤봅니다 일단 궁금한건, 타주기 수식을 작성하면 예를들어 타주기 120분 으로 했으면 그 주기 보다 낮은 배수의 주기에서는 다 사용할 수 있는건가요? 5,10,20,30,60 이런식으로요.타주기 설정보다 높은 주기에서는 안된다는거죠? 그리고 지난번에 여쭤봤던 수식인데요 검토를 해봐도 잘 안맞아서 한번 더 여쭤볼게요. 답변 해주실 때 혹시 검토를 해보고 답변 주시나요? 제가 뭘 잘못 적용했나해서요. 제가 원하는거는 1. 120분봉에서의 데이터를 낮은 주기에서 표현을 하는거고 2. 120분 봉의 체결건수 (ticks) 가 20000개 이하 일때와 50000개 이상일때 각각 나눠서, 30000개 이하면 그 봉의 최저가를 나타내고, 50000개 이상일 경우 최고가를 나타내는 수식입니다 다른 주기에서 확인을 해봤을때 값이 제대로 나오지 않아서 한번 더 여쭤봅니다 **그리고 20000개 이하일때는 5봉 동안의 최저가, 5만개 이상일때는 5봉 동안의 최고가를 나타내는 수식도 알려주실 수 있을까요?? 만약 2만개 이하인 봉을 기준으로 5봉간 최저가를 구할때 그 전봉중 기준에 안맞는거는 건너뛰고 계산하는 수식도 가능한가요? 말이 좀 어려워서 그림 하나 첨부 하겠습니다. 안된다면 그냥 5봉내의 최저가를 구하는 식을 알려주셔도 됩니다 여러번 번거롭지만 부탁드립니다 알려주신 수식: input : 타주기분(120); var : S1(0),D1(0),TM(0),TF(0),cnt(0); Array : TT[50](0),hh[50](0),ll[50](0);; if Bdate != Bdate[1] Then { S1 = TimeToMinutes(stime); D1 = sdate; } if D1 > 0 then { if sdate == D1 Then TM = TimeToMinutes(stime)-S1; Else TM = TimeToMinutes(stime)+1440-S1; TF = TM%타주기분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 타주기분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 타주기분 > 1 and TM >= TM[1]+타주기분) or (Bdate == Bdate[1] and 타주기분 == 1 and TM > TM[1]) Then { #120분 단위 수직선 TL_New(sDate,sTime,0,sDate,sTime,999999999); #120분 단위 Ticks와 최고가 죄저가 for cnt = 49 downto 1 { TT[cnt] = TT[cnt-1]; HH[cnt] = HH[cnt-1]; LL[cnt] = LL[cnt-1]; } hh[0] = h; ll[0] = l; TT[0] = 0; } if h > hh[0] Then hh[0] = h; if L < ll[0] Then ll[0] = l; TT[0] = TT[0]+Ticks; if TT[1] > 20000 and TT[1] < 50000 then { var1 = hh[1]; Var2 = ll[1]; } if var1 > 0 and Var2 > 0 Then { plot1(var1); plot2(Var2); } }
프로필 이미지
yamu
2024-08-01
1072
글번호 182176
지표
답변완료

수정하여 올렸습니다 잘 부탁드립니다

안녕하세요 아래 전략에 대해 스크립트 요청합니다 국내선물 시가를 기준으로 피보나치 수열공식 시가+0.382,시가+050,시가+0.61 청산은 (진입평단가 기준 +0.61)한계약 청산 ,(진입평단가기준+100) 2계약청산에서 청산하려고 합니다주가가 있고 피보나치도 시가 위에서는 매수 아래서는 매도대응하려고 합니다. 그리고 손절은 시가가 무너지면 올손절 하려고 합니다. 매도도 마찬가지로 하려고 합니다. 매도 전략도 같이 부탁드립니다 진입횟수제한 하루5번이상 진입금지도 부탁드립니다. 한가지 더 여쭤보고싶은것은 진입하고 손절이 셋팅이 되있는데 손절을 변동성에 의해 놓쳐버리는 경우가 있는데 이럴땐 대안으로 어떤게 좋을지 여쭤봅니다. 가령 예를 들면 지정가 +-2틱이라든가 아님 시장가1로 해야하는지도 긍금합니다. 진심으로 감사합니다 더운날씨 건강조심하십시요
프로필 이미지
1000djr
2024-08-02
1057
글번호 182175
시스템
답변완료

검색식 부탁 드려요

1. 아래조건에 맞는 검색식 부탁드립니다. 0봉전 기준(기준캔들), 일목균형표 1) 후행스팬이 10 이평선을 돌파하고, 2) 선행스팬1 이 상승 하고, 3) 20일 신고가인 종목 2. TRIX (12) 시그널(9) 골든크로스 종목검색식 부탁드려요. 3. 0봉전 기준 , 일목균형표 전환선이 상승하는 종목 검색식 . 4. 0봉전 기준 , 일목균형표 기준선이 하락하는 종목 검색식. 5. 0봉전 기준 , 일목균형표 기준선이 상승하는 종목 검색식. 6. 스토캐스틱 슬로우 (12,5,5) 침체(20)를 돌파하는 종목 검색식 부탁드립니다. 7. 스토캐스틱 슬로우(12,5,5) 골든크로스 검색식 부탁드립니다. (단,기준선 40 이하에서 발생하는 종목)
프로필 이미지
일지매7
2024-08-02
1167
글번호 182174
종목검색
답변완료

수식요청

아래 수식의 변환을 요청드립니다. A=BBandsUp(17,2); B=BBandsUp(40,2); M=EnvelopeUp(20,6); (c>ma(h,5) and Crossup(A,M)) or (c>ma(h,5) and B>M and Crossup(A,B)) or (A>B and B>M and Crossup(C,A)) or (Crossup(C,A)) and Crossup(C,B) and Crossup(C,M)) 이면서 120일선과 이격이 115이하.
프로필 이미지
ksks
2024-08-02
1285
글번호 182172
종목검색
답변완료

88439 수정부탁드려봅니다.

안녕하세요. 수고 많으십니다. input : vPer(500),Per(-10); Condition1 = V >= V[1]*(vper/100) and C <= H*(1+Per/100); #최근 기준봉의 종가와 기준봉 전봉의 종가 if Condition1 == true then { var1 = C; Var2 = C[1]; } if CountIf(Condition1 == true,20)[1] >= 1 or var1 >= Var2*1.10 and (CrossUp(C,var1) or c > Var1) Then Find(1); ----------------------------------------------------------------------- 위 해당 수식으로 검색하니 950종목이 검색 됩니다. 기존 바꾸지 않은 검색식으로는 검색하면 50종목 정도 검색이 되는데 아마도 or로 묶이는 데서 제가 설명이 부족 하지 않았나 싶습니다. if CountIf(Condition1 == true,20)[1] (여기 조건은 20봉 대비 500% 이상인 봉에 고가대 비 종가가 -10% 이상인 봉의 조건) >= 1 (위조건에 갭하락 해서 -10% 이상인 종목도 검색이 되어서 제외 시키고자 기준봉이 1봉전 종가 대비 0봉전 고가가 5% 이상 상승하고 종가상 고가대비 -10% 이상 인걸로 수정 하고자 합니다) OR var1 >= Var2*1.10 and ) 위 조건과 똑 같은. 조건이며. 다른건 위조건은 -10 프로 지만. 여긴 오늘 시가대비. 오늘 종가가 +10프로 입니다. AND (CrossUp(C,var1) 0봉이 위 기준봉의 종가를 돌파 or 기준봉의 종가 보다 크다 AND 0봉이 C >= C(1) (1봉전 종가보다 0봉이 크다) AND 0봉이 C > O ( 시가보다 종가가 크다) THEN Find(1); > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 부탁드려봅니다. > 안녕하세요 예스스탁입니다. input : vPer(500),Per(-10); Condition1 = V >= V[1]*(vper/100) and C <= H*(1+Per/100); #최근 기준봉의 종가와 기준봉 전봉의 종가 if Condition1 == true then { var1 = C; Var2 = C[1]; } if CountIf(Condition1 == true,20)[1] >= 1 or var1 >= Var2*1.10 and (CrossUp(C,var1) or c > Var1) Then Find(1); 즐거운 하루되세요 > 하루삼프로 님이 쓴 글입니다. > 제목 : 부탁드려봅니다. > 안녕하세요. 수고많으십니다. 아래 추가 사항을 1박2일동안 그동안에 작성해주신 수식을 가지고 연구 해보았지만 답을 돌출 못하고 또다시 게시판에 도움 요청 합니다. 송구합니다. input : vPer(500),Per(-10); Condition1 = V >= V[1]*(vper/100) and C <= H*(1+Per/100); if CountIf(Condition1 == true,20)[1] >= 1 Then Find(1); 위 수식에서 아래 사항을 추가 해주시면 감사하겠습니다. if CountIf(Condition1 == true,20)[1] >= 1 or 기준봉 종가가 +10% 이상 and (0봉이 기준봉의 종가를 돌파 or 0봉이 기준봉 종가보다 클때) then Find(1); 새로운 봉이 출현하면 먼저 나온봉은 없어지고 새로운 봉이 기준봉이 됩니다. 기준봉 종가 변수 처리 가능 하다면 변수처리 부탁드립니다. 항상 감사드립니다. 수고하십시오^^
프로필 이미지
하루삼프로
2024-08-01
1078
글번호 182171
종목검색

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

프로필 이미지
starj5
2024-08-01
3
글번호 182169
지표

박두희 님에 의해서 삭제되었습니다.

프로필 이미지
박두희
2024-08-01
4
글번호 182168
종목검색