PureBytes Links
Trading Reference Links
|
Wow! This discussion has really opened my eyes to some new ideas. I'm
really enjoying this. Thanks!
AW
--- In equismetastock@xxxxxxxxxxxxxxx, superfragalist <no_reply@xxxx>
wrote:
> Just to be on the side of clarity, I'm not trying to discourage
anyone
> from trading with moving averages. I use them all the time.
>
> The system I mentioned using smoothed moving averages is of course
> still a moving average system.
>
> Even when transforms like Laguerre or the Distant Coefficient filter
> are used, they are still a moving average that has had the rough
edges
> filed off.
>
> You can mix non-traditional moving averages like the variable moving
> average un-smoothed with the smoothed exit I described and find some
> very good performing combinations.
>
> You did a very nice job on the code, Preston. People can use it with
> the comfort of knowing it was done right.
>
> A lot of the code floating around on the internet is poor and
doesn't
> always give the right values. Let the user beware.
>
>
>
>
>
> --- In equismetastock@xxxxxxxxxxxxxxx, pumrysh <no_reply@xxxx>
wrote:
> > Super,
> >
> > You are correct about the article...problems were losses and
> > drawdowns. Going back and reviewing the entry/exit rules I see
some
> > big system flaws.
> >
> > First, entry was when the indicator reached 100. Second, the exit
was
> > when the indicator feel below zero. Finally, this was a long only
> > system.
> >
> > Looking at the drawdown chart, you can see that the huge
drawdowns
> > started in 2000. Weren't we in a bear market?
> >
> > My opinion, the system has some serious design flaws but by
making a
> > few changes and using this for the tool that it is, I believe it
can
> > be turned into a profitable system.
> >
> > A couple more points to be made here.
> >
> > First, the market does not trend all the time. I've heard counts
of
> > only 20%. That may be true but not all stocks trend at the same
time.
> > Which opens the door for the final observation which is selection
> > screening. You mentioned some great prescreening indexes. There
are
> > others as well. What we have to remember is that indexes have
losers
> > too so just jumping in and selecting from these indexes will not
> > guarantee success. Using the advance/decline to further screen
out
> > the deadwood will certainly improve your odds of success. The
> > relative strength will also help in this regard.
> >
> > Thanks for your observations gentleman!
> >
> > BTW: I'm a retiree wanabee!
> >
> >
> > Preston
> >
> >
> >
> > --- In equismetastock@xxxxxxxxxxxxxxx, superfragalist
<no_reply@xxxx>
> > wrote:
> > > First MG, you definitely have my endorsement on your
retirement, the
> > > trend strength indicator is another issue.
> > >
> > > I've never gotten much out of Active Trader Magazine, and while
this
> > > particular system is better than a lot of the junk they test,
it's
> > got
> > > too many issues for me to feel comfortable with it.
> > >
> > > It's very similar to Guppy's multiple moving average system. I
like
> > > Guppy's as a visual aid in identifying trends, and the use of
> > mulitple
> > > moving averages reduces whipsaws to some extent.
> > >
> > > Both systems work better on futures than on stocks. The two big
> > > problems with this system and other systems based on similar
> > > principles are the huge drawdowns and the long periods of many
loses
> > > in a row. The average trader is never going to stick to a
system
> > with
> > > those kinds of problems.
> > >
> > > I like the quote in the magazine that says the system recovers
from
> > > it's 20% drawdowns pretty quickly. This is an example of how
looking
> > > at a graph is far different than looking at your wallet. The
pretty
> > > picture says "ah, my pretty litle red chart, you look so good."
> > > Looking in your wallet says "I feel like I need to throw up,
you
> > got a
> > > bag I could use."
> > >
> > > Part of the issue can be avoided by staying out of the market
when
> > > it's in a downtrend. That can be seen by applying the same
indicator
> > > to the indexes and then adding in an advancing/declining issues
> > > indicator. The two of them together pretty much define the
trend.
> > >
> > > However, even if a trader does that, they would be out of the
market
> > > for long periods of time.
> > >
> > > The counter to this is "Well, you should simply short when the
> > market
> > > is going down." Okay, short away.
> > >
> > > The code is fun to play with but it's a bit of overkill. Many
> > > indicators, especially smoothed indicators like the Inverse
Fisher
> > > Transform or the Laguerre Filter perform just as well or
better. The
> > > drawdowns are smaller and the periods out of the market are
shorter.
> > >
> > > A lot of the really technical indicators that are smoothed can
be
> > > simulated to within a small fraction of the more complex. For
> > example,
> > > this simple Laguerre Transform
> > >
> > > g:=Input("Alpha",0.1,0.9,0.8);
> > > L0:=((1-g)*MP()) + (g*PREV);
> > > L1:=(-g*L0) + Ref(L0,-1) + (g*PREV);
> > > L2:=(-g*L1) + Ref(L1,-1) + (g*PREV);
> > > L3:=(-g*L2) + Ref(L2,-1) + (g*PREV);
> > > (L0 + (2*L1) + (2*L2) + L3)/6
> > >
> > > can be approximated very closely by
> > >
> > > Mov(Mov(C,Period1,E),Period2,S)
> > >
> > > To trade this you pick the two periods for a buy with the
closing
> > > price of the stock crossing over the function and for the exit
you
> > > pick another set of periods for the close to cross as a sell.
Longer
> > > periods for Period1 and shorter periods for Period2 will
probably
> > work
> > > the best.
> > >
> > > If you want to see a function like this really perform, rather
than
> > > trying to trade it on the entire market, use it on the ETFs
only or
> > > even better apply it to a list of prescreened stocks like the
those
> > > from Value Line, IBD, or the Stock Scouter.
> > >
> > > You can optimize it against those lists if you can find a few
older
> > > lists to work with. You'll need to use a date filter so you can
load
> > > enough bars into the tester for the function to work properly
and
> > > still allow you to limit the date range of the entry signals.
> > >
> > > The combination of those two things will outperform the results
in
> > > Active Trader by a wide margin, without the huge drawdowns.
> > >
> > > I can endorse that method and it will make you rich. Well, it
will
> > > make some people rich! But please feel free to retire anyway.
> > >
> > >
> > >
> > >
> > > --- In equismetastock@xxxxxxxxxxxxxxx, mgf_za_1999
<no_reply@xxxx>
> > wrote:
> > > > Wow, I was catching up a bit during the weekend, stumbled on
> > wabbit's
> > > > initial modifications, and, after having thought you could
speed
> > up
> > > > the original, posted my own variation. Then I noted the
replies
> > to it
> > > > and now I feel as if I've walked straight into a trap!
Anyhow,
> > see my
> > > > post as an illustration of how one could extend the system
and
> > modify
> > > > the code when taking it outside of MSFL to speed it up in
> > preparation
> > > > for use with say an optimiser or Monte Carlo simulator.
> > > >
> > > > Anyhow, I am glad to hear that magazine found it works well.
Note
> > > > that there are many combinations, such as if the 10 day MA is
> > above
> > > > the 20 day MA, the 30 day MA and so on. Then if the 20 day
MA is
> > > > above the 30 day MA, the 40 day MA and so on. What we do
with one
> > > > neural net, is to calculate something like the following
inputs
> > > >
> > > > Input 1 = C / 10 day MA - 1
> > > > Input 2 = C / 20 day MA - 1
> > > > Input 3 = 10 day / 20 day MA - 1
> > > >
> > > > etc.
> > > >
> > > > In the end, the close is compared to all moving averages and
all
> > > > moving averages are compared to one another. We feed this to
the
> > net
> > > > that then tries to extract any historical patterns and voila!
you
> > have
> > > > a trading model! I have no idea how this would perform on
its
> > own, as
> > > > it forms part of a larger model, but it is encouraging if
this
> > type of
> > > > indicator was found useful by others.
> > > >
> > > > Regards
> > > > MG Ferreira
> > > > TsaTsa EOD Programmer and trading model builder
> > > > http://www.ferra4models.com
> > > > http://fun.ferra4models.com
> > > >
> > > > --- In equismetastock@xxxxxxxxxxxxxxx, mgf_za_1999
<no_reply@xxxx>
> > > wrote:
> > > > > Now, if you want to build a model using this indicator, you
> > don't want
> > > > > to calculate all those moving averages, as it will make any
> > > > > optimisation process very slow. MSFL is slow by default,
so
> > you want
> > > > > to speed up things anyhow, even if you are not optimising.
So
> > you
> > > > > calculate just one indicator, the cumulative sum of the
closes,
> > and
> > > > > use only that.
> > > > >
> > > > > You also want to test how many of these steps you should
> > perform.
> > > > > Should you use 5, 10, 15 or whatever. Also, you rebase the
> > indicator
> > > > > to somewhere between -1 and +1, so that it remains the same
for
> > all
> > > > > combinations. You also rewrite it a bit so that divisions,
> > which take
> > > > > longer to do, become multiplications, and the new 'thing'
> > becomes
> > > > >
> > > > > ----8<------------------
> > > > >
> > > > > {Trend Strength Indicator}
> > > > > {for metastock, coded by P Umrysh}
> > > > > {from the August 2005 issue of Active Trader Magazine}
> > > > > {modified by wabbit 08Jul05}
> > > > > {modified by MG Ferreira 09 Jul 05}
> > > > >
> > > > > PRD := INPUT("Enter periods",1,100,10);
> > > > > STEP := INPUT("Enter step size",1,50,10);
> > > > > NSTEP := INPUT("Enter number of steps",1,20,10);
> > > > >
> > > > > XX := Cum(C);
> > > > >
> > > > > SS :=
> > > > > (C*PRD > (XX-Ref(XX,-PRD ))) +
> > > > > (C*(PRD+ STEP) > (XX-Ref(XX,-PRD- STEP))) * (NSTEP> 1) +
> > > > > (C*(PRD+ 2*STEP) > (XX-Ref(XX,-PRD- 2*STEP))) * (NSTEP> 2) +
> > > > > (C*(PRD+ 3*STEP) > (XX-Ref(XX,-PRD- 3*STEP))) * (NSTEP> 3) +
> > > > > (C*(PRD+ 4*STEP) > (XX-Ref(XX,-PRD- 4*STEP))) * (NSTEP> 4) +
> > > > > (C*(PRD+ 5*STEP) > (XX-Ref(XX,-PRD- 5*STEP))) * (NSTEP> 5) +
> > > > > (C*(PRD+ 6*STEP) > (XX-Ref(XX,-PRD- 6*STEP))) * (NSTEP> 6) +
> > > > > (C*(PRD+ 7*STEP) > (XX-Ref(XX,-PRD- 7*STEP))) * (NSTEP> 7) +
> > > > > (C*(PRD+ 8*STEP) > (XX-Ref(XX,-PRD- 8*STEP))) * (NSTEP> 8) +
> > > > > (C*(PRD+ 9*STEP) > (XX-Ref(XX,-PRD- 9*STEP))) * (NSTEP> 9) +
> > > > > (C*(PRD+10*STEP) > (XX-Ref(XX,-PRD-10*STEP))) * (NSTEP>10) +
> > > > > (C*(PRD+11*STEP) > (XX-Ref(XX,-PRD-11*STEP))) * (NSTEP>11) +
> > > > > (C*(PRD+12*STEP) > (XX-Ref(XX,-PRD-12*STEP))) * (NSTEP>12) +
> > > > > (C*(PRD+13*STEP) > (XX-Ref(XX,-PRD-13*STEP))) * (NSTEP>13) +
> > > > > (C*(PRD+14*STEP) > (XX-Ref(XX,-PRD-14*STEP))) * (NSTEP>14) +
> > > > > (C*(PRD+15*STEP) > (XX-Ref(XX,-PRD-15*STEP))) * (NSTEP>15) +
> > > > > (C*(PRD+16*STEP) > (XX-Ref(XX,-PRD-16*STEP))) * (NSTEP>16) +
> > > > > (C*(PRD+17*STEP) > (XX-Ref(XX,-PRD-17*STEP))) * (NSTEP>17) +
> > > > > (C*(PRD+18*STEP) > (XX-Ref(XX,-PRD-18*STEP))) * (NSTEP>18) +
> > > > > (C*(PRD+19*STEP) > (XX-Ref(XX,-PRD-19*STEP))) * (NSTEP>19);
> > > > >
> > > > > ( 2*SS - NSTEP ) / NSTEP
> > > > >
> > > > > ----8<------------------
> > > > >
> > > > >
> > > > > Now, this looks bad but is easily done using any
programming
> > language
> > > > > where loops are allowed. All those lines that form part of
the
> > sum SS
> > > > > are done inside this loop as a fairly simple addition. The
> > loop ends
> > > > > at the right spot, so that the multipliation with NSTEP >
xx
> > falls
> > > away.
> > > > >
> > > > > I also am not sure about MSFL, but this function is
supposed to
> > be
> > > > > very fast. In a normal programming language, at each step,
you
> > just
> > > > > update xx as XX = XX + C. XX starts at 0. MSFL does not
allow
> > this,
> > > > > so the one difference between this function and the
original is
> > that
> > > > > it starts one observation later than the original. Again,
in a
> > real
> > > > > programming language, this would not be the case.
> > > > >
> > > > > Now, if only super can endorse the trading qualities of
this new
> > > > > indicator I can sell it to the world and retire early.....
> > > > >
> > > > > Regards
> > > > > MG Ferreira
> > > > > TsaTsa EOD Programmer and trading model builder
> > > > > http://www.ferra4models.com
> > > > > http://fun.ferra4models.com
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > --- In equismetastock@xxxxxxxxxxxxxxx, "bellamy_29m"
> > > > > <bellamy_29m@xxxx> wrote:
> > > > > > Similar results (0-10) instead of -100 to 100 with
simpler
> > code:
> > > > > >
> > > > > > {Trend Strength Indicator}
> > > > > > {for metastock, coded by P Umrysh}
> > > > > > {from the August 2005 issue of Active Trader Magazine}
> > > > > > {modified by wabbit 08Jul05}
> > > > > >
> > > > > > PRD:= Input("ENTER PERIODS FOR SMA",1,100,10);
> > > > > > STEP:= Input("ENTER SMA STEPS",1,50,10);
> > > > > >
> > > > > > (C>Mov(C,PRD+(STEP*0),S))+
> > > > > > (C>Mov(C,PRD+(STEP*1),S))+
> > > > > > (C>Mov(C,PRD+(STEP*2),S))+
> > > > > > (C>Mov(C,PRD+(STEP*3),S))+
> > > > > > (C>Mov(C,PRD+(STEP*4),S))+
> > > > > > (C>Mov(C,PRD+(STEP*5),S))+
> > > > > > (C>Mov(C,PRD+(STEP*6),S))+
> > > > > > (C>Mov(C,PRD+(STEP*7),S))+
> > > > > > (C>Mov(C,PRD+(STEP*8),S))+
> > > > > > (C>Mov(C,PRD+(STEP*9),S))
> > > > > >
> > > > > > Hpe this helps.
> > > > > >
> > > > > > wabbit :D
> > > > > >
> > > > > > <snip>
------------------------ Yahoo! Groups Sponsor --------------------~-->
Try Online Currency Trading with GFT. Free 50K Demo. Trade
24 Hours. Commission-Free.
http://us.click.yahoo.com/DldnlA/9M2KAA/U1CZAA/BefplB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/equismetastock/
<*> 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/
|