예스스탁
예스스탁 답변
2023-11-10 15:53:03
안녕하세요
예스스탁입니다.
1번 사용자함수를 먼저 만드신 후에, 2번 지표 적용하시면 됩니다
1
사용자함수명 : RSI2
반환값형 : 숫자형
Inputs: Price(Numeric),Length(NumericSimple);
Variables: Counter(0), DownAmt(0), UpAmt(0), UpSum(0), DownSum(0), UpAvg(0), DownAvg(0);
If CurrentBar == 1 AND Length > 0 Then Begin
UpSum = 0;
DownSum = 0;
For Counter = 0 To Length - 1 Begin
UpAmt = Price[Counter] - Price[Counter+1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpSum = UpSum + UpAmt;
DownSum = DownSum + DownAmt;
End;
UpAvg = UpSum / Length;
DownAvg = DownSum / Length;
End
Else
If CurrentBar > 1 AND Length > 0 Then Begin
UpAmt = Price[0] - Price[1];
If UpAmt >= 0 Then
DownAmt = 0;
Else Begin
DownAmt = -UpAmt;
UpAmt = 0;
End;
UpAvg = (UpAvg[1] * (Length - 1) + UpAmt) / Length;
DownAvg = (DownAvg[1] * (Length - 1) + DownAmt) / Length;
End;
If UpAvg + DownAvg <> 0 Then
RSI2 = 100 * UpAvg / (UpAvg + DownAvg);
Else
RSI2 = 0;
2
input : short_l1(5);
input : short_l2(20);
input : short_l3(15);
input : long_l1(20);
input : long_l2(15);
var : shortTermXtrender(0),longTermXtrender(0),shortXtrenderCol(0);
var1 = ema(close, short_l1);
Var2 = ema(close, short_l2);
Var3 = ema(close, long_l1);
shortTermXtrender = rsi2(var1 - Var2, short_l3 ) - 50;
longTermXtrender = rsi2(Var3, long_l2 ) - 50;
shortXtrenderCol = iff(shortTermXtrender > 0 ,IFF(shortTermXtrender > shortTermXtrender[1] , lime , Cyan),IFF(shortTermXtrender > shortTermXtrender[1] , red , Magenta));
plot1(shortTermXtrender,"osc",shortXtrenderCol);
var : xe1_1(0),xe2_1(0),xe3_1(0),xe4_1(0),xe5_1(0),xe6_1(0);
var : b_1(0),c1_1(0),c2_1(0),c3_1(0),c4_1(0);
var : maShortTermXtrender(0),colShortTermXtrender(0);
var : longXtrenderCol(0),macollongXtrenderCol(0);
xe1_1 = ema(shortTermXtrender, 5);
xe2_1 = ema(xe1_1, 5);
xe3_1 = ema(xe2_1, 5);
xe4_1 = ema(xe3_1, 5);
xe5_1 = ema(xe4_1, 5);
xe6_1 = ema(xe5_1, 5);
b_1 = 0.7;
c1_1 = -b_1*b_1*b_1;
c2_1 = 3*b_1*b_1+3*b_1*b_1*b_1;
c3_1 = -6*b_1*b_1-3*b_1-3*b_1*b_1*b_1;
c4_1 = 1+3*b_1+b_1*b_1*b_1+3*b_1*b_1;
maShortTermXtrender = c1_1 * xe6_1 + c2_1 * xe5_1 + c3_1 * xe4_1 + c4_1 * xe3_1;
colShortTermXtrender = iff(maShortTermXtrender > maShortTermXtrender[1] , lime , red);
plot2(maShortTermXtrender, "B-Xtrender Shadow");
plot3(maShortTermXtrender, "B-Xtrender Color ",colShortTermXtrender);
longXtrenderCol = iff(longTermXtrender> 0 ,IFF(longTermXtrender > longTermXtrender[1] , lime , Cyan),IFf(longTermXtrender > longTermXtrender[1] , red , Magenta));
macollongXtrenderCol = iff(longTermXtrender > longTermXtrender[1] , lime , red);
plot4(longTermXtrender , "B-Xtrender Trend - Histogram",longXtrenderCol);
plot5(longTermXtrender , "B-Xtrender Trend - Line");
plot6(longTermXtrender , "B-Xtrender Trend - Line",macollongXtrenderCol);
즐거운 하루되세요
> 다올 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 적용가능하도록 수정 부탁 드립니다.
study("B-Xtrender @Puppytherapy")
short_l1 = input(5 , title="Short - L1")
short_l2 = input(20, title="Short - L2")
short_l3 = input(15, title="Short - L3")
long_l1 = input(20, title="Long - L1")
long_l2 = input(15, title="Long - L2")
shortTermXtrender = rsi(ema(close, short_l1) - ema(close, short_l2), short_l3 ) - 50
longTermXtrender = rsi( ema(close, long_l1), long_l2 ) - 50
shortXtrenderCol = shortTermXtrender > 0 ? shortTermXtrender > shortTermXtrender[1] ? color.lime : #228B22 : shortTermXtrender > shortTermXtrender[1] ? color.red : #8B0000
plot(shortTermXtrender, color=shortXtrenderCol, style=plot.style_columns, linewidth=1, title="B-Xtrender Osc. - Histogram", transp = 50)
t3(src, len)=>
xe1_1 = ema(src, len)
xe2_1 = ema(xe1_1, len)
xe3_1 = ema(xe2_1, len)
xe4_1 = ema(xe3_1, len)
xe5_1 = ema(xe4_1, len)
xe6_1 = ema(xe5_1, len)
b_1 = 0.7
c1_1 = -b_1*b_1*b_1
c2_1 = 3*b_1*b_1+3*b_1*b_1*b_1
c3_1 = -6*b_1*b_1-3*b_1-3*b_1*b_1*b_1
c4_1 = 1+3*b_1+b_1*b_1*b_1+3*b_1*b_1
nT3Average_1 = c1_1 * xe6_1 + c2_1 * xe5_1 + c3_1 * xe4_1 + c4_1 * xe3_1
maShortTermXtrender = t3( shortTermXtrender , 5 )
colShortTermXtrender = maShortTermXtrender > maShortTermXtrender[1] ? color.lime : color.red
plot(maShortTermXtrender, color=#000000 , style=plot.style_line, linewidth=5, title="B-Xtrender Shadow")
plot(maShortTermXtrender, color=colShortTermXtrender, style=plot.style_line, linewidth=3, title="B-Xtrender Color ")
plotshape(maShortTermXtrender > maShortTermXtrender[1] and maShortTermXtrender[1] < maShortTermXtrender[2] ? maShortTermXtrender : na, location=location.absolute, style=shape.circle, color=color.lime, size=size.tiny, transp=10)
plotshape(maShortTermXtrender < maShortTermXtrender[1] and maShortTermXtrender[1] > maShortTermXtrender[2] ? maShortTermXtrender : na, location=location.absolute, style=shape.circle, color=color.red , size=size.tiny, transp=10)
longXtrenderCol = longTermXtrender> 0 ? longTermXtrender > longTermXtrender[1] ? color.lime : #228B22 : longTermXtrender > longTermXtrender[1] ? color.red : #8B0000
macollongXtrenderCol = longTermXtrender > longTermXtrender[1] ? color.lime : color.red
plot(longTermXtrender , color=longXtrenderCol, style=plot.style_histogram, linewidth=2, title="B-Xtrender Trend - Histogram", transp = 80)
plot(longTermXtrender , color=#000000 , style=plot.style_line, linewidth=5, title="B-Xtrender Trend - Line", transp = 80)
plot(longTermXtrender , color=macollongXtrenderCol, style=plot.style_line, linewidth=3, title="B-Xtrender Trend - Line", transp = 80)