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

Re: "Trade The Trend" - Freebie - DD Trend Formula



PureBytes Links

Trading Reference Links

Here is a freebie:

I will call it the DD Trend Formula for now (MS 6.0 is a minimum reqm't).  Its
a trend following formula that will avoid many (maybe not all) whipsaws.  (I
really want to test this on thousands of securities to see what happens in the
long run.)

I do combine TA with some fundamental research but I have found that the good
uptrends I want to buy into either have irresistibly enticing stories or the
fundamentals are damn good anyways (i.e. sales, earnings and the customer love
quotient is going thru the roof).

I offer this to whoever might be reading in the hopes of receiving feedback
that might make my trading system stronger, quicker or simpler (or more
profitable).  (Who knows maybe I'll even get a job offer. I have worked at the
same company for 17 years so I am overdue for a change.)

A few years ago it took me 6 weeks of screening and testing all the available
MS formulas (at that time) for ones that were faster than sma's and ema's (i.e.
exhibited zero/little lag time) and at the same time complimented/supplemented
each other. This work also included testing for appropriate parameters to use.
(There is zero optimization and hence zero curve-fitting.) After this intensive
study period I thought I had the system from hell.  How naive I was.  This
period was eventually followed by a few years of tweaking where the system was
revised to its present state.  I now believe no system is perfect and can
always be improved somehow.

Therefore I welcome any and all comments.  In particular as a result of reading
the Sept. TASC Andrew Abraham article (Thank You to the author) and many others
over the years as well as listening to members of the Toronto Meastock Users
Group I am interested in developing a daily and weekly version of the same
indicator displayed on the screen simultaneously. This is my next goal.  If you
can help me do this GREAT!

What follows is a binary composite of 18 formulas.  If the indicator hits a
value of 18 this is pretty much peak strength - the stock has seen its heyday
momentum wise.  If the indicator hits 0 or 1 its a dog for now with no
guarantee of recovery.

I use this formula in conjunction with trendlines and have made money.  I take
no trades below a trendline in an uptrend (You might be tempted to do so at the
end of a long bull run in a stock or market - I won't get into a market
discussion at this point.).

In a downtrend you would not go long anyways - unless you have a desire to be
poor.

If you will, copy and paste the formulas below into a custom formula to see
what it looks like.

If(RSI(14),>,55,1,0)+
If(MACD(),>,Mov(MACD(),9,E),1,0)+
If(PDI(2),>,MDI(2),1,0)+
If(C,>,SAR(0.02,0.20),1,0)+
If(Mov(VHF(C,28),3,S),>=,Ref(Mov(VHF(C,28),3,S),-1),1,0)+
If(Mov(C-OscP(1,31,E,$),2,E),>,Ref(Mov(C-OscP(1,31,E,$),2,E),-1),1,0)+
If(Mov(C,10,S),>,Ref(Mov(C,40,S),-30),1,0)+
If(TRIX(12),>,Ref(TRIX(12),-1),1,0)+
If(Mov(EMV(14,S),3,S),>,Ref(Mov(EMV(14,S),3,S),-1),1,0)+
If(((H+L+C)/3),>,(Mov(C,20,S)+(2*Std(C,20))),1,0)+
If(MFI(14),>=,65,1,0)+
If(Mov(C,40,E)-Mov(O,40,E),>,0,1,0)+
If(DI(),>,0,1,0)+
If(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),>=,Ref(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),-1),1,0)+

If(Mov(C,10,S),>=,Ref(Mov(C,10,S),-1),If(Mov(C,20,S),>=,Ref(Mov(C,20,S),-1),If(Mov(C,10,S),>=,Mov(C,20,S),1,0),0),0)+

If(OscP(10,20,E,$),>,Mov(OscP(10,20,E,$),10,S),1,0)+
If(Mov(OscP(10,20,E,$),10,S),>,Mov(OscP(10,20,E,$),20,S),1,0)+
If(Mov(C,40,S),>,Ref(Mov(C,40,S),-1),1,0)

