Correct me if I am wrong
I understand that…
- 1 Frame is the resulting data from 1 optimization pass
- the Tester event and the TesterPass event both occur after a single optimization pass
- OnTester() is mainly used for returning custom criterion ( often using TesterStatistics() )
- OnTesterPass() is mainly used for handling new frames and the data within them
- FrameFirst() and FrameNext() are to be used in OnTesterDeinit() to re-proccess all of the frames
Simply imagine your EA is running on agents (a pass), you are using OnTester() which is run at the end of each pass.
Locally, you have a "meta EA" (your EA but using only OnTesterInit(), OnTesterPass() and OnTesterDeinit()) which receive the frames and process them.
Questions:
What exactly is a testing agent?
Where and how do you use FrameAdd()?
How does OnTesterPass() receive the frame?
Is OnTesterDeinit() the only function to use FrameFirst() and FrameNext()?
Does ParameterSetRange() override the Start, Stop, and Step values set in the main terminal?
Thank you for your response! I have a couple more questions…
Correct me if I am wrong
OnTester() is always called after an optimization pass. This function is responsible for "adding" the received frame.
The "adding" of a new frame (not the completion of a pass) results in the call of OnTesterPass().
Questions:
- What collection is the frame being added to?
- When is this collection emptied?
- Do you use History…() to acquire the data array to pass into FrameAdd() ?
- If OnTester() has access to the data using History…(), why use OnTesterPass() to handle the data?
- Do you know of any articles that use FrameAdd() in example?
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Correct me if I am wrong
I understand that…
Questions:
What exactly is a testing agent?
Where and how do you use FrameAdd()?
How does OnTesterPass() receive the frame?
Is OnTesterDeinit() the only function to use FrameFirst() and FrameNext()?
Does ParameterSetRange() override the Start, Stop, and Step values set in the main terminal?
Thank you for any clarification...