커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
3546
글번호 230811
사공하늘 님에 의해서 삭제되었습니다.
2025-04-24
81
글번호 190372
답변완료
문의드립니다.
지난번 수식에서 아래부분이 빠져있었네요
다시한번 부탁드립니다.
===============
// === COLOR DEFINITIONS === //
bullColor = color.rgb(92, 240, 215) // #5CF0D7
bearColor = color.rgb(179, 42, 195) // #B32AC3
flatColor = color.rgb(136, 136, 136) // gray
bullShadow = color.rgb(92, 240, 215, 14) // 20% opacity
bearShadow = color.rgb(179, 42, 195, 14)
flatShadow = color.new(flatColor, 80)
// === SLOPE-BASED COLORING === //
slopeColor = basis > basis[slopeIndex] ? bullColor : basis < basis[slopeIndex] ? bearColor : flatColor
shadowColor = basis > basis[slopeIndex] ? bullShadow : basis < basis[slopeIndex] ? bearShadow : flatShadow
// === PLOT Z-SCORE MEAN LINE + SHADOW === //
plot(showMeanLine ? basis : na, "Z-Mean Shadow", color=shadowColor, linewidth=10)
plot(showMeanLine ? basis : na, "Z-Mean", color=slopeColor, linewidth=2)
==============
매번 감사드립니다. 수고하세요!!!
2025-04-23
281
글번호 190371
답변완료
수식변환요청
수식작성 문의 드립니다
====================================
M=ma(C,240,삼각);
HH=HighestSince(1,CrossUp(C,M),H);
Bs=BarsSince(CrossUp(C,M))+1;
cnt=CountSince(CrossUp(C,M),C>M);
조건=
Bs==cnt &&
CrossUp(C,HH(1)) &&
Bs>20;
첫신호=CountSince(CrossUp(C,M),조건);
첫신호==1 && 첫신호(1)==0
수고하심에 항상 감사드립니다
2025-04-23
257
글번호 190370
주꼬보이 님에 의해서 삭제되었습니다.
2025-04-23
23
글번호 190369
답변완료
종목 검색 부탁드립니다.
input : short(12),long(26),signal(9);
var : VWMACDV(0),VWMACDS(0),VWMACDO(0),조건(False);
VWMACDV = VWMACD(short,long);
VWMACDS = Ema(VWMACDV,signal);
VWMACDO = VWMACDV-VWMACDS;
조건=VWMACDV[1]<=0 && (CROSSUP(VWMACDV,0) OR CrossUP(VWMACDV,VWMACDS)) && C>O;
IF 조건 && !조건[1] TheN
FinD(1);
위 조건이 1봉전부터 10봉전 사이에 발생한 종목 검색식 부탁드립니다
2025-04-23
365
글번호 190368
답변완료
지표 변환 부탁 드립니다
study(title="WaveTrend with Crosses [LazyBear]", shorttitle="WT_CROSS_LB")
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
ap = hlc3
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
wt1 = tci
wt2 = sma(wt1,4)
plot(0, color=gray)
plot(obLevel1, color=red)
plot(osLevel1, color=green)
plot(obLevel2, color=red)
plot(osLevel2, color=green)
plot(wt1, color=green)
plot(wt2, color=red)
plot(wt1-wt2, color=blue, style=area, transp=80)
plot(cross(wt1, wt2) ? wt2 : na, color = black , style = circles, linewidth = 3)
plot(cross(wt1, wt2) ? wt2 : na, color = (wt2 - wt1 > 0 ? red : lime) , style = circles, linewidth = 2)
barcolor(cross(wt1, wt2) ? (wt2 - wt1 > 0 ? aqua : yellow) : na)
2025-04-23
413
글번호 190367
답변완료
검색식 문의 드립니다.
*일목균형표 수치 2종
A종 8, 20, 42 SHIFT 19
B종 9, 26, 52 SHIFT 25
A종 선행스팬1 이
B종 선행스팬2 를 돌파할때 검색식 부탁드려요
2025-04-23
339
글번호 190366
답변완료
부탁드립니다
수고하십니다
아래의 트레이딩뷰 수식을 예스트레이더 수식으로 부탁드립니다
//Settings
//-----------------------------------------------------------------------------{
length = input.int(70, minval = 2)
smoType1 = input.string('RMA', 'MA type', options = ['EMA', 'SMA', 'RMA'])
src = input(close, 'Source')
rsiPCss = input(color.rgb(212, 0, 180), 'Color', inline = 'rsicss')
autoCss = input(true, 'Auto', inline = 'rsicss')
//Signal Line
smooth = input.int(50, minval = 1, group = 'Signal')
smoType2 = input.string('SMA', 'Method', options = ['EMA', 'SMA'], group = 'Signal')
signalCss = input(#ffd900, 'Color', group = 'Signal')
//OB/OS Style
obValue = input.float(90, '매수', inline = 'ob', group = 'OB/OS Style')
obCss = input(color.rgb(0, 188, 135, 22), '', inline = 'ob', group = 'OB/OS Style')
obAreaCss = input(color.new(#436264, 84), '', inline = 'ob', group = 'OB/OS Style')
osValue = input.float(10, '매도????', inline = 'os', group = 'OB/OS Style')
osCss = input(#da0012, '', inline = 'os', group = 'OB/OS Style')
osAreaCss = input(color.new(#90595e, 86), '', inline = 'os', group = 'OB/OS Style')
//-----------------------------------------------------------------------------}
//Functions
//-----------------------------------------------------------------------------{
ma(x, len, maType)=>
switch maType
'EMA' => ta.ema(x, len)
'SMA' => ta.sma(x, len)
'RMA' => ta.rma(x, len)
//-----------------------------------------------------------------------------}
//Augmented RSI
//-----------------------------------------------------------------------------{
upper = ta.highest(src, length)
lower = ta.lowest(src, length)
r = upper - lower
d = src - src[1]
diff = upper > upper[1] ? r
: lower < lower[1] ? -r
: d
num = ma(diff, length, smoType1)
den = ma(math.abs(diff), length, smoType1)
rsiP = num / den * 70 + 70
signal = ma(rsiP, smooth, smoType2)
//-----------------------------------------------------------------------------}
//Plots
//-----------------------------------------------------------------------------{
plot_rsi = plot(rsiP, title = 'RSI ', color =
rsiP > obValue ? obCss :
rsiP < osValue ? osCss :
autoCss ? chart.fg_color : rsiPCss,
linewidth = 2) // 선 두께
plot(signal, title = 'Signal Line', color = signalCss, linewidth = 2) // 신호선
//Levels
plot_up = plot(obValue, color = na, editable = false, linewidth = 2)
plot_avg = plot(50, color = na, editable = false, linewidth = 2)
plot_dn = plot(osValue, color = na, editable = false, linewidth = 2)
//OB-OS
fill(plot_rsi, plot_up, rsiP > obValue ? obAreaCss : na)
fill(plot_dn, plot_rsi, rsiP < osValue ? osAreaCss : na)
//Gradient
fill(plot_rsi, plot_avg, obValue, 50, obAreaCss, color.new(chart.bg_color, 100))
fill(plot_avg, plot_rsi, 50, osValue, color.new(chart.bg_color, 100), osAreaCss)
hline(obValue, 'Overbought')
hline(50, 'Midline')
hline(osValue, 'Oversold')
//-----------------------------------------------------------------------------}
2025-04-23
437
글번호 190364
답변완료
문의드립니다.
수고많으십니다.
매수 신호 발생을 시가선을 돌파한 후 50틱 이상 올라간 봉의 종가에 진입하는 것을 원하는데 아래 식대로 하니 실제 시가를 돌파하지 않고 시가 위 50틱 지점의 아래로 내려왔다가 50틱 지점을 돌파해도 매수신호가 나옵니다.
# 매수
If CrossUp(C, O+PriceScale*50) Then
{
Buy("매수");
}
# 매도
If CrossDown(C, O-PriceScale*50) Then
{
Sell("매도");
}
정리하자면
1. 실제 시가선을 위든 아래든 돌파한 후 그 위 또는 그 아래에서 50틱을 넘어서는 봉이 나올 때 해당 봉의 종가에 매수/매도 신호가 나오도록 수정 부탁 드립니다.
-----------------------------------------------------------------
2. 실제 시가선을 위든 아래든 돌파한 후 그 위 또는 그 아래에서 딱 50틱을 넘어서면 바로 매수/매도 신호가 나오는 식도 부탁드립니다.
2025-04-23
302
글번호 190356