PureBytes Links
Trading Reference Links
|
I did not present MACD() crossover as a good system.
I just note that adding the Y==1 or Y==0 IMPROVES the final result.
Of course there is nothing magic.
Y==1 or Y==0 eliminates some wrong entries because of MACD whipsaws
[the same for stochastics]
There are some additional key conditions. When applied to ANY system
they give better results IN GENERAL.
If a plant is beautiful, some manure will make it wonderful.
If the plant is ugly, the manure will improve it.
This is all about.
Try adding Y==0 or Y==1 to YOUR buy conditions and see the results.
[0 or 1 is for N100. For a database with more than 100 stocks replace
1 with the 1% of the population of your database.
DT
--- In amibroker@xxxx, "b519b" <b519b@xxxx> wrote:
> Dimirtis,
>
> A comment regarding this aspect of your post:
> Buy=D*(Cross(MACD(),Signal()) AND Y==1);
> Sell=D*(Cross(Signal(),MACD()));
> Short=Sell;Cover=Buy;
>
> Your Y factor is interesting. When testing on data prior to March
> 2000 I noticed that there were some terrible losses on the short
> side. I think these are in part due to the Cover=Buy statement. The
> addition of the Y==1 to the buy makes long entries less frequent
> (and at times more profitable), but Cover=Buy means that some
> loosing shorts may wait a very long time for an exit. One of my
back
> tests had the system remain short for over a year and gave a loss
of
> over 400%. I realize you are not presenting a complete system, but
I
> thought it might be helpful to point out what can happen when using
> Cover=Buy with a restrictive Buy statement.
>
> Also, I will reaffirm my suggestion that you use AmiQuote to
> download the full ^NDX data from Yahoo. Just using QQQ data from
> March 2000 on is far too short a period to get sufficient trades
for
> the systems you have been recently suggesting. The ^NDX is a
> reasonable proxy for the QQQ and since it has over 10 years of data
> history you will get sufficient trades to get a reasonable idea
> about how robust a system is.
>
> Thanks again for sharing your ideas
>
> b
>
>
> --- In amibroker@xxxx, "Dimitris Tsokakis" <TSOKAKIS@xxxx> wrote:
> > Are you disappointed from your trading system ?
> > Apply the magic condition and you will be surprised !!
> > Create first the "~OUT3" artificial ticker.
> > Scan the whole N100 with
> >
> > /*OUT 1, 2, 3*/
> > KUP=EMA((H+L+C)/3,10)+EMA(H-L,10);
> > KDOWN=EMA((H+L+C)/3,10)-EMA(H-L,10);
> > OUT1=C<KDOWN AND Ref(C,-1)>Ref(KDOWN,-1);
> > OUT2=C<KDOWN AND Ref(OUT1,-1);
> > OUT3=C<KDOWN AND Ref(OUT2,-1);
> > AddToComposite(OUT3,"~OUT3","V");
> > Buy=0;
> >
> > The "magic" ticker is Y, defined from the relation
> > Y=Foreign("~OUT3","V");
> > Let us see some applications.
> > a. The MACD() crossover.
> > We all know that MACD crossover fails in bearish markets.
> > Except if we add the magic OUT3 Y==0 or Y==1.
> >
> > The MACD crossover, after March1, 2000 is
> >
> > D=DateNum()>1000301;
> > Buy=D*(Cross(MACD(),Signal()));
> > Sell=D*(Cross(Signal(),MACD()));
> > Short=Sell;Cover=Buy;
> >
> > On QQQ gives a -67%.
> > Magic OUT3 may change it to +9.36% with
> > /*Magic 1*/
> > Y=Foreign("~OUT3","V");
> > D=DateNum()>1000301;
> > Buy=D*(Cross(MACD(),Signal()) AND Y==1);
> > Sell=D*(Cross(Signal(),MACD()));
> > Short=Sell;Cover=Buy;
> >
> > or to +60% with
> >
> > /*Magic 2*/
> > Y=Foreign("~OUT3","V");
> > D=DateNum()>1000301;
> > Buy=D*(Cross(MACD(),Signal()) AND Y==0);
> > Sell=D*(Cross(Signal(),MACD()));
> > Short=Sell;Cover=Buy;
> >
> > For the whole N100, the simple MACD() crossover is "extreme
> game" : -61%
> > with 5 profitable and 96 not profitable stocks !!!
> > With the magic OUT3 may rise to +3% or +9% for the respective
> additions.
> >
> > B. The Stochastics 30/70 system
> > Another nice but suffering system
> > For the whole N100, the "traditional" 30/70
> >
> > D=DateNum()>1000301;
> > Buy=D*(Cross(StochD(),30));
> > Sell=D*(Cross(70,StochD()));
> > Short=Sell;Cover=Buy;
> >
> > gives a -30%.
> > Touch it with the magic OUT3 and you change from -30% to +30% !!
> >
> > Y=Foreign("~OUT3","V");
> > D=DateNum()>1000301;
> > Buy=D*(Cross(StochD(),30) AND Y==1);
> > Sell=D*(Cross(70,StochD()));
> > Short=Sell;Cover=Buy;
> > For example, YHOO changes from +32% to +250%.
> >
> > So, if you still use loosing systems, you may improve their
> performance, adding Y==0 or
> > Y==1 or Y<2 etc to the previous Buy condition.
> >
> > Dimitris Tsokakis
> > PS Are you curious for the respective magic Sell additive ?
> > [to be continued]
|