If you want to scan your portfolio here is the pertinent info:  There was about
a 1.5% hit rate when the market was strong - now its as low as 0.2% on some
days. This is why I require a lot of data (everyday).

ColumnA of the explorer:

Close

ColumnB of the explorer:

(CLOSE/Mov(C,40,S))

ColumnC of the explorer:

If(RSI(14),>,55,1,0)+
If(MACD(),>,Mov(MACD(),9,E),1,0)+
If(PDI(2),>,MDI(2),1,0)+
If(C,>,SAR(0.02,0.20),1,0)+
If(Mov(VHF(C,28),3,S),>=,Ref(Mov(VHF(C,28),3,S),-1),1,0)+
If(Mov(C-OscP(1,31,E,$),2,E),>,Ref(Mov(C-OscP(1,31,E,$),2,E),-1),1,0)+
If(Mov(C,10,S),>,Ref(Mov(C,40,S),-30),1,0)+
If(TRIX(12),>,Ref(TRIX(12),-1),1,0)+
If(Mov(EMV(14,S),3,S),>,Ref(Mov(EMV(14,S),3,S),-1),1,0)+
If(((H+L+C)/3),>,(Mov(C,20,S)+(2*Std(C,20))),1,0)+
If(MFI(14),>=,65,1,0)+
If(Mov(C,40,E)-Mov(O,40,E),>,0,1,0)+
If(DI(),>,0,1,0)+
If(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),>=,Ref(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),-1),1,0)+

If(Mov(C,10,S),>=,Ref(Mov(C,10,S),-1),If(Mov(C,20,S),>=,Ref(Mov(C,20,S),-1),If(Mov(C,10,S),>=,Mov(C,20,S),1,0),0),0)+

If(OscP(10,20,E,$),>,Mov(OscP(10,20,E,$),10,S),1,0)+
If(Mov(OscP(10,20,E,$),10,S),>,Mov(OscP(10,20,E,$),20,S),1,0)+
If(Mov(C,40,S),>,Ref(Mov(C,40,S),-1),1,0)

ColumnD of the explorer:

Ref(If(RSI(14),>,55,1,0)+
If(MACD(),>,Mov(MACD(),9,E),1,0)+
If(PDI(2),>,MDI(2),1,0)+
If(C,>,SAR(0.02,0.20),1,0)+
If(Mov(VHF(C,28),3,S),>=,Ref(Mov(VHF(C,28),3,S),-1),1,0)+
If(Mov(C-OscP(1,31,E,$),2,E),>,Ref(Mov(C-OscP(1,31,E,$),2,E),-1),1,0)+
If(Mov(C,10,S),>,Ref(Mov(C,40,S),-30),1,0)+
If(TRIX(12),>,Ref(TRIX(12),-1),1,0)+
If(Mov(EMV(14,S),3,S),>,Ref(Mov(EMV(14,S),3,S),-1),1,0)+
If(((H+L+C)/3),>,(Mov(C,20,S)+(2*Std(C,20))),1,0)+
If(MFI(14),>=,65,1,0)+
If(Mov(C,40,E)-Mov(O,40,E),>,0,1,0)+
If(DI(),>,0,1,0)+
If(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),>=,Ref(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),-1),1,0)+

If(Mov(C,10,S),>=,Ref(Mov(C,10,S),-1),If(Mov(C,20,S),>=,Ref(Mov(C,20,S),-1),If(Mov(C,10,S),>=,Mov(C,20,S),1,0),0),0)+

If(OscP(10,20,E,$),>,Mov(OscP(10,20,E,$),10,S),1,0)+
If(Mov(OscP(10,20,E,$),10,S),>,Mov(OscP(10,20,E,$),20,S),1,0)+
If(Mov(C,40,S),>,Ref(Mov(C,40,S),-1),1,0),-1)

ColumnE of the explorer:

