PureBytes Links
Trading Reference Links
|
Barry
Many standard MS indicators use a form of exponential smoothing as part as
an integral part of the indicator. Exponential moving averages don't "drop
off" old data in the same way that Simple moving averages do, so a part of
ALL historical data available to the EMA is included in it. With each new
bar some of the new data is added, this replacing a proportion of the old
data, but not ALL. The retained data still has SOME of all previous data.
Addmittedly the oldest data is just a very small fraction of the current EMA
value, but the absence of old retained data in an exploration that only
requires "minimum" periods can cause a significant variation in value than
the same EMA observed on a chart.
Suppose your exploration uses "minimum" periods, and the longest period
indicator isa a 14 period EMA. Now if your charts are set to load 1000 bars
then then a 14 period EMA will calculate using 1000 bars of data. However
the exploration will only be forced to use 14 bars of data. In such a
situation the chart EMA is much more accurate. Put another way, the
exploration EMA could be off by several percent.
The easiest solution to this problem is to "force" all explorations to scan
at least 5 times the number of periods of the longest EMA affected
indicator. I seldom use less than 400 bars in an exploration, and never use
"minimum" unless I am testing for the very situation discussed here.
What you must realize is that many indicators include EMA, Wilders, or some
other form of exponential smoothing as part of the internal calculation.
The following post I made at StockCentral some time ago may also be helpful.
See http://www.stockcentral.com.au/forum/machine/Forum32/HTML/000414.html
>From the number of questions that I have seen posted recently about
exploration events not coinciding with charted events I thought it might be
useful to discuss further the major cause of the problem, and to identify
many of the MetaStock functions that can contribute to it.
The problem does not lie with the MetaStock formula language but with the
way that individual users set up their explorations.
There seems to be a general lack of understanding, even among experienced
users, that EXPONENTIAL moving averages require much more data than the
"PERIODS" value of any affected function will supply. When using the
Explorer with the "Minimum Periods" option set we need to be aware that the
number of records explored will not exceed the highest "PERIODS" value used
in the active exploration formulas.
An EMA displayed on a chart has access to ALL loaded data, regardless of the
"PERIODS" value of the indicator. However an exploration will only have
access to the amount of data that the user has specified. The point to
remember with an exponential MA is that new data is added with each bar, but
old data is never dropped out (as happens with a simple MA). The old EMA
data becomes less significant with each new bar but it continues to be a
component of the final EMA value. This is the essential factor that causes
differences between chart and exploration values.
Quite a number of MetaStock functions use internal smoothing, and this is
usually (but not always) exponential in nature. Some functions allow user
control over the smoothing method employed, Mov() being an obvious example.
The following list cannot be guaranteed as 100% accurate but these are the
MS functions to watch out for that appear to use, or are in themselves, a
form of exponential smoothing.
adx()
adxr()
atr()
bbandbot()
bbandtop()
dema()
dx()
emv()
forecastosc()
imi()
inertia()
macd()
mass()
mdi()
mov()
oscp()
oscv()
pdi()
pfe()
projosc()
qstick()
rangeindicator()
rmi()
rvi()
sar()
stoch()
tema()
trix()
wilders()
When using any of these functions in an exploration the accuracy of the
reported results will require the number of records explored to be set
appropriately. As a rule of thumb I would suggest multiplying the highest
"PERIODS" value by a factor of 5.
Another trick that should force the exploration to include the required
minimum number of records without actually specifying that number is to add
the following code to the filter and adjust "PERIODS" to a suitable value.
" AND Mov(C,PERIODS,S)>0"
Roy
> I recall that Roy Larsen has responded on this listserv to queries about
> why indicators in MetaStock can give inaccurate results. From memory it
> occurs when insufficient data is loaded.
>
> I didn't take much notice of the discussion at the time, but I have now
> experienced that problem.
>
> I can't see a document covering the issue with this group's files, yet I
> recall there was such a document. Can Roy or anyone direct me to it
> please?
> Thanks,
> Barry
>
>
>
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Make Money Online Auctions! Make $500.00 or We Will Give You Thirty Dollars for Trying!
http://us.click.yahoo.com/yMx78A/fNtFAA/i5gGAA/BefplB/TM
---------------------------------------------------------------------~->
To unsubscribe from this group, send an email to:
equismetastock-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
|