예스스탁
예스스탁 답변
2020-04-27 16:06:15
안녕하세요
예스스탁입니다.
input : Len(14),lensig(14);
input : adx1(15),adx2(25),adx3(40);
var : up(0),down(0),plusDM(0),minusDM(0),trur(0),plus(0),minus(0),sum(0),adxv(0);
var : aa(0),bb(0),cc(0),ADXcolor(0),DIAcolor(0),DIA(0);
up = h-h[1];
down = -(l-l[1]);
if CurrentBar >= 1 then
{
plusDM = iff(up > down and up > 0 , up , 0);
minusDM = iff(down > up and down > 0 , down , 0);
trur = (TrueRange + (len - 1) * trur[1]) / len;
aa = (plusDM + (len - 1) * aa[1]) / len;
bb = (minusDM + (len - 1) * bb[1]) / len;
plus = 100 * aa / trur;
minus = 100 * bb / trur;
sum = plus + minus;
cc = ((abs(plus - minus) / iff(sum == 0 , 1 , sum)) + (len - 1) * cc[1]) / len;
adxv = 100 * cc;
if adxv < adx1 Then
ADXcolor = gray;
if adxv >= adx1 and adxv < adx2 Then
ADXcolor = yellow;
if adxv >= adx2 and adxv < adx3 Then
ADXcolor = MAGENTA;
if adxv >= adx3 Then
ADXcolor = red;
DIAcolor = iff(plus > minus , GREEN ,red);
DIA = plus - minus;
plot1(DIA, "DI Average",DIAcolor);
plot2(adxv, "ADX",ADXcolor);
}
즐거운 하루되세요
> 로즈버드 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> len = input(14, minval=1, title="DL")
lensig = input(14, title="AS", minval=1, maxval=50)
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / trur)
minus = fixnan(100 * rma(minusDM, len) / trur)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), lensig)
adx1 = input(15, title="WTr")
adx2 = input(25, title="MTr")
adx3 = input(40, title="STr")
ADXcolor= if adx < adx1
ADXcolor = color.gray
if adx >= adx1 and adx < adx2
ADXcolor := color.yellow
if adx >= adx2 and adx < adx3
ADXcolor := color.orange
if adx >= adx3
ADXcolor := color.red
DIAcolor = plus > minus ? color.lime : color.red
DIA = plus - minus
plot(DIA, color=DIAcolor, title="DI Average",style=plot.style_columns, linewidth=2)
plot(adx, color=ADXcolor, title="ADX",style=plot.style_circles, linewidth=2)
변환 문의드립니다. 감사합니다.
좋은 하루되세요