커뮤니티

예스랭귀지 Q&A

글쓰기
답변완료

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

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

함수 요청드립니다

종목 : 마이크로 미니 나스닥 1.본장 시작 시간인 한국시간22시30분 15분봉의 고가와 저가 2.본장 시작 시간인 한국시간22시30분을 시작으로 해서 최고가대비-100틱 라인과 최저가대비+100틱 라인 위 두 수식을 요청드립니다. 감사합니다^^ 참고로 키움수식은 다음과 같습니다 22시30분 시작봉의 고가,저가 나스닥22시30분고가 valuewhen(1, crossup(time, 223000-1), h); 나스닥22시30분저가 valuewhen(1, crossup(time, 223000-1), l); 장시작후 최저가대비+100 a=lowestsince(1, crossup(time, 223000-1), l); a+100*p 장시작후 최고가대비-100 b=highestsince(1, crossup(time, 223000-1), h); b-100*p
프로필 이미지
깨비108
2023-08-14
1702
글번호 171475
사용자 함수
답변완료

함수요청

import pandas as pd import numpy as np import talib import yfinance as yf # For fetching historical price data # Fetch historical price data for KOSPI 200 futures ticker = "^KS200" # KOSPI 200 futures symbol start_date = "2020-01-01" end_date = "2023-01-01" data = yf.download(ticker, start=start_date, end=end_date) # Calculate MACD values data['macd'], data['signal'], _ = talib.MACD(data['Close'], fastperiod=12, slowperiod=26, signalperiod=9) # Identify bullish and bearish divergence data['bullish_divergence'] = np.where((data['Close'] < data['Low']) & (data['macd'] > data['macd'].shift(1)), 1, 0) data['bearish_divergence'] = np.where((data['Close'] > data['High']) & (data['macd'] < data['macd'].shift(1)), 1, 0) # Entry and exit signals based on divergence data['buy_signal'] = np.where(data['bullish_divergence'] == 1, 1, 0) data['sell_signal'] = np.where(data['bearish_divergence'] == 1, -1, 0) # Simulate trading data['position'] = data['buy_signal'] + data['sell_signal'] data['position'] = data['position'].fillna(0).cumsum() # Print the trading signals and positions print(data[['Close', 'macd', 'bullish_divergence', 'bearish_divergence', 'buy_signal', 'sell_signal', 'position']]) 안녕하세요? Chat GPT에 의해 파이썬으로 작성된 샘플입니다. YT에서 사용할 수 있도록 변환 부탁드립니다.
프로필 이미지
흰둥이아빠
2023-08-14
1274
글번호 171474
시스템
답변완료

안녕하세요

안녕하세요 Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } 위의 선물매매식에 볼린져 밴드 상단선과 하단선의 간격이(이격) 0.45P 이하이고 5ma(Period1(5))이 20ma(Period2(20))를 상향 돌파시의 매수식 볼린져 밴드 상단선과 하단선의 간격이(이격) 0.45P 이하이고 5ma(Period1(5))이 20ma(Period2(20))를 하향 돌파시의 매도식 감사합니다
프로필 이미지
금보
2023-08-16
936
글번호 171473
시스템
답변완료

par 상승반전이 3일이내

par 상승반전 후 3일이내만 매수하는 수식 부탁드립니다. 감사합니다.
프로필 이미지
hyon707
2023-08-14
834
글번호 171472
시스템

배움이 님에 의해서 삭제되었습니다.

프로필 이미지
배움이
2023-08-15
42
글번호 171471
지표
답변완료

부탁드립니다.

