Testing Visualization - Trade History
Testing Visualization - Trade History
Page 1 of 7
Saving a Template for Testing Now we can start to prepare the Expert Advisor. This is not very difficult either: - save the VisualTestingTools.mq4 file in the directory named ...\MetaTrader 4\experts\include\; - add the #include <VisualTestingTools.mq4> line to the Expert - now the file content is included into the Expert's code; and - insert in the Expert's init() and start() functions the calls for functions responsible for trade history updating .
... double _Commission = 0.0; string _Comment = ""; datetime _Expiration = -1; #include <VisualTestingTools.mq4>
PDF Creator: PDF4U Pro DEMO Version. If you want to remove this line, please purchase the full version http://articles.mql4.com/303 11/5/2007
Page 2 of 7
int init() { if(FastEMAPeriod >= SlowEMAPeriod) return(-1); vTerminalInit(); vHistoryInit(); return(0); } int start() { if(FastEMAPeriod >= SlowEMAPeriod) return(-1); vTerminalRefresh(); vHistoryRefresh(); int _GetLastError = 0; ...
3. Testing
Now, let us try to test the new Expert. For this, open the Strategy CrossMACD_DeLuxe_VisualHistory in the Expert's menu and press its properties button. Tester window, select the
Strategy Tester Window The Expert has got some new external variables - they are declared in an included file named VisualTestingTools.mq4. Some of them are intended for controlling the "Terminal" tab, the other ones - for the "Account History" tab, but most of them are common: - TerminalRows - the maximum amount of the "Terminal" tab lines to be displayed. If you make TerminalRows = 0, the terminal will not be updated; - HistoryRows - the maximum amount of the "Account History" lines to be displayed. If you make HistoryRows = 0, the account history will not be updated; - BigText - set true if you want to make the fonts larger; - SignalPoints - the distance, in points, starting from which the Stop Loss, Stop Profit and Open Price fields of pending orders will be highlighted. For example, if SignalPoints = 10, the Stop Loss field will change its color when the price is at a 10-point distance from the Stop Loss of the position; - ShowCancelled - set true if you want to see the cancelled orders in your trade history; - ShowExpired - set true if you want to see expired pending orders in your trade history; - MainColor - color of headlines of the Terminal and Account History, as well as the Terminal's trade account information bar (Balance, Equity, ...). - BuyColor - color of information about Buy positions; - BuyOPColor - color of the Open Price field of the Terminal tab; this color will replace the main color when the current price approaches to the open level of orders Buy Stop and Buy Limit; - BuySLColor - for the Terminal tab: color, which will replace the main color when the price approaches the Stop Loss levels of Buy positions; for the Account History tab: color, which will replace the main color if the Buy position has been closed by StopLoss; - BuyTPColor - the same as BuySLColor applied to the Take Profit of positions;
PDF Creator: PDF4U Pro DEMO Version. If you want to remove this line, please purchase the full version http://articles.mql4.com/303 11/5/2007
Page 3 of 7
- SellOPColor, SellSLColor and SellTPColor - the same for Sell positions. Set the desired values of variables and press OK. Check whether Visualization is enabled and start testing:
Testing Visualization: 'Terminal' and 'Account History' windows have been loaded
The EA has opened a position, and this is visualized in the 'Terminal' window
PDF Creator: PDF4U Pro DEMO Version. If you want to remove this line, please purchase the full version http://articles.mql4.com/303 11/5/2007
Page 4 of 7
As soon as the position has been closed, it moved to the 'Account History' and was replaced with another one. Note that the StopLoss field is highlighted in red - the position was closed by Stop Loss.
the second position has been closed by Take Profit. Note that the latest positions are shown on top in the Account History. Thus, we will always see the most recent events.
PDF Creator: PDF4U Pro DEMO Version. If you want to remove this line, please purchase the full version http://articles.mql4.com/303 11/5/2007
Page 5 of 7
4. Possible Problems
The problem described in my article Testing Visualization: Functionality Enhancement applies to the vHistory indicator, as well: If the indicator is not in the second subwindow in the template used by the Tester, the proper operation of functions responsible for Account History updating should be provided by the explicitly specified subwindow number: vHistory_win = WindowFind( "vHistory" ); if ( IsTesting() ) { vHistory_win = 2; }
5. Conclusion
Screenshots that illustrate how the Account History tab looks in various situations are given below.
PDF Creator: PDF4U Pro DEMO Version. If you want to remove this line, please purchase the full version http://articles.mql4.com/303 11/5/2007
Page 6 of 7
PDF Creator: PDF4U Pro DEMO Version. If you want to remove this line, please purchase the full version http://articles.mql4.com/303 11/5/2007
Page 7 of 7
PDF Creator: PDF4U Pro DEMO Version. If you want to remove this line, please purchase the full version http://articles.mql4.com/303 11/5/2007