커뮤니티
예스랭귀지 Q&A
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
1417
글번호 230811
답변완료
수식 변환 가능한지 문의 드립니다.
키움증권의 지표 수식을 예스 랭귀지 검색 수식으로 변환 가능한지 문의드립니다.
키움 증권 수식은 다음과 같습니다.
수식1
rsi(period1)
수식2
a=eavg(rsi(period1),period2);
avg(ma(a,1,단순),p)+d1*stdev(ma(a,1,단순),p)
수식3
a=eavg(rsi(period1),period2);
avg(ma(a,1,단순),p)
수식4
a=eavg(rsi(period1),period2);
avg(ma(a,1,단순),p)-d1*stdev(ma(a,1,단순),p)
2024-05-08
836
글번호 179260
답변완료
개장시 매수
안녕하세요?
아래 수식으로 9시에 진입했는데 첨부 처럼 9시 6초~30초사이에 주문이 됩니다.
이유가 무엇인가요?
input : StartTime(90000),EndTime(90001);
If MarketPosition == 0 and
((NextBarSdate != sDate and NextBarStime >= StartTime) or
(NextBarSdate == sDate and NextBarStime >= StartTime and sTime < StartTime)) Then
Buy("b",AtMarket);
2024-05-08
844
글번호 179257
답변완료
ALMA Smoothed Gaussian Moving Average 수식 변경 요청 합니다
항상 감사 드립니다.
아래의 수식은 트레이딩뷰 사이트 에서 사용되는 수식 입니다.
이 수식을 예스트레이더에서 사용 할수 있도록 변경 부탁드립니다..
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © profitprotrading
//@version=5
indicator("ALMA Smoothed Gaussian Moving Average", shorttitle = "ASGMA", overlay=true)
//ALMA Smoothing
src = input(close, title='Source', group = "ALMA Smoothing")
smooth = input.int(1, title='Smoothing', minval=1, group = "ALMA Smoothing")
length1 = input.int(25, title='Lookback', minval=1, group = "ALMA Smoothing")
offset = 0.85
sigma1 = 7
pchange = ta.change(src, smooth) / src * 100
avpchange = ta.alma(pchange, length1, offset, sigma1)
//RSI
rsi = ta.rsi(close, 14)
rsiL = rsi > rsi[1]
rsiS = rsi < rsi[1]
//Chande Momentum
length11 = 9
src1 = close
momm = ta.change(src1)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = math.sum(m1, length11)
sm2 = math.sum(m2, length11)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
cL = chandeMO > chandeMO[1]
cS = chandeMO < chandeMO[1]
//GAMA credit to author: © LeafAlgo https://www.tradingview.com/v/th7NZUPM/
length = input.int(14, minval=1, title="Length", group = "Gaussian Adaptive Moving Average")
adaptive = input.bool(true, title="Adaptive Parameters", group = "Gaussian Adaptive Moving Average")
volatilityPeriod = input.int(20, minval=1, title="Volatility Period", group = "Gaussian Adaptive Moving Average")
// Calculate Gaussian Moving Average
gma = 0.0
sumOfWeights = 0.0
sigma = adaptive ? ta.stdev(close, volatilityPeriod) : input.float(1.0, minval=0.1, title="Standard Deviation", group = "Gaussian Adaptive Moving Average")
for i = 0 to length - 1
weight = math.exp(-math.pow(((i - (length - 1)) / (2 * sigma)), 2) / 2)
value = ta.highest(avpchange, i + 1) + ta.lowest(avpchange, i + 1)
gma := gma + (value * weight)
sumOfWeights := sumOfWeights + weight
gma := (gma / sumOfWeights) / 2
gma:= ta.ema(gma, 7)
gmaColor = avpchange >= gma ? color.rgb(0, 161, 5) : color.rgb(215, 0, 0)
// Color bars based on signals until the next signal occurs
var int currentSignal = 0
currentSignal := avpchange >= gma ? 1 : -1//le_final ? -1 : currentSignal
var color barColor = na
if currentSignal == 1
barColor := color.rgb(0, 186, 6)
else if currentSignal == -1
barColor := color.rgb(176, 0, 0)
barcolor(barColor)
plotcandle(open, high, low, close, "Bar Color", barColor, barColor, bordercolor = barColor)
//Plotting
ema = ta.ema(close, 7)
plot(ema, color=gmaColor, linewidth=3, title="Gaussian Moving Average")
plotshape(ta.crossover(avpchange,gma) and barstate.isconfirmed, "Buy Signal", text = "B", textcolor = color.white, style = shape.labelup, location = location.belowbar, color = color.rgb(0, 161, 5), offset = -1)
plotshape(ta.crossunder(avpchange,gma) and barstate.isconfirmed, "Sell Signal", text = "S", textcolor = color.white, style = shape.labeldown, location = location.abovebar, color = color.rgb(215, 0, 0), offset = -1)
bgcolor(ta.crossover(avpchange,gma) and barstate.isconfirmed and rsiL and cL ? color.rgb(0, 162, 5, 85): na, offset = -1)
bgcolor(ta.crossunder(avpchange,gma) and barstate.isconfirmed and rsiS and cS ? color.rgb(207, 0, 0, 85): na, offset = -1)
barcolor(gmaColor)
alertcondition(ta.crossover(avpchange,gma) and barstate.isconfirmed, title="Buy Signal", message="Go Long! {{exchange}}:{{ticker}}")
alertcondition(ta.crossunder(avpchange,gma) and barstate.isconfirmed, title="Sell Signal", message="Go Short! {{exchange}}:{{ticker}}")
2024-05-08
1393
글번호 179256
답변완료
지표 수식 부탁드립니다.
안녕하세요? 도움주셔셔 항상 감사드립니다.
일봉의 볼린져밴드(10,2) 상단선이 일봉의 볼린져밴드(20/2) 상단선을 골든크로스하는 라인을 일봉과 분봉에 각각 하나의 라인으로 표시하고 싶습니다. 도움 부탁드립니다.
2024-05-08
987
글번호 179255
답변완료
검색식 부탁드립니다. _(_ _)_
한결같은 도와주심에 감사드립니다. _(__)_
아래의 수식을 돌파하는 기준봉이 나오는 중 1분봉상 완전정배열이 10회이상 발생할 때 종목 검색을 부탁드립니다.
두번째는 5일선을 돌파하는 과정에서 분봉상 10회 이상의 완전정배열이 나올 때 종목검색을 부탁드립니다.
완전정배열은 480<240<120<60<20<5
예시차트 첨부합니다.
var : 당월시가(0),전월시가(0);
var : 당월종가(0),전월종가(0);
if sDate > sDate[1]+30 Then
{
당월시가 = O;
전월시가 = 당월시가[1];
전월종가 = 당월종가[1];
}
당월종가 = C;
if 전월시가 > 0 Then
{
var1 = ((전월시가+전월종가)/2 + 당월시가)/2;
if CrossUp(C,var1) Then
Find(1);
}
2024-05-08
1033
글번호 179250
답변완료
문의 드립니다.
아래 식에서 매수는 주가가 당일 시가 위에서
스토케스틱 10 5 5 기준선20 아래서 위로 돌파시 매수 진입하고
매도 청산완료에서 당일 시가를 아래로 이탈할 때 매도 청산완료로 수정하고자 합니다.
그리고 매도의 경우도 매도는 주가가 당일 시가 아래서
스토케스틱 10 5 5 기준선80 위에서 아래로 돌파시 매도 진입하고
매수 청산완료에서 당일 시가를 위로 돌파 시 매수 청산완료로 수정하고자 합니다.
부탁드립니다.
Input : Period(10), Period1(5),수량(10);
Var : value(0);
value = StochasticsK(Period,Period1);
If CrossUP(value, 20) Then
{
Buy("b",OnClose,Def,수량);
}
if MarketPosition == 1 Then
{
If CrossDown(value, 20) Then
ExitLong();
If CrossDown(value, 80) Then
ExitLong();
}
Input : Period(10), Period1(5),수량(10);
Var : value(0);
value = StochasticsK(Period,Period1);
If CrossDown(value, 80) Then
Sell("s",OnClose,Def,수량);
if MarketPosition == -1 Then
{
If CrossUP(value, 80) Then
ExitShort();
If CrossUP(value, 20) Then
ExitShort();
}
2024-05-08
1048
글번호 179249
elessee 님에 의해서 삭제되었습니다.
2024-05-08
0
글번호 179248
답변완료
보스톤 일봉 상승 검색식
Bostian's Intraday Intensity Index 가 일봉에서 상승시 검색하는 검색식 부탁드립니다.
2024-05-08
930
글번호 179247
답변완료
검색
input : atrPeriod(10),factor(3);
var : src(0),atrv(0),direction(0),prevSuperTrend(0);
var : upperBand(0),lowerBand(0),prevLowerBand(0),prevUpperBand(0);
var : superTrend(0),linecolor(0);
src = (h+l)/2;
atrv = atr(atrPeriod);
upperBand = src + factor * atrv;
lowerBand = src - factor * atrv;
###
prevLowerBand = Iff(IsNan(lowerBand[1])==False,lowerBand[1],0);
prevUpperBand = Iff(IsNan(upperBand[1])==False,upperBand[1],0);
if !(lowerBand > prevLowerBand or close[1] < prevLowerBand) Then
lowerBand = prevLowerBand;
if !(upperBand < prevUpperBand or close[1] > prevUpperBand) Then
upperBand = prevUpperBand;
prevSuperTrend = superTrend[1];
if isnan(atrv[1]) Then
direction = 1;
else if prevSuperTrend == prevUpperBand Then
direction = iff(close > upperBand , -1 , 1);
else
direction = iff(close < lowerBand , 1 , -1);
superTrend = iff(direction == -1 , lowerBand , upperBand);
linecolor = IFF(direction == -1 , Green, Red);
Plot1(upperBand);
Plot2(lowerBand);
이거 쓰고 잇는데 플롯2에 저가나 종가가 하단 돌파했을때
검색식과 동그라미로 표시되는거좀 부탁드립니다
2024-05-08
1011
글번호 179236