변형 부탁 드립니다. indicator("RSI Multi Length [LuxAlgo]") max = input(20,'Maximum Length') min = input(10,'Minimum Length') overbought = input.float(70,step=10) oversold = input.float(30,step=10) src = input(close) //---- rsi_avg_dn_css = input(#ff5d00,'Average RSI Gradient',group='Style',inline='inline1') rsi_avg_up_css = input(#2157f3,'',group='Style',inline='inline1') upper_css = input(#0cb51a,'Upper Level',group='Style') lower_css = input(#ff1100,'Lower Level',group='Style') ob_area = input(color.new(#0cb51a,70),'Overbought Area',group='Style') os_area = input(color.new(#ff1100,70),'Oversold Area',group='Style') //---- N = max-min+1 diff = nz(src - src[1]) var num = array.new_float(N,0) var den = array.new_float(N,0) //---- k = 0 overbuy = 0 oversell = 0 avg = 0. for i = min to max alpha = 1/i num_rma = alpha*diff + (1-alpha)*array.get(num,k) den_rma = alpha*math.abs(diff) + (1-alpha)*array.get(den,k) rsi = 50*num_rma/den_rma + 50 avg += rsi overbuy := rsi > overbought ? overbuy + 1 : overbuy oversell := rsi < oversold ? oversell + 1 : oversell array.set(num,k,num_rma) array.set(den,k,den_rma) k += 1 //---- avg_rsi = avg/N buy_rsi_ma = 0. sell_rsi_ma = 0. buy_rsi_ma := nz(buy_rsi_ma[1] + overbuy/N*(avg_rsi - buy_rsi_ma[1]),avg_rsi) sell_rsi_ma := nz(sell_rsi_ma[1] + oversell/N*(avg_rsi - sell_rsi_ma[1]),avg_rsi) //---- var tb = table.new(position.top_right,2,2) if barstate.islast table.cell(tb,0,0,'Overbought',text_color=color.gray,bgcolor=na) table.cell(tb,1,0,'Oversold',text_color=color.gray,bgcolor=na) table.cell(tb,0,1,str.tostring(overbuy/N*100,'#.##')+' %',text_color=#26a69a,bgcolor=color.new(#26a69a,80)) table.cell(tb,1,1,str.tostring(oversell/N*100,'#.##')+' %',text_color=#ef5350,bgcolor=color.new(#ef5350,80)) //---- css = color.from_gradient(avg_rsi,sell_rsi_ma,buy_rsi_ma,rsi_avg_dn_css,rsi_avg_up_css) plot(avg_rsi,'Average Multi Length RSI',color=css) up = plot(buy_rsi_ma,'Upper Channel',color=upper_css) dn = plot(sell_rsi_ma,'Lower Channel',color=lower_css) per_over = plot(overbuy/N*100,'Overbought Area',color=color.new(ob_area,100),editable=false) per_under = plot(100 - oversell/N*100,'Oversold Area',color=color.new(os_area,100),editable=false) upper = plot(100,color=na,editable=false,display=display.none) lower = plot(0,color=na,editable=false,display=display.none) fill(per_over,lower,ob_area) fill(upper,per_under,os_area) fill(up,dn,color.new(css,90)) hline(50,color=color.new(color.gray,50))
프로필 이미지
다올
2023-08-13
977
글번호 171470
지표
답변완료

분봉에서 MACD-월봉 참조문의 입니다.

분봉에서 MACD-월봉 참조문의 입니다. 분봉에서 월봉 참조차트를 만들고 거기서 MACD를 불러오는데 전월 값이 들어옵니다. 당월 실시간 월봉MACD를 불러오고 싶은데 지도하여 주시면 고맙겠습니다. 예스트레이더 늘 유용하게 사용하고있습니다. 감사합니다~
프로필 이미지
ash
2023-08-13
1048
글번호 171469
지표

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

프로필 이미지
회원
2023-08-18
45
글번호 171468
지표
답변완료

atr청산문의

항상 감사드립니다 data1에서 진입한 후, 청산은 data2 atr 조건충족시 신호발생 시키는식 좀 부탁드립니다 if MarketPosition==1 Then{ ExitLong("ex",atstop,highest(High,barsSinceEntry)-atr(20)*mul); } 에서 highest(High,barsSinceEntry)-atr*mul 부분을 data2에서 조건만족시 data1에 신호발생 시키는 식 작성입니다. 무식하게 data2(highest(High,barsSinceEntry)-atr(20)*mul) 는 아닌거 같습니다. barsSinceEntry를 못 읽겠지요
프로필 이미지
피카2
2023-08-13
646
글번호 171467
시스템