커뮤니티

예스랭귀지 Q&A

글쓰기

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

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

검색식 부탁 드립니다

M=macd(기간1,기간2)-eavg(macd(기간1,기간2),기간3); valuewhen(1,Crossup(M,0) or Crossdown(M,0),C) 지표조건 기간1 12 기간1 26 기간1 9 돌파 조건 종목 검색식
프로필 이미지
구경꾼그림자
2024-07-08
884
글번호 181248
종목검색
답변완료

안녕하세요, 수식을 문의드립니다

안녕하세요, 수식을 문의드립니다 아래의 문항에서 SetStopProfittarget(0.85,PointStop) -0.25 P 가 하락하면 매도한다를 매도식으로 표현 하고자 합니다 감사합니다 즐거운 주말 보내세요
프로필 이미지
금보
2024-07-05
707
글번호 181240
시스템
답변완료

함수요청

안녕하세요? 아래 스크립트는 챗GPT에게 질문하여 도출한 것입니다. 예스트레이더로 국내선물 일봉으로 적용할 수 있도록 스크립트 작성 부탁드립니다. /////////////////////////////////////////////////////////////////////////// [미분을 사용한 주가 분석] 미분을 통해 주가의 변화를 분석할 수 있습니다. 주가를 시간에 대한 함수로 나타내고, 그 함수의 1차 및 2차 미분을 계산함으로써 주가의 변동성과 추세를 이해할 수 있습니다. 1차 미분 (f'(x)): 주가의 변화율, 즉 주가가 시간에 따라 얼마나 빠르게 변하고 있는지를 나타냅니다. 양수이면 주가가 상승하고, 음수이면 주가가 하락합니다. 2차 미분 (f''(x)): 주가 변화율의 변화율, 즉 주가 변화의 가속도를 나타냅니다. 양수이면 주가 상승이 가속되고 있음을, 음수이면 주가 하락이 가속되고 있음을 의미합니다. 3차 함수 계산 주가의 변화를 3차 함수로 모델링하여 분석할 수 있습니다. 3차 함수는 다음과 같은 형태를 가집니다:f(x)=ax3승+bx2승+cx+d 3차 함수는 더 복잡한 주가 패턴을 캡처할 수 있으며, 곡률의 변화를 포함하여 주가의 여러 변동성을 표현할 수 있습니다. [매매신호 해석] 매수 신호: 1차 미분(변화율)이 음에서 양으로 변하는 지점. 이는 주가가 하락세에서 상승세로 전환되는 시점을 나타냅니다. 매도 신호: 1차 미분이 양에서 음으로 변하는 지점. 이는 주가가 상승세에서 하락세로 전환되는 시점을 나타냅니다. --------------------------------------------------------------------------------- import yfinance as yf # NVIDIA 주식 데이터 다운로드 nvda = yf.download('NVDA', start='2022-01-01', end='2023-01-01', progress=False) nvda['Close'].plot(title='NVIDIA Closing Prices') import numpy as np import matplotlib.pyplot as plt # 종가 데이터를 기반으로 시간 축 생성 x = np.arange(len(nvda['Close'])) y = nvda['Close'].values # 3차 다항식 피팅 coefficients = np.polyfit(x, y, 3) polynomial = np.poly1d(coefficients) # 원본 데이터와 모델링된 데이터 플롯 plt.plot(x, y, label='Original Data') plt.plot(x, polynomial(x), label='3rd Degree Polynomial', linestyle='--') plt.legend() plt.show() # 1차 및 2차 미분 계산 first_derivative = np.polyder(polynomial, 1) second_derivative = np.polyder(polynomial, 2) # 미분 값 계산 y_prime = first_derivative(x) y_double_prime = second_derivative(x) # 미분 그래프 플롯 plt.plot(x, y_prime, label='First Derivative') plt.plot(x, y_double_prime, label='Second Derivative') plt.legend() plt.show() # 매매신호 초기화 buy_signals = [] sell_signals = [] # 매매신호 생성 for i in range(1, len(x)): if y_prime[i-1] < 0 and y_prime[i] > 0: # 음에서 양으로 변할 때 (매수 신호) buy_signals.append((x[i], y[i])) elif y_prime[i-1] > 0 and y_prime[i] < 0: # 양에서 음으로 변할 때 (매도 신호) sell_signals.append((x[i], y[i])) # 매매신호 플롯 plt.plot(x, y, label='Original Data') plt.scatter(*zip(*buy_signals), color='green', marker='^', label='Buy Signal', alpha=1) plt.scatter(*zip(*sell_signals), color='red', marker='v', label='Sell Signal', alpha=1) plt.legend() plt.show()
프로필 이미지
흰둥이아빠
2024-07-05
1008
글번호 181236
시스템
답변완료

종목 검색식 부탁드립니다.

제가 만약 특정 종목검색식을 짜서 결과값에 15종목이 도출 되었다면 <*도출된 종목중에> 1. 전일대비 상승률 순 2. 시가대비 상승률 순 3. 거래대금 많은 순 1~3번 조건 각각 상위 5종목만 뽑아낼수 있는 코드가 있나요?
프로필 이미지
허밍스타
2024-07-05
859
글번호 181233
종목검색

살빼고싶다 님에 의해서 삭제되었습니다.

프로필 이미지
살빼고싶다
2024-07-05
32
글번호 181232
검색
답변완료

선형회귀선상의 극대점

안녕하세요. 선형회귀선상의 극대점의 봉 인덱스를 구하는 함수를 다음과 같이 작성했는데 프로그램이 멈추고 실행이 되지 않습니다. 문제가 무엇인지 알려 주시면 감사하겠습니다. Input: N(Numeric); If Index < N Then { GetLocalMaxIndex = NaN; } Else { If Index[N] < 2 Then { GetLocalMaxIndex = NaN; } Else { If LRS(L[N], 2) > 0 and LRS(L[N + 1], 2) < 0 Then { GetLocalMaxIndex = Index[N]; } Else { Var: i(1); Condition1 = True; While Condition1 == True { If Index < N + i Then { GetLocalMaxIndex = NaN; Condition1 = False; // Break the While loop. } Else { If Index[N + i] < 2 Then { GetLocalMaxIndex = NaN; Condition1 = False; // Break the While loop. } Else { If LRS(L[N + i], 2) > 0 and LRS(L[N + i + 1], 2) < 0 Then { GetLocalMaxIndex = Index[N + i]; Condition1 = False; // Break the While loop. } Else { i = i + 1; } } } } } } }
프로필 이미지
김지후
2024-07-05
568
글번호 181231
사용자 함수
답변완료

수식부탁드립니다

var1 = ma(c,Period/2); var2 = ma(C,Period); HMAs= ma(2*var1-Var2,SqRt(Period)); 1. 최근 60봉중의 최고가와 최저가간의 변동율이 40%이상이거나 HMAs가 20봉이상 하향하다가 상승전환된게 최근 80봉이내에 2회이상 발생된후 HMAs를 돌파할때의 매수신호수식 2. 첫째, HMAs가 20봉이상 하락하다가 상승전환한후 둘째, 상승추세로 15봉이상 상승하다가하락전환하고, 세째, 하락전환후 10봉이상 하락추세를 형성하고, 하락추세의 HMAs를 시가종가로 돌파할때의 매수신호수식 (첫째, 둘째, 세째의 내용이 순서되로 발생되어야 함) 3. 첫째, HMAs가 20봉이상 하락하다가 상승전환한후(1봉전HMAs값저장) 둘째, 상승추세로 15봉이상 상승하다가하락전환하고, 세째, 하락전환후 10봉이상 하락추세를 형성하고, 하락추세의 HMAs를 시가종가로 돌파할때(시가저장)에 이때의 시가는 첫째에 저장된 1봉전HMAs값보다 낮은 경우에만 발생되는 매수신호수식 이상의 내용에 대한 신호수식을 부탁드립니다 추가질문: 최근 60봉중이라고 할때에 현재봉이 포함되는 건가요?
프로필 이미지
해피오
2024-07-04
870
글번호 181230
검색
답변완료

적용가능하도록 부탁드립니다.

트레이딩뷰 지표입니다. 적용가능하도록 부탁 드립니다. study("ma angles - JD") src = input(ohlc4, title="source") th = input(2, minval=1, title="threshold for -no trade zones- in degrees") color_bars = input(false, title="color bars?") no_trade = input(false, title="black out bars in no trade zones?") // definition of "Jurik Moving Average", by Everget jma(_src, _length, _phase, _power) => phaseRatio = _phase < -100 ? 0.5 : _phase > 100 ? 2.5 : _phase / 100 + 1.5 beta = 0.45 * (_length - 1) / (0.45 * (_length - 1) + 2) alpha = pow(beta, _power) jma = 0.0 e0 = 0.0 e0 := (1 - alpha) * _src + alpha * nz(e0[1]) e1 = 0.0 e1 := (_src - e0) * (1 - beta) + beta * nz(e1[1]) e2 = 0.0 e2 := (e0 + phaseRatio * e1 - nz(jma[1])) * pow(1 - alpha, 2) + pow(alpha, 2) * nz(e2[1]) jma := e2 + nz(jma[1]) jma //// //// Determine Angle by KyJ //// //// angle(_src) => rad2degree = 180 / 3.14159265359 //pi ang = rad2degree * atan((_src[0] - _src[1]) / atr(14)) ang jma_line = jma(src, 10, 50, 1) jma_line_fast = jma(src, 10, 50, 2) ma27 = ema(src, 27) ma83 = ema(src, 83) ma278 = ema(src, 278) jma_slope = angle(jma_line) jma_fast_slope = angle(jma_line_fast) ma27_slope = angle(ma27) ma83_slope = angle(ma83) ma278_slope = angle(ma278) hline(0) rising_1 = rising(ma27, 1) color_1 = color.new(color.green, 75) falling_1 = falling(ma27, 1) plot(jma_slope, title="jma slope", style=plot.style_area, color=jma_slope >= 0 ? rising_1 ? color.green : color_1 : falling_1 ? color.red : color.maroon) plot(jma_fast_slope, title="jma slope", style=plot.style_line, color=jma_fast_slope >= 0 ? color.green : color.red, transp=0) plot(ma27_slope, title="ma27 slope filter", style=plot.style_area, color=abs(ma27_slope) > th ? na : color.yellow) plot(ma83_slope, title="ma83 slope filter", style=plot.style_area, color=abs(ma83_slope) > th ? na : color.yellow) plot(ma278_slope, title="ma278 slope filter", style=plot.style_area, color=abs(ma278_slope) > th ? na : color.yellow) plot(ma27_slope, title="ma27 slope", style=plot.style_line, linewidth=2, color=ma27_slope >= 0 ? color.lime : color.fuchsia) color_2 = color.new(color.green, 0) color_3 = color.new(color.red, 0) plot(ma83_slope, title="ma83 slope", style=plot.style_line, color=ma83_slope >= 0 ? color_2 : color_3) plot(ma278_slope, title="ma278 slope", style=plot.style_line, color=ma278_slope >= 0 ? color.green : color.red) plotshape(ma27_slope >= 0 ? ma27 : na, style=shape.triangleup, location=location.bottom, color=color.green) plotshape(ma27_slope < 0 ? ma27 : na, style=shape.triangledown, location=location.top, color=color.red) plotshape(ma27_slope >= 0 and not(ma27_slope[1] >= 0) ? ma27 : na, style=shape.triangleup, location=location.bottom, size=size.tiny, color=color.green) plotshape(ma27_slope < 0 and not(ma27_slope[1] < 0) ? ma27 : na, style=shape.triangledown, location=location.top, size=size.tiny, color=color.red) rising_2 = rising(ma27, 1) falling_2 = falling(ma27, 1) barcolor(color_bars ? no_trade and abs(ma27_slope) <= th ? color.white : jma_slope >= 0 ? rising_2 ? color.lime : color.green : falling_2 ? color.fuchsia : color.red : na)
프로필 이미지
다올
2024-07-04
965
글번호 181229
지표
답변완료

수식문의 드립니다

안녕하세요 무더운 날시에 수고가 많으십니다. 아래 수식에서 20봉중 (0봉제외) 200 이상 만족 했을때 5회이상 and 현재봉이 180 이상이면 조건검색 될수 있게끔 부탁드립니다. var : a(0); a = 0; var1=Floor((V-V[1])/V[1]*100); a = a+var1; var2 = Floor(Money/100000000); a = a+var2; if DayOpen > DayClose(1) Then { var3 = (DayOpen-DayClose(1))/DayClose(1)*100; if var3 >= 1 and var3 < 2 Then a = a+50; if var3 >= 2 and var3 < 2.5 Then a = a+100; if var3 >= 2.5 and var3 < 3 Then a = a+150; if var3 >= 3.1 and var4 < 4.5 Then { a = a - (10-Floor((min(4.0,var3)-3.0)/100)); } if var3 >= 4.5 Then { a = a - Floor((var3-4.0)/5)*100; } } if c > DayOpen Then { var4 = Floor((C-DayOpen)/DayOpen*100); if var4 >= 1 Then a = a+var4; } var5 = Upvol/DownVol*100; if var5 >= var5[1]+20 or var5 >= var5[2]+20 Then a = a + 50; if CountIf(var5 >= var5[1]+100,20) >= 2 Then a = a + 50; if CountIf(var5 >= 100,20) >= 2 Then a = a + 50; if a >= 500 Then { Find(1); } 항상감사드립니다. 수고하십시오
프로필 이미지
하루삼프로
2024-07-04
737
글번호 181228
종목검색