커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1493
글번호 230811
신성복 님에 의해서 삭제되었습니다.
2023-10-31
21
글번호 173581
답변완료
종목검색 도움 부탁드리겠습니다.
수고가 많으십니다.
종목검색 키움에 나와있는 조건 검색식을 이용해서 만들고 싶습니다. 다 따로 해서 만들고 싶네요.
1.신고가 : [일]0봉전 고가가 20봉이내 240봉 신고가 발생
2.기간내 거래대금 [일]0봉전 20봉이내 거래대금 1000억이상 1회이상
3.[일]0봉전 일목균형표(9,240,52) 20봉이내 주가 기준선 하향돌파후 지속
이렇게 3가지를 따로 만들고 싶습니다.
2023-10-31
666
글번호 173579
답변완료
수식 부탁드립니다.
안녕하세요.
1. 10일의 신고가와 신저점을 연결하는 선
2. 30일의 신고가와 신저점을 연결하는 선
지표로 구현하고자 합니다.
바쁘시겠지만 도움 주시면 너무 감사드리겠습니다
좋은 하루 되세요~!
2023-10-31
672
글번호 173569
답변완료
볼린저 밴드 하단선 이탈 로직 문의드립니다
볼린저 밴드period 30 D1 2 를 사용하고 있습니다
볼린저 밴드 하단선 이탈 종목을 찾고 싶습니다
1봉전 볼린저 밴드 하단선 하향이탈
0봉전 볼린저 밴드 하단선 상승돌파
종목검색식으로 로직을 좀 부탁드립니다
실력이 부족하여 많이 답답합니다
감사합니다
2023-10-31
800
글번호 173568
답변완료
수식부탁드립니다.
시간대별 목표이익을 달리해서 청산되도록 수식부탁드립니다.
input : StartTime(170000),EndTime(155000);
위 함수를
1. input : StartTime(170000),EndTime(020000);
2. input : StartTime(020001),EndTime(155000);
input : 익절틱수(30), 익절틱수1(50)
1번 시간대에는 진입후 30틱 수익시 청산,
2번 시간대에는 진입후 50틱 수익시 청산이 되도록 수식 부탁드립니다.
2023-10-31
782
글번호 173566
답변완료
강조식캔들 부탁드립니다.
안녕하세요.
캔들강조를 표현하고자합니다.
1. 종가가 중심가와 시가보다 높으면 RED
2. 종가가 중심가보다 낮고 시가보다 높으면 Magenta
3. 종가가 중심가와 시가보다 낮으면 Blue
4. 종가가 시가보다 낮고 중심가보다 높으면 Cyan
부탁드립니다.
감사드립니다.
2023-10-31
965
글번호 173565
답변완료
수식 전환 부탁드립니다
안녕하세요
항상 감사합니다
트레이딩뷰 수식전환부탁드립니다
indicator('Nadaraya-Watson: Rational Quadratic Kernel (Non-Repainting)', overlay=true, timeframe="")
// Settings
src = input.source(close, 'Source')
h = input.float(8., 'Lookback Window', minval=3., tooltip='The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars. Recommended range: 3-50')
r = input.float(8., 'Relative Weighting', step=0.25, tooltip='Relative weighting of time frames. As this value approaches zero, the longer time frames will exert more influence on the estimation. As this value approaches infinity, the behavior of the Rational Quadratic Kernel will become identical to the Gaussian kernel. Recommended range: 0.25-25')
x_0 = input.int(25, "Start Regression at Bar", tooltip='Bar index on which to start regression. The first bars of a chart are often highly volatile, and omission of these initial bars often leads to a better overall fit. Recommended range: 5-25')
smoothColors = input.bool(false, "Smooth Colors", tooltip="Uses a crossover based mechanism to determine colors. This often results in less color transitions overall.", inline='1', group='Colors')
lag = input.int(2, "Lag", tooltip="Lag for crossover detection. Lower values result in earlier crossovers. Recommended range: 1-2", inline='1', group='Colors')
size = array.size(array.from(src)) // size of the data series
// Further Reading:
// The Kernel Cookbook: Advice on Covariance functions. David Duvenaud. Published June 2014.
// Estimation of the bandwidth parameter in Nadaraya-Watson kernel non-parametric regression based on universal threshold level. Ali T, Heyam Abd Al-Majeed Hayawi, Botani I. Published February 26, 2021.
kernel_regression(_src, _size, _h) =>
float _currentWeight = 0.
float _cumulativeWeight = 0.
for i = 0 to _size + x_0
y = _src[i]
w = math.pow(1 + (math.pow(i, 2) / ((math.pow(_h, 2) * 2 * r))), -r)
_currentWeight += y*w
_cumulativeWeight += w
_currentWeight / _cumulativeWeight
// Estimations
yhat1 = kernel_regression(src, size, h)
yhat2 = kernel_regression(src, size, h-lag)
// Rates of Change
bool wasBearish = yhat1[2] > yhat1[1]
bool wasBullish = yhat1[2] < yhat1[1]
bool isBearish = yhat1[1] > yhat1
bool isBullish = yhat1[1] < yhat1
bool isBearishChange = isBearish and wasBullish
bool isBullishChange = isBullish and wasBearish
// Crossovers
bool isBullishCross = ta.crossover(yhat2, yhat1)
bool isBearishCross = ta.crossunder(yhat2, yhat1)
bool isBullishSmooth = yhat2 > yhat1
bool isBearishSmooth = yhat2 < yhat1
// Colors
color c_bullish = input.color(#3AFF17, 'Bullish Color', group='Colors')
color c_bearish = input.color(#FD1707, 'Bearish Color', group='Colors')
color colorByCross = isBullishSmooth ? c_bullish : c_bearish
color colorByRate = isBullish ? c_bullish : c_bearish
color plotColor = smoothColors ? colorByCross : colorByRate
// Plot
plot(yhat1, "Rational Quadratic Kernel Estimate", color=plotColor, linewidth=2)
// Alert Variables
bool alertBullish = smoothColors ? isBearishCross : isBearishChange
bool alertBearish = smoothColors ? isBullishCross : isBullishChange
// Alerts for Color Changes
alertcondition(condition=alertBullish, title='Bearish Color Change', message='Nadaraya-Watson: {{ticker}} ({{interval}}) turned Bearish ▼')
alertcondition(condition=alertBearish, title='Bullish Color Change', message='Nadaraya-Watson: {{ticker}} ({{interval}}) turned Bullish ▲')
// Non-Displayed Plot Outputs (i.e., for use in other indicators)
plot(alertBearish ? -1 : alertBullish ? 1 : 0, "Alert Stream", display=display.none)
2023-10-31
1334
글번호 173563
답변완료
참조데이타의 이전봉들과 비교식
수고 많으십니다.
선물 참조데이타를 외국인과 기관의 선물 순매수금액 기준으로 진입식을 하기와 같이 만들었는데 맞게 된건지 확인좀 부탁드립니다.
조건식설명: 1분봉기준
참조데이타2(외국인순매수금액)의 현재봉종가가 3봉전종가들의 평균가와의 차이
참조데이타3(기관계순매수금액)의 현재봉종가가 3봉전종가들의 평균가와의 차이
--> 참조데이타2의 차이 + 참조데이타3의 차이 합이 0보다 크면 매수진입.
//데이타2참조
Var : B_2.0_value1(0);
B_2.0_value1 = data2(C);
Var : B_2.1_value1(0);
B_2.1_value1 = data2(C[1]);
Var : B_2.2_value1(0);
B_2.2_value1 = data2(C[2]);
Var : B_2.3_value1(0);
B_2.3_value1 = data2(C[3]);
//데이타3참조
Var : B_3.0_value1(0);
B_3.0_value1 = data3(C);
Var : B_3.1_value1(0);
B_3.1_value1 = data3(C[1]);
Var : B_3.2_value1(0);
B_3.2_value1 = data3(C[2]);
Var : B_3.3_value1(0);
B_3.3_value1 = data3(C[3]);
Var : B_A_CondResult(FALSE), B_A_TempResult(FALSE), B_A_Condition1(FALSE);
B_A_Condition1 =
(B_2.0_value1-((B_2.1_value1+B_2.2_value1+B_2.3_value1)/3))+(B_3.0_value1-((B_3.1_value1+B_3.2_value1+B_3.3_value1)/3)) > 0;
B_A_TempResult = B_A_Condition1;
B_A_CondResult = B_A_TempResult;
if
B_A_CondResult
Then Buy("", AtMarket);
2023-10-31
806
글번호 173562
답변완료
문의드립니다.
당일 발생되는 양봉중, 거래량이 1000 이상이면서, 당일 양봉거래량의 고점을 갱신할것.
동시에 고점 거래량봉은 1봉전 봉대비 2분 이내에 발생된 봉일것.
감사합니다.
2023-10-31
875
글번호 173561