PureBytes Links
Trading Reference Links
|
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/
|