in dev2 was made some changes, but how could this be right?
what exatly does this MC test doing, because by randomize params i imagine, that HIGH and LOW of the candles are shifted up or down in some probability and with some amount of pips
so the results should be different EQ curves, because the candle for every MC run should be different...but they are not
with original settings 20/10/20/10 from 216 strats everyone is passed
here is used 50/50/50/50
i really dont understand what we are seeing in this test...
As Marc says this code is exposed.
public void modifyData(IRandomGenerator rng, TickEvent tickEvent, double globalATR) { double dblProbability = ((double) Probability/ 100.0d); if(rng.probability(dblProbability)) { // we should change this price double ask = tickEvent.getAsk(); double bid = tickEvent.getBid(); double spread = ask - bid; int change; if(relativeMaxChange <= 0) { change = rng.nextInt(MaxChange); } else { change = rng.nextInt(relativeMaxChange); } double dblChange = ((double) change)/ 100.0d; double priceChange = 2 * globalATR * dblChange; bid = (rng.nextInt(2) == 0 ? bid + priceChange : bid - priceChange); tickEvent.setBid(bid); tickEvent.setAsk(bid + spread); } }
something like:
On each tick
-Get bid and ask of original data
-Change bid randomly +/- based on % of a long term ATR.
-ask is now same as bid plus the spread
-return the new bid and ask for the rest of the functions.
This will create violent choppy ticks and increase volatility especially with numbers as high as 50% of ATR.
Bias for limit orders combined with tight TP and far away SL.
Bias against stop order entries and tight SL.
The code is exposed so we can change the algo.
Status changed from In progress to Refused
When you change the data in MC tests the performance becomes much worse.