Is the 2GB limit for FXT files still around? - page 4

 

Ah right.  I thought it was a common/known problem, in that the tester will do just as you say and finish prematurely having completed far fewer than the total number of permutations configured.  I made an assumption that it was to do with the .fxt limitations but happy to be wrong.

Crap out = fail.  I'd not noticed any errors in the journal.  This behaviour has been ever-present and is the same no matter the bot/version/configuration or build of MT4.  I'll still look out for errors though as it would be really good to resolve this problem. 

 
Trevhib:

Ah right.  I thought it was a common/known problem, in that the tester will do just as you say and finish prematurely having completed far fewer than the total number of permutations configured.  I made an assumption that it was to do with the .fxt limitations but happy to be wrong.

Crap out = fail.  I'd not noticed any errors in the journal.  This behaviour has been ever-present and is the same no matter the bot/version/configuration or build of MT4.  I'll still look out for errors though as it would be really good to resolve this problem. 

Do you have Genetic Algorithm enabled for the Optimizer ?
 

Yes (and have never run with it un-ticked).

So I just set up a big optimisation run and set it going.  What I get is - 1 / 1280 (33048).  From that I guess it means it's going to conduct 1280 tests out of the 33048 permutations? Is that to do with the genetic algorithm selection?

IIRC, on the many tests like this in the past (not nearly as big), not only has it not run the number in brackets, it's not managed to achieve the second number either (1280 in this case).  I have 'skip useless results' unticked.

 

Incidentally the .fxt is only 378mb for the above test.  It says 20hrs to complete.  I'll let it run out of interest and see how many runs it completes.

 

Good article btw, thank you. 

 

So to follow up on the test I ran yesterday to demonstrate the odd behaviour I'm seeing from the tester:

 

Total runs  are 589 as showing in the optimisation results (which is neither of the 1280 or 33048 quoted at the start of the run)

Settings tab for number of test shows 1088/1280 (33048) runs complete (not the 589 I have results for and 192 runs short in any case!?)

Settings tab for time taken is 9:33:54 / 1:14:17  (so 9.5hrs rather than the 20hrs first stated but proportionately accurate considering I only got half of the runs it expected to complete).  I'm not sure what the second figure relates to, is that average time per completed run?

 

.fxt size was static at 378,506kb.  So what I have always thought was a .fxt file size issue causing this appears to be something else entirely.

 

There are no errors in the journal.  This bot is quite complicated, i.e. it places a limit buy/sell when certain conditions are seen, then as part of the trigger sets sl/tp levels and then later modifies the tp level.  So, for each trade there are a number of interventions.  I wonder if it's this which is causing some problems for me.  I need to do a big optimisation on one of my simpler bots. 

 

Any ideas gratefully received! :(  I'd better do some forum searching too.

 

Trevhib, have you tried to run optimization with "Genetic algorithm" unchecked so you see if optimizer completes test on all input combinations?

From how I understand it, when running optimizer with genetic on, the lower number is *estimated* number of runs as the algorithm cannot know how many runs will it need. It is said in the Genetic Algorithm article:

"Optimization graph with genetic algorithms also differs from that with direct search. Since bad combinations have already been screened out, the subsequent tests are conducted with combinations of inputs that are more profitable by default. "

 So it seems the way genetic optimization works is that the algorithm decides whether to run a test on a combination of inputs or not based on results it obtained on similar inputs and hence there's no way for the optimizer to give you exact number of runs before the optimization even started.

 

Hi FXJ.  Thanks, yes that's a good point.

 

And it would be make sense, except my numbers don't seem to stack up.  33048 is the number of permutations configured (which I checked on a calculator is correct), 1280 could be the 'estimated' number of runs that the genetic algorithm calculates and 1088 could be the actual/eventual number of runs required to be completed in the event.  So the question I'm asking myself is, "why do I only have 589 results in the optimisation page and in conjunction, why did the optimisation take only half of the expected time?"

 

The answer is probably a simple one, I just don't know what it is at this stage.  For the purposes of investigation I could run the same test and uncheck genetic algorithm box to see what happens.

 

So for completeness, I'm re-running the test.  This time the settings tabs simply shows the full number of runs (atm it's at 9/33048) and a testing time of 580hours.   So Raptor was right (thank you Raptor), in that it's the genetic algorithm option that is making all the difference.

 

I am still left with a lack of understanding, as described above over how this algorithm works; My numbers don't seem to stack up.  33048 is the number of permutations configured (which I checked on a calculator is correct), 1280 could be the 'estimated' number of runs that the genetic algorithm calculates and 1088 could be the actual/eventual number of runs required to be completed in the event.  So the question I'm asking myself is, "why do I only have 589 results in the optimisation page and in conjunction, why did the optimisation take only half of the expected time?"

 

Maybe I can do some searching on the forum to find out the answer.  

 
Trevhib:

So for completeness, I'm re-running the test.  This time the settings tabs simply shows the full number of runs (atm it's at 9/33048) and a testing time of 580hours.   So Raptor was right (thank you Raptor), in that it's the genetic algorithm option that is making all the difference.

 

I am still left with a lack of understanding, as described above over how this algorithm works; My numbers don't seem to stack up.  33048 is the number of permutations configured (which I checked on a calculator is correct), 1280 could be the 'estimated' number of runs that the genetic algorithm calculates and 1088 could be the actual/eventual number of runs required to be completed in the event.  So the question I'm asking myself is, "why do I only have 589 results in the optimisation page and in conjunction, why did the optimisation take only half of the expected time?"

 

Maybe I can do some searching on the forum to find out the answer.  

Maybe
 

Well, I re-read the Genetic Algorithm article again.  I'd perhaps not given it enough time previously.  Whilst I still can't find an answer to my specific question (and it's unfortunate that there was no screen-shot for 'test 2' in the article), I think I'm satisfied that what I'm seeing in my strategy tester's behaviour is probably correct, especially when considering the direct search I have running is currently at 1468/33048 tests and exactly 24hrs in, so meaning the optimiser is working as expected with this bot in general.  So everything looks as it should and I think it's time to stop that experiment :)

I did search through a lot of other GA-related topics too (12 pages worth), and I do now understand a little more about GA's (although I'm lost when it comes to the maths).  I did find one or two folk asking a similar question to me but what they were seeing was what I'd expect to see based on what I now know, rather that what I am actually seeing in practice.  Not to worry.

 

Thanks again to those who offered their assistance. 

 
Trevhib:

Well, I re-read the Genetic Algorithm article again.  I'd perhaps not given it enough time previously.  Whilst I still can't find an answer to my specific question (and it's unfortunate that there was no screen-shot for 'test 2' in the article), I think I'm satisfied that what I'm seeing in my strategy tester's behaviour is probably correct, 

Glad to hear you found an answer/solution    I'm sorry I couldn't give a more definitive answer but I have never used the GA  
Reason: