커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
7745
글번호 230811
답변완료
수식 수정요청
아래 수식의 신호가 1봉전에 발생한 것을 0봉에 검색코자 합니다.
단,"1봉전 종가는 2봉전 종가대비 3%이상 상승"일 때.
수정 요청드립니다.
VAR : HC(0),HV(0);
if Bdate != Bdate[1] Then
{
IF C>O && C>DayClose(1) TheN
HC = C;
HV = V;
}
if HC > 0 && CROSSUP(C, HC) && V>=HV Then
Find(1);
2024-01-31
803
글번호 176253
답변완료
문의드립니다.
스윙하이의 전고점을 이어서 하락 추세선을 구하고,
스윙로우의 전저점을 이어서 상승 추세선을 구한 후
하락추세선을 30% 이상 상승 돌파한 이후, 해당 돌파지점의 5% 범위에 종가가 수렴하거나
상승추세선의 5% 범위에 종가가 수렴하는 경우를 검색하려고 합니다.
1. 게시판을 참조해서 아래와 같이 수식을 만들었는데, 제대로 작동할까요?
2. 스윙하이의 기준값은 고가, 종가, 저가 외에, MACD나 Stochastic, RSI 값도 변수로 대입하면 가능한가요?
input : Left(4), Right(4), Period(200);
var : LP(0), LLP(0), LPD(0), LLPD(0), HP(0), HHP(0), HPD(0), HHPD(0), TPS(0),
LPV(0), LLPV(0), HPV(0), HHPV(0),
Target(0), TargetIn(0), TPS1(0), TP1(0);
LP = SwingLow(1,C,Left,Right,Period);
LPD = SwingLowBar(1,C,Left,Right,Period);
if LP != -1 then
LPV = C;
LLP = SwingLow(2,C,Left,Right,Period);
LLPD = SwingLowBar(2,C,Left,Right,Period);
if LLP != -1 then
LPV = C;
HP = SwingHigh(1,C,Left,Right,Period);
HPD = SwingHighBar(1,C,Left,Right,Period);
if HP != -1 then
HPV = C;
HHP = SwingHigh(2,C,Left,Right,Period);
HHPD = SwingHighBar(2,C,Left,Right,Period);
if HHP != -1 then
HHPV = C;
##추세선 기울기
###하락추세선
if HHPV > HPV and (HHPV/HPV)-1 > 0.3 then
{
TPS = (HHPV-HPV)/(HPD-HHPD);
TP = HHPV-(TPS*(Index-HPD));
}
###상승추세선
else if LLPV < LPV and (LPV/LLPV)-1 > 0.3 then
{
TPS1 = (LPV-LLPV)/(LPD-LLPD);
TP1 = LLPV-(TPS1*(Index-LPD));
}
##하락추세선 돌파
if C > TP and (C/TP)-1 > 0.05 then
{
Target = TP;
TargetIn = Index;
}
#검색
if abs((C/TP)-1) <= 0.1 or
abs((C/TP1)-1) <= 0.05 then
Find(1);
2024-01-31
891
글번호 176251
답변완료
문의드립니다
트레이딩뷰 지표인데 변환 부탁드립니다
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// author © KivancOzbilgic
// developer © KivancOzbilgic
//@version=5
indicator('AlphaTrend', shorttitle='AT', overlay=true, format=format.price, precision=2, timeframe='')
coeff = input.float(1, 'Multiplier', step=0.1)
AP = input(14, 'Common Period')
ATR = ta.sma(ta.tr, AP)
src = input(close)
showsignalsk = input(title='Show Signals?', defval=true)
novolumedata = input(title='Change calculation (no volume data)?', defval=false)
upT = low - ATR * coeff
downT = high + ATR * coeff
AlphaTrend = 0.0
AlphaTrend := (novolumedata ? ta.rsi(src, AP) >= 50 : ta.mfi(hlc3, AP) >= 50) ? upT < nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : upT : downT > nz(AlphaTrend[1]) ? nz(AlphaTrend[1]) : downT
color1 = AlphaTrend > AlphaTrend[2] ? #00E60F : AlphaTrend < AlphaTrend[2] ? #80000B : AlphaTrend[1] > AlphaTrend[3] ? #00E60F : #80000B
k1 = plot(AlphaTrend, color=color.new(#0022FC, 0), linewidth=3)
k2 = plot(AlphaTrend[2], color=color.new(#FC0400, 0), linewidth=3)
fill(k1, k2, color=color1)
buySignalk = ta.crossover(AlphaTrend, AlphaTrend[2])
sellSignalk = ta.crossunder(AlphaTrend, AlphaTrend[2])
K1 = ta.barssince(buySignalk)
K2 = ta.barssince(sellSignalk)
O1 = ta.barssince(buySignalk[1])
O2 = ta.barssince(sellSignalk[1])
plotshape(buySignalk and showsignalsk and O1 > K2 ? AlphaTrend[2] * 0.9999 : na, title='BUY', text='BUY', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(#0022FC, 0), textcolor=color.new(color.white, 0))
plotshape(sellSignalk and showsignalsk and O2 > K1 ? AlphaTrend[2] * 1.0001 : na, title='SELL', text='SELL', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.maroon, 0), textcolor=color.new(color.white, 0))
alertcondition(buySignalk and O1 > K2, title='Potential BUY Alarm', message='BUY SIGNAL!')
alertcondition(sellSignalk and O2 > K1, title='Potential SELL Alarm', message='SELL SIGNAL!')
alertcondition(buySignalk[1] and O1[1] > K2, title='Confirmed BUY Alarm', message='BUY SIGNAL APPROVED!')
alertcondition(sellSignalk[1] and O2[1] > K1, title='Confirmed SELL Alarm', message='SELL SIGNAL APPROVED!')
alertcondition(ta.cross(close, AlphaTrend), title='Price Cross Alert', message='Price - AlphaTrend Crossing!')
alertcondition(ta.crossover(low, AlphaTrend), title='Candle CrossOver Alarm', message='LAST BAR is ABOVE ALPHATREND')
alertcondition(ta.crossunder(high, AlphaTrend), title='Candle CrossUnder Alarm', message='LAST BAR is BELOW ALPHATREND!')
alertcondition(ta.cross(close[1], AlphaTrend[1]), title='Price Cross Alert After Bar Close', message='Price - AlphaTrend Crossing!')
alertcondition(ta.crossover(low[1], AlphaTrend[1]), title='Candle CrossOver Alarm After Bar Close', message='LAST BAR is ABOVE ALPHATREND!')
alertcondition(ta.crossunder(high[1], AlphaTrend[1]), title='Candle CrossUnder Alarm After Bar Close', message='LAST BAR is BELOW ALPHATREND!')
2024-01-31
1480
글번호 176250
답변완료
지표 질문입니다
당일부터 시작하는 종가 파라볼릭에서
당일 바닥에서 2번째 양전환시
양 전환 종가-1.00 위치를 표시한다
양 전환 종가+0.60 위치를 표시한다
당일 천정에서 2번째 음전환시
음 전환 종가+1.00 위치를 표시한다
음 전환 종가-0.60 위치를 표시한다
감사합니다
2024-01-31
933
글번호 176249
답변완료
종목검색 문의드립니다.
5봉중 신고가이면서 일봉전 종가대비 주가등락률 10%이상인 종목검색을 부탁드립니다.
2024-01-31
1017
글번호 176248
답변완료
문의드립니다.
일봉에서 양봉
15분에서 양봉
3분에서 양봉
1분에서 양봉
조건 부탁드립니다.
틱120봉에서도 양봉조건 가능하시면 함께 부탁드립니다.
2024-01-31
979
글번호 176247
답변완료
함수요청
안녕하세요?
아래의 전략에 대해 스크립트 작성 부탁드립니다.
국내선물 60분봉으로 포지션 거래를 하고자 합니다.
MACD 오실레이터가 양에서 음의 값으로 변화하고 그 음의 값이 감소하되(플러스로 전환하면 안되고 음의 값에서) 재차 증가하면 익봉 시가에 매도 진입
(가령 0.5-> -0.1-> -0.5-> -0.4 -> -0.3-> -0.1> -0.2 : -0.2 익봉 시가에 매도 진입)
직전 봉 대비 MACD 오실레이터 값이 상승하면 매도 청산
(가령 0.5-> -0.1-> -0.5-> -0.4 -> -0.3-> -0.1> -0.2-> -0.3(시가에 매도 진입)-> -0.4-> -0.2-> -0.1(시가에 매도청산))
MACD 오실레이터가 음에서 양의 값으로 변화하고 그 양의 값이 감소하되(마이너스로 전환하면 안되고 양의 값에서) 재차 증가하면 익봉 시가에 매수 진입
(가령 -0.3-> 0.1-> 0.2-> 0.4 -> 0.3-> 0.5 : 0.5 익봉 시가 매수 진입)
직전 봉 대비 MACD 오실레이터 값이 상승하면 익봉시가에 매수 청산
(가령 -0.3-> 0.1-> 0.2-> 0.4 -> 0.3-> 0.5-> 0.6(시가에 매수 진입)-> 0.5-> 0.4(시가에 매수청산)
2024-01-31
985
글번호 176246
답변완료
시스템식 2개 부탁드려요
1번식
지수이동 평균(ema)100이평
macd 지표를 이용해서 매매
지수 이평선 100일선 위에 있고
MACD 빨간선이 위로 교차한후 지수이평선100일 위쪽에 차트가
위치하면 매수(1번그림참고)
지수 이평선 100일선 아래 있고
MACD 빨간선이 아래로 교차한후 지수이평선100일 아래쪽에 차트가
위치하면 매도(2번그림참고)
손익절은 50틱
2번식
지수이동 평균(ema)50이평 과 150이평
스톡캐스틱지표 기간은 모두 5로 마추고 기준선 30 70수치 기준선 추가
지수이평선 50ma 위에 있고
스톡캐스틱 기준선 30수치 아래 선, 교차점 발생시
매수(3번그림참고)
지수이평선 50ma아래있고
스톡캐스틱 기준선 70수치 위에서 선,교차 발생시
매도 (4번그림참고)
손익절은 50틱
2024-01-31
844
글번호 176245
답변완료
문의합니다.
게시판에서 본 수식인데 시스템 수식을 종목검색식으로 바꾸려고 합니다.
스윙하이, 스윙로우로 박스권을 구한 후,
종가가 박스권을 상향 돌파하거나, 전저점 부근에 도달한 종목을 검색하려고 합니다.
1. 아래 수식에서 잘못된 점이 무엇인가요?
2. 스윙하이, 스윙로우의 반환되는 결과값이 무엇인가요?
input: LeftL(5), RightL(5), period(200);
var : k(0),HH(0),LL(0),MM(0),Xcond(False);
Array: swingH[5](0), swingL[5](0), cntH[5](0), cntL[5](0);​
for k = 1 to 4;
{
if swingHigh(k, C, LeftL, RightL, period) != -1 then
swingH[k] = C;
cntH = cntH +1;
if SwingLow(k, C, LeftL, RightL, period) then != -1 then
swingL[k] = C;
cntL = cntL +1;
}
if SwingH[3] > 0 and SwingL[3] > 0 Then
{
if max(swingH[2],swingH[3],swingH[4]) <= swingH[1] * 1.03 and
min(swingH[2],swingH[3],swingH[4]) >= swingH[1] * 0.97 and
max(swingL[2],swingL[3],swingL[4]) <= swingL[1] * 1.03 and
min(swingL[2],swingL[3],swingL[4]) >= swingL[1] * 0.97 Then
{
HH = SwingH[1];
LL = SwingL[1];;
}
if (CrossUp(C,HH) and abs(HH/LL-1) <= 0.15 and cntH>=2) or
(abs((C/LL)-1) <= 0.05 and abs(HH/LL-1) > 0.3 and cntL >=2) Then
Find(1);
2024-01-31
1214
글번호 176244