((CLOSE/Ref(C,-50))-1.0)*100

ColumnF of the explorer: (not currently used - but could be used to provide
further filtering.)

HHV(If(RSI(14),>,55,1,0)+
If(MACD(),>,Mov(MACD(),9,E),1,0)+
If(PDI(2),>,MDI(2),1,0)+
If(C,>,SAR(0.02,0.20),1,0)+
If(Mov(VHF(C,28),3,S),>=,Ref(Mov(VHF(C,28),3,S),-1),1,0)+
If(Mov(C-OscP(1,31,E,$),2,E),>,Ref(Mov(C-OscP(1,31,E,$),2,E),-1),1,0)+
If(Mov(C,10,S),>,Ref(Mov(C,40,S),-30),1,0)+
If(TRIX(12),>,Ref(TRIX(12),-1),1,0)+
If(Mov(EMV(14,S),3,S),>,Ref(Mov(EMV(14,S),3,S),-1),1,0)+
If(((H+L+C)/3),>,(Mov(C,20,S)+(2*Std(C,20))),1,0)+
If(MFI(14),>=,65,1,0)+
If(Mov(C,40,E)-Mov(O,40,E),>,0,1,0)+
If(DI(),>,0,1,0)+
If(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),>=,Ref(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),-1),1,0)+

If(Mov(C,10,S),>=,Ref(Mov(C,10,S),-1),If(Mov(C,20,S),>=,Ref(Mov(C,20,S),-1),If(Mov(C,10,S),>=,Mov(C,20,S),1,0),0),0)+

If(OscP(10,20,E,$),>,Mov(OscP(10,20,E,$),10,S),1,0)+
If(Mov(OscP(10,20,E,$),10,S),>,Mov(OscP(10,20,E,$),20,S),1,0)+
If(Mov(C,40,S),>,Ref(Mov(C,40,S),-1),1,0),70)

Filter:

When(colA,>,.5) AND
When(VOLUME,>,10) AND
When(colC,>,8) AND
When(colC,<,13) AND
When(colC,>,colD) AND
When(colB,>,0.90) AND
When(Mov(C,40,S),>,Ref(Mov(C,40,S),-1))

These formulas are designed to run on weekly data (or ideally daily data when
the weekly trend is favourable).  You can run weekly formulas on daily data
(everyday) if you go in and change the run date from friday to current date.

Rule 1: Go long when the resultant indicator peaks at 17 or higher, valleys in
a nice smooth curve and then proceeds up to a threshold in the 8-12 range (E.g.
10).  The best trades are the ones that look like ideal sine waves. Sell when
the stock breaks thru your trend line or when the indicator has peaked at 18
and begins its descent back thru the threshold (when self preservation and
logic take over from greed).

Rule 2: (Not currently in effect) I used to only buy in after the indicator had
reached a peak of 17+ in the last 70 periods.  This meant I might miss the
first 20% of a trend move but I would avoid some false signals. I now look for
sine waves ideally showing rounded bottoms in the underlying equity.

You will find that on stocks that trend up the indicator will hit a value of
17/18 with each trading peak For example look at NTL in Canada (NT in US?).  On
stocks that trend down the indicator will never hit a value of 18 (I am not as
familiar with these).

Never take a trade against the trend.  Always trade with the trend.

For the shorters here is the same indicator but programmed for going short.

If(RSI(14),<,45,1,0)+
If(MACD(),<,Mov(MACD(),9,E),1,0)+
If(PDI(2),<,MDI(2),1,0)+
If(C,<,SAR(0.02,0.20),1,0)+
If(Mov(VHF(C,28),3,S),<=,Ref(Mov(VHF(C,28),3,S),-1),1,0)+
If(Mov(C-OscP(1,31,E,$),2,E),<,Ref(Mov(C-OscP(1,31,E,$),2,E),-1),1,0)+
If(Mov(C,10,S),<,Ref(Mov(C,40,S),-30),1,0)+
If(TRIX(12),<,Ref(TRIX(12),-1),1,0)+
If(Mov(EMV(14,S),3,S),<,Ref(Mov(EMV(14,S),3,S),-1),1,0)+
If(((H+L+C)/3),<,(Mov(C,20,S)-(2*Std(C,20))),1,0)+
If(MFI(14),<=,35,1,0)+
If(Mov(C,40,E)-Mov(O,40,E),<,0,1,0)+
If(DI(),<,0,1,0)+
If(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),<=,Ref(Abs(Sub(OscP(10,20,E,$),Mov(OscP(10,20,E,$),10,S))),-1),1,0)+

If(Mov(C,10,S),<=,Ref(Mov(C,10,S),-1),If(Mov(C,20,S),<=,Ref(Mov(C,20,S),-1),If(Mov(C,10,S),<=,Mov(C,20,S),1,0),0),0)+

If(OscP(10,20,E,$),<,Mov(OscP(10,20,E,$),10,S),1,0)+
If(Mov(OscP(10,20,E,$),10,S),<,Mov(OscP(10,20,E,$),20,S),1,0)+
If(Mov(C,40,S),<,Ref(Mov(C,40,S),-1),1,0)

Again any and all comments welcome!!!

David Duggan



angus@xxxxxxxxxxxx wrote:

> Hi Harvey,
>
> I agree that any trend following system can whippsawed.. but the way I use
> trend rider is to give me the idea where I stand in the market.. upon
> knowing that .. I have patterns that I trade.. these patterns repeat
> themselves over and over.[but each are a random event and there is no
> gurantee when I put on a trade then pattern will work.. but over time ..
> and ifI am consistant .. then that is my edge..and I will and do succeed.
> Your are mistaken that just because I have a change in wave.. Trends are
> made up of waves.. in uptrends you have upwaves and downwaves.. I only look
> to trade upwaves in uptrends and sell downwaves in downtrends..  I take
> that as the only signal for a trade..In order to advance .. one must look
> for low risk trades.. recognize them.. feel good about them.. and execute..
> that is it.. Trend Rider isn't magic.. it simply just gives a trader an
> idea where they are located in the trend .. I hope this helps more... There
> are no magic indicators or systems... it is just a numbers game.. with
> probabilities.. and we as traders ... have to be carefull we don't make
> mistakes that aren't part of our game plan..
>
> Andy Abraham cta
> Trend Rider
> Angus Jackson
>
> At 01:00 PM 9/10/98 -0700, you wrote:
> >David/
> >
> >With regard to this particular indicator, it flips back and forth
> >between uptrend and downtrend.  This is fine as long as there is a
> >steady trend; used as an exit signal it will get you out before you give
> >up too much.  However when prices go sideways the flips will occur at
> >short intervals.  Anyone using the indicator for entry and exit signals
> >would be continually buying and selling and losing more than they make.
> >These trades are called whipsaws.  Given enough of them and you may well
> >suffer whiplash.
> >
> >Most systems are trend-following.  Prices spend only a part of their
> >time in trends of any duration.  Therefore trend-following systems
> >attempt to enter as soon as possible after the trend begins and exit as
> >soon as possible after it ends, and to stay out of the market while
> >things are flat.  How to achieve that is what we're all trying to find
> >out, since the market has endless variations.
> >
> >Harvey Pearce, Victoria, B.C., Canada
> >=====================================
> >
> >
> >
> >David Duggan wrote:
> >>
> >> I am a trend trader and I am interested to know what happens to these
> formulas
> >> when the underlying equity enters a trading range.
> >>
> >> Would you get whiplash?
> >>
> >> It has been my experience the more sensitive a system is to "potential
> breakouts"
> >> the more false signals are generated.
> >>
> >> I haven't programmed everything on this thread related to this subject
> yet but I
> >> have started.
> >>
> >> David Duggan
> >>
> >
> >