[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EquisMetaStock Group] Trend Strength Indicator



PureBytes Links

Trading Reference Links

If you feel this discussion has help you, you could really benefit
from Roy's newsletter. 

www.metastocktips.co.nz

He's out of town. Tell him you want to subscribe and he'll take care
of it when he gets back. It's the best MS buck you can spend. Well
worth every dollar. 



--- In equismetastock@xxxxxxxxxxxxxxx, awcalhouncrew <no_reply@xxxx>
wrote:
> 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/