• Overview
  • Reviews
  • Comments (6)

Ultimate Manual Strategy Tester

UMST is a special bird among existing manual strategy testers, in that it is not running in MT4's built-in strategy tester but in the normal trading window, which makes it possible to test strategies using multi-timeframes and multi-pairs. It consists of two indicators.

UMST supports:

  • all 6 trade types (Market Buy/Sell, Limit Orders, Stop Orders)
  • playback speed change
  • SL and TP
  • trailing stop
  • multi-pair and multi-timeframe
  • swaps
  • stop out
  • all symbols including forex and CFD
  • saving the current status and resuming later
Most environment variables like leverage, margin call, swap points, etc are taken from current trading account.


UMST aims to be a strategy developing tool. You can find hedging opportunities, test different TP/SL/Trailing Stop combinations and validate other indicators.


UMST contains 2 indicators. The other indicator (UMSTCandle.ex4) is to redraw candles, which is attached in the comment area and is not necessary to run the test.

To setup the environment, put UMSTCandle.ex4 to MQL4/Indicators.

Next we setup the chart. There are two options:

  • Apply the template I attached in the comment area. This template has best color scheme, and already has the indicators attached.
  • Use Black on White color scheme to have best view. Attach UMST and UMSTCandle indicators to the chart. This method is the raw method. You might want to save the template for later use.

Then, we need to load history data. UMST uses the history of all timeframe. The upper left corner displays history data availability, which is the earliest time available in a specific timeframe. If there is not sufficient data, go into that timeframe and scroll back to load more bars. I will attach a load history script to comment area as well.

Scroll to the time you want to start the test. Once you see "History check passed" in all charts, press M to start the test.

Once you have the template, you just need to open charts, apply template, load history if necessary, then you are ready to start.

When the test started, please do not open new charts or change timeframe, as these actions will reinitialize all charts.

To restart a test, reload the template or reload UMST indicator in any chart. This will result in reinitializing in all open charts. 

Most operations are triggered by keyboard. Detailed usage is described below.

Selecting a trade

  • Click on trade line to select a trade
  • /: select the newest open trade
  • ,: select next open losing trade
  • .: select next open winning trade

Updating a trade

Need to select a trade first.

  • C: market close
  • P: set default TP for the trade
  • L: set default SL for the trade
  • T: set trailing stop with the defined value
  • D -> P: remove TP
  • D -> L: remove SL
  • D -> T: remove trailing
  • O: auto set TP and SL with the defined value
  • Dragging: pending orders, TP and SL are all draggable
Placing a trade
  • Q: market buy
  • W: market sell
  • A -> Click on the chart: placing a buy limit order
  • S -> Click on the chart: placing a buy stop order
  • Z -> Click on the chart: placing a sell limit order
  • X -> Click on the chart: placing a sell stop order
  • 1: change time interval to M1
  • 2: change time interval to M5
  • 3: change time interval to M15
  • 4: change time interval to M30
  • 5: change time interval to H1
  • M: start/pause
  • G: goto current time
  • B: toggle comment on the top left corner
  • F5: save the current status to MQL4/Files/umst_save.csv
No reviews