Q-Diamond are faking backtest results?
I downloaded the free demo of Q-DIAMOND100 from qdiamondsystems.com 2 days ago and examined the executables.
I found that the EA contains a date table that causes q-diamond100 demo to NOT trade on certain days in the past!
Because the table contains no future dates, and because the dates look like normal trading days and not holidays,
the most probable reason for the table is to eliminate bad trades during backtesting
in order to make the results appear better than they really are!
To be fair, the table doesnt inhibit trades during 2005-2008 which is an indication that this EA probably worked well during this period.
But the time is *now* and the EA squashes trades right up to september 1st this year (2011) which leads me to believe that this EA is fading.
Here is the offending piece of code. If buyselswitch is zero then it wont trade:
--------------CODE FRAGMENT---------------------
if (Year() < 2004) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2009 && Month() == 12 && Day() == 17) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2009 && Month() == 12 && Day() == 18) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 6 && Day() == 3) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 6 && Day() == 4) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 5 && Day() == 5) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 7 && Day() == 15) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 8 && Day() == 11) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 10 && Day() == 12) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 11 && Day() == 2) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 11 && Day() == 4 && ld_12 != 37.0 && ld_12 != 47.0) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 11 && Day() == 16) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 11 && Day() == 17 && ld_12 != 37.0) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 11 && Day() == 22) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2010 && Month() == 11 && Day() == 23) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 5 && Day() == 4) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 5 && Day() == 5) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 5 && Day() == 5) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 8 && Day() == 4) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 8 && Day() == 10) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 8 && Day() == 29) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 8 && Day() == 30) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 8 && Day() == 31) buySelSwitch = 0;
if (buySelSwitch > 0.0 && Year() == 2011 && Month() == 9 && Day() == 1) buySelSwitch = 0;
...
if (buySelSwitch == 1.0 && l_count_356 < maxcount) {
// submit buy order
}
...
if (buySelSwitch == 2.0 && l_count_360 < maxcount) {
// submit sell order
}
// else do nothing
---------END CODE FRAGMENT-----------------------