Gogetter EA - page 14

 

Here are the .gif files that go with the .htm files from the previous post...

also I was asked for a build 188 install file earlier today...

I have looked for that build number but don't see it...I don't recall doing a build 188 maybe I did but I'll have to dig to find it...I don't know what's so special that someone would ask me for that particular build.....that would have been a very early version of these if I did do one....

I'll keep looking...

Files:
ggl3-01.gif  6 kb
ggs3wrsi.gif  9 kb
 

I forgot to mention, I am running the GGS3 in the 1H chart and the GGL3.01 in the 30M chart.

I had someone volunteer that if I could provide them with an install .exe for the Build 188 of the metatrader 4 terminal that they would make it worth my while. I have done my testing in build 195 and I don't have a build 188 for the terminal...does anyone else have one you would share?

 

Guess what the difference is between these two tests?

Settings? nope

EA? nope

Starting deposit? nope

Date ranges? nope

Currency pair? nope

Did you click recalcuate before each one? yep

The only difference is that the one that is profitable was done just after the market reopened Sunday. And the one that wasn't profitable was done just after the market closed Friday.

So someone tell me why the back tester should care if the market is open or not when it tests a date range which is entirely stored in the history center?

Files:
 
Maji:
Try the following:

int handle;

int init()

{

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');

return(0);

}

int deinit()

{

FileClose(handle);

return(0);

}

Start()

{

.....

FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //declare them as variables and then insert them in the file write routine

[/PHP]

Also, remember to put the routine where it is updated once every bar not every tick. Now you got enough ammo, and figure out the rest

Good luck.

ok I got this far....

[PHP]int handle; //print to file

//+------------------------------------------------------------------+

//| expert initialization function |

//+------------------------------------------------------------------+

int init()

{

BarCount = Bars;

if (EachTickMode) Current = 0; else Current = 1;

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');//print to file

return(0);

}

//+------------------------------------------------------------------+

//| expert deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

FileClose(handle);//print to file

return(0);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

I don't know how/where to complete this direction...

...." FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //declare them as variables and then insert them in the file write routine"

 

Maji said, ...put the routine where it is updated once every bar not every tick.

Can someone show me where that is? Despite my occasional delusions of competence I really have no idea on this.

 

I am sorry, but I don't have time to mess with your code right now. You should insert the line that writes the time, open etc just where your system updates on the new bar. For now, why not just insert that line before return(0) on your start loop. As for how to construct the filewrite command, that you will have to figure it out yourself, I have given you enough ammo to do that

Why don't you just start forward testing your system, and that way you can check it against your backtest every day and see how it is working?

Good luck.

 
Maji:
I am sorry, but I don't have time to mess with your code right now. You should insert the line that writes the time, open etc just where your system updates on the new bar. For now, why not just insert that line before return(0) on your start loop. As for how to construct the filewrite command, that you will have to figure it out yourself, I have given you enough ammo to do that

Why don't you just start forward testing your system, and that way you can check it against your backtest every day and see how it is working?

Good luck.

I recognize that you have other priorities, that's why I wasn't asking you, however the clue helps at least for the placing the line. Thanks

I am forward testing. That is I was until my demo account blew up over the labor day weekend, it didn't expire it just was terminated along with all my other demo accounts. Come this morning I had to start a new one all over again...no idea why they were all deleted. I didn't do it. Some interbank anamolie I suppose.

 

Let's say for argument sake that I get this done and prove it's not using the same data each time, despite being told to, or that it's not processing the data the same way or whatever, then what?

I have other strategy tests which don't seem to use the same date ranges or the whole date ranges when I tell them to. what can I or anyone do about it? I think it's safe to assume that other people have similar irregularities but what can be done about them?

It doesn't really seem like a strategy tester to me at this point. More like a strategy teaser, because there is no way I can see to really control or stabalize it's compiling/processing. It only processes partial date ranges when full data files exist to do the whole specified range. It doesn't appear to be 100% consistent. I wouldn't know what to do to repair it even if I did prove it's inconsistencies. It acts more like a roulette wheel than a precision testing tool.

 

unnecessary post

 

here's my skitoma...I can't see why in the above include file https://www.mql5.com/en/forum/general

the compiler can find these functions...(when I add this include file in an EA and before I call these functions....I get these errors telling me that at least the compiler SEES these 5 functions....

Function "StoreHighsAndLows" is not referenced and will be removed from exp-file

Function "GetPastEquity" is not referenced and will be removed from exp-file

Function "StoreAccountEquity" is not referenced and will be removed from exp-file

Function "CountTrades" is not referenced and will be removed from exp-file

Function "CloseOrder" is not referenced and will be removed from exp-file

but it doesn't see the IncreaseLots() at all.

It's like it doesn't exist....

how is the IncreaseLots() structured any differently than any of the other functions that it CAN see.

it declares the function, then it has

{

blah

blah

blah

return();

}

what more does a function have to have? That's all the others have!!!!

See when I call the IncreaseLots() from the EA I get the error...function not defined...like it's not there...but it IS there, RIGHT THERE!!!! Why is the whole thing invisible to the compiler???