예스스탁
예스스탁 답변
2025-07-16 09:50:23
안녕하세요
예스스탁입니다.
해당 수식에는 선은 2개(plot1,plot2)입니다.
tsBullCss , tsBearCss는 plot2인 ts값을 그릴 때 조건에 따른 색상입니다.
2개선 모두 30이하로 될 때 검색하는 식을 작성해 드립니다
input : length(14),factor(4.236),smooth(5),weight(2),rsiCss(blue),tsBearCss(Red),tsBullCss(Teal);
var : src(0);
src = close;
#//Style
#rsiCss = input(#3179f5, 'RSI', group = 'Style')
#
#tsBearCss = input(color.red, 'Trailing Stop', group = 'Style', inline = 'inline1')
#tsBullCss = input(color.teal, '', group = 'Style', inline = 'inline1')
//-----------------------------------------------------------------------------}
//Weighted QQE
//-----------------------------------------------------------------------------{
var : delta(0), ts(0),rsiv(0),w(0);
var : alpha(0),num(0),den(0),diff(0);
var : crossover(False),crossunder(False);
var : css(0);
delta = src - src[1];
w = IFf(IsNan(iff(delta * (rsiv - ts) > 0 , weight , 1))==true, 1,iff(delta * (rsiv - ts) > 0 , weight , 1));
alpha = 1/length;
num = iff(isnan(num[1]) == true, ma((delta * w), length) , alpha * (delta * w) + (1 - alpha) * iff(IsNaN(num[1])==true,0,num[1]));
den = iff(isnan(den[1]) == true, ma(abs(delta * w), length) , alpha * abs(delta * w) + (1 - alpha) * iff(IsNaN(num[1])==true,0,den[1]));
rsiv = 50 * ema(num / den, smooth) + 50;
//Trailing stop
diff = iff(isnan(diff[1]) == true, ma(abs(rsiv - rsiv[1]), length) , alpha * abs(rsiv - rsiv[1]) + (1 - alpha) * iff(IsNaN(num[1])==true,0,diff[1]));
crossover = CrossUp(rsiv, ts);
crossunder = CrossDown(rsiv, ts);
var1 = iff(crossover , rsiv - diff * factor,
iff(crossunder , rsiv + diff * factor,
iff(rsiv > ts , max(rsiv - diff * factor, ts),
min(rsiv + diff * factor, ts))));
ts = iff(isnan(var1)==true,rsiv,var1);
css = iff(rsiv > ts , tsBullCss , tsBearCss);
Condition1 = rsiv < 30 and ts < 30;
if Condition1 == true and Condition1[1] == False Then
Find(1);
즐거운 하루되세요
> 서민순 님이 쓴 글입니다.
> 제목 : 예스종목검색으로 요청합니다^^*
> *아래수식은 예스트레이더 지표수식입니다..
종목검색조건은 PlotBaseLine2(30) 이하로 (rsiCss(blue),tsBearCss(Red),tsBullCss(Teal) 빠지는 경우 종목이 검색되도록 요청합니다..
위 3개라인중에서 3개가 전부 PlotBaseLine2(30) 이하로 빠지는 조건
아니면 (rsiCss(blue),tsBearCss(Red) 2개 라인이 빠지는 조건을 묶어서 종목이 검색
되었으면 합니다..
10분봉 기준입니다..
부탁드립니다...
input : length(14),factor(4.236),smooth(5),weight(2),rsiCss(blue),tsBearCss(Red),tsBullCss(Teal);
var : src(0);
src = close;
#//Style
#rsiCss = input(#3179f5, 'RSI', group = 'Style')
#
#tsBearCss = input(color.red, 'Trailing Stop', group = 'Style', inline = 'inline1')
#tsBullCss = input(color.teal, '', group = 'Style', inline = 'inline1')
//-----------------------------------------------------------------------------}
//Weighted QQE
//-----------------------------------------------------------------------------{
var : delta(0), ts(0),rsiv(0),w(0);
var : alpha(0),num(0),den(0),diff(0);
var : crossover(False),crossunder(False);
var : css(0);
delta = src - src[1];
w = IFf(IsNan(iff(delta * (rsiv - ts) > 0 , weight , 1))==true, 1,iff(delta * (rsiv - ts) > 0 , weight , 1));
alpha = 1/length;
num = iff(isnan(num[1]) == true, ma((delta * w), length) , alpha * (delta * w) + (1 - alpha) * iff(IsNaN(num[1])==true,0,num[1]));
den = iff(isnan(den[1]) == true, ma(abs(delta * w), length) , alpha * abs(delta * w) + (1 - alpha) * iff(IsNaN(num[1])==true,0,den[1]));
rsiv = 50 * ema(num / den, smooth) + 50;
//Trailing stop
diff = iff(isnan(diff[1]) == true, ma(abs(rsiv - rsiv[1]), length) , alpha * abs(rsiv - rsiv[1]) + (1 - alpha) * iff(IsNaN(num[1])==true,0,diff[1]));
crossover = CrossUp(rsiv, ts);
crossunder = CrossDown(rsiv, ts);
var1 = iff(crossover , rsiv - diff * factor,
iff(crossunder , rsiv + diff * factor,
iff(rsiv > ts , max(rsiv - diff * factor, ts),
min(rsiv + diff * factor, ts))));
ts = iff(isnan(var1)==true,rsiv,var1);
css = iff(rsiv > ts , tsBullCss , tsBearCss);
plot1(rsiv, "RSI", rsiCss);
plot2(ts, "Traling Stop", css);
PlotBaseLine1(70);
PlotBaseLine2(30);