Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

ATR Custom for Metastock
kaiji
almost 15 years ago
Metastock

Rating:
5 / 5 (Votes 1)
Tags:
metastock, oscillator, adaptive

Custom-smoothed ATR, with 8 choices for smoothing, incorporating automatic overBought/Sold levels.

By Jose Silva at metastocktools.com

Screenshots

Similar Indicators / Formulas

Auto-adaptive Ergotic Candlestick Oscillator
Submitted by kelvinhand almost 12 years ago
Guppy MMA Divergence Oscillator
Submitted by kaiji almost 15 years ago
Polarized Fractal Efficiency by Hans Hannula
Submitted by kaiji over 14 years ago
3-10 Oscillator
Submitted by mayurs over 12 years ago
Relative Vigor Index
Submitted by vargasc1 over 13 years ago
Bull and Bear Balance Indicator
Submitted by kaiji almost 15 years ago

Indicator / Formula

Copy & Paste Friendly
{Average True Range - custom smoothing v2.0

Smoothing types for ATR:
 1 - Exponential MA
 2 - Simple MA
 3 - Time Series MA
 4 - Triangular MA
 5 - Variable MA
 6 - Volume adjusted MA
 7 - Weighted MA
 8 - MetaStock (Wilder's)

Copyright © 2002-2009 Jose Silva.
For personal use only.
http://www.metastocktools.com }

{Inputs}
pds:=Input("ATR smoothing periods",1,260,5);
type:=Input("[1]EMA [2]SMA [3]TmSr [4]Tri [5]Var [6]Vol [7]Wght",1,8,2);

{ATR custom smoothing}
x:=
 If(type=1,Mov(ATR(1),pds,E),
 If(type=2,Mov(ATR(1),pds,S),
 If(type=3,Mov(ATR(1),pds,T),
 If(type=4,Mov(ATR(1),pds,TRI),
 If(type=5,Mov(ATR(1),pds,VAR),
 If(type=6,Mov(ATR(1),pds,VOL),
 If(type=7,Mov(ATR(1),pds,W),
 ATR(pds))))))));

{Automatic OverBought/Sold historical levels}
avg:=Cum(x)/Cum(IsDefined(x));
pk:=Ref(x,-1)=HHV(x,3) AND Ref(x,-1)>avg;
pk1:=ValueWhen(1,pk,Ref(x,-1))*pk;
oBought:=Cum(pk1)/Cum(pk);
tr:=Ref(x,-1)=LLV(x,3) AND Ref(x,-1)<avg;
tr1:=ValueWhen(1,tr,Ref(x,-1))*tr;
oSold:=Cum(tr1)/Cum(tr);

{Plot in own window}
oBought;avg;oSold;x

1 comments

1. aboali

Thank you very much Mr Jose Silva You are a wonderful person

Leave Comment

Please login here to leave a comment.

Back