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