Job finished
Specification
I need an experienced programmer who has specifically done this before as I am on time constraints, so respectfully only apply if you have done this successfully before thank you.
- I do have an include file and a sample EA that I have been trying to implement it on but cannot get OOS data/parameters to populate or if OOS data populates it's incorrect.
- If you wish to modify my code to get it fully working that is acceptable.
- If you wish to just start fresh and create you're own version that does rolling walk forward analysis that is fine as well.
- I need it as an include that holds all of the functions because I plan on using this with many EA's so it's need to be minimal on the EA side so it's universal and can be used easily with any EA.
Attached is a screenshot of what mine currently produces, what an operational one looks like and a illustration of rolling WFA theory.
This was my theory framework for building the code initially:1. Decide on Your Core "Engine" Approach
When we talk about walk-forward optimization in MetaTrader, there are two main approaches to orchestrating it entirely inside the platform’s built-in tester:
“In-sample/out-of-sample in each pass”:
Let each pass of the tester trade only on a “window” (the first part of the pass) and measure performance there.
In that same pass, trade the “step” (forward test) only for measuring the out-of-sample performance, not for returning the fitness to the tester.
Return the fitness from the window portion to the tester (so the tester picks the best parameters for the window).
The library internally records the forward test performance in a CSV or other structure.
“Single full-period pass for each parameter set, then post-process the data”:
Each pass trades the entire date range (the “big” range D), and logs daily or bar-by-bar data (balance, drawdown, etc.) in a file.
After optimization completes, an offline script or library function “cuts” that entire date range into windows + steps (like W + S) for each pass, measuring them in a post-processing step.
In other words, you let the EA trade from the earliest date to the latest date. Then your library or script extracts the in-sample and out-of-sample slices (walk-forward slices) offline. This has the advantage of requiring no “meta-parameters” (wfo_windowSize, wfo_stepOffset, etc.) but has the disadvantage that the tester doesn’t actually optimize on the smaller window. It simply picks the best parameters for the entire date range. Then you filter them out in a “fake” window. This can bias the results, so the library is basically faking the rolling windows in post-processing.