a description

Because Final Draw Stop EA (UTS) It is great for managing a person’s exits with 16 ways to stop tracking, and it can also be very useful to apply any of these methods to a common signal, in order to improve it.

To this end, we have built an advanced signal analysis tool within UTS so that you can import, test and optimize any trailing stop configuration on historical signal data, as long as it is in csv format (eg: MQL5 or Myfxbook signals).

This feature offers a more objective way of determining the ideal settings for the system you wish to optimize with a Trailing Stop.

You just need to download the CSV reference history, drop it to the Tester > Files directory, and configure the input below.


  • Reporting CSV files You need to indicate the name of the history file that you drop into the DataFolder > Tester > Files folder.
    for example, Reporting csv files = HeroSP500.csv
  • Code page (drop down list) ANSI | UTF7 | UTF8

    Different signalhistory.csv will be downloaded in different csv formats, and the code page allows you to debug this strange csv format. For example, MQL5 signalhistory.csv is downloaded in UTF8 format, so you must set Code Page = UTF8

  • data separator You need to indicate the format of the base separator for the signalname.csv file.

    For MQL5 signalhistory.csv use; (semicolon), so data separator = ;
    For Myfxbook signalhistory.csv use . (period), so that data separator = .

  • Clock adjustment You need to indicate the hourly adjustment action if your medium is different from the history file’s medium. For example, if your signalname.csv derives from a broker with GMT=1, and your broker has GMT=3, you’re referring to Hour adjustment = 2.
  • Date Format – You need to indicate the date format of the signalhistory.csv file.

    For MQL5 signalhistory.csv use yyyy /mm/dd, for that Date format = yyyy / mm / dd
    For Myfxbook signalhistory.csv use mm / dd / yyyy, so date format = mm / dd / yyyy

  • date separator You need to indicate the date separator of the csv file.

    For MQL5 signalhistory.csv use . (period), so that date separator = .
    For Myfxbook signalhistory.csv, use / (forward slash), so that date separator = /

  • icon to use You need to point to the code to run the test on it. for example, Symbol to use = SPX500

Steps to import MQL5 signal history in Strategy Tester.

  1. In the selected MQL5 signal, click on the Trade History tab.
  2. Scroll down to the bottom of Trade History and left click Export to CSV: History
  3. SignalHistory.csv will download to your computer with something like 7digits.history.csv (example: 1731202.history.csv). You may want to right click and rename this file to signalname.csv (eg HeroSP500.csv)
  4. Copy and paste the signalname.csv file into a file DataFolder > Tester > Files Folder. To access this folder, click File > Open Data Folder > Test > Files.

  5. In the Strategy Tester (View > Strategy Tester or Ctr + R), load the Ultimate Trailing Stop EA and open the UTS entries, scroll down to the last entry section.
  6. Reporting the entry of CSV files, you indicate the exact name of the file (for example, Reporting csv files = HeroSP500.csv)
  7. keep CodePage = ANSI;
  8. You are Don’t Need to set the following defaults (because it already works with MQL5 signals):

    data separator = ;
    Date format = yyyy / mm / dd
    date separator = /

  9. You can set the clock adjustment to match the GMT time of the medium, if it is different from the file medium. For example, if your signalname.csv derives from a broker with GMT=1, and your broker has GMT=3, you’re referring to Hour adjustment = 2.
  10. You can indicate a symbol to use with the symbol you are using. In my case, I will Symbol to use = SPX500
  11. You can keep or remove the default settings to keep the original SL/TP/Close:

    keep original SL = true
    keep original TP = true
    keep original closure = true

Backtesting the history of the reference

After configuring your signalhistory.csv file inside the UTS input in Strategy Tester, it’s time to backtest the signal history without any trailing stop configurations.

Here are the steps I took:

1. Make sure you download enough 1 minute data for your chosen code.

For example, I’d like to backtest HeroSP500.csv on an SPX500 (Darwinex SP500 code). Since the signal has a trading date of Mar 1-1-2022 through Nov-17-2022, I want to make sure I have at least a lot of data loaded into MT4. To do this, I use a tool like Quant Data Manager (free with ads or $49 for life) to download one minute SP500 data from Dukascopy.

3. Then I use Period Converter.mq4 script to convert 1 minute data to M5, M15, M30 and H1.

4. I then set up the ‘Strategy Tester’ settings.

expertUltimate Trailing Stop EA

Code: the code you want to test. In my case, it is the SPX500.

Model: It is recommended to use Model = EveryTick. However, testing on put = open prices can be much faster if your strategy uses open prices.

use date:set date at signalhistory.csv scope. In my case, from March 1, 2022 to November 18, 2022.

a period: your preferred time frame period. I prefer something lower, like M1, M5, or M15, for more accurate results.

4. Very important. Disable UTS post breakpoints by setting a limit out of reach, eg Limit in pips or ATR = 1000. At this point, you want to have a single backtest that matches the history of the downloaded signal, in order to establish a baseline performance. When you have the basic performance, you can then re-enter the bottom line and optimize the various moving stops in the optimization phase.

5. Run the Strategy Tester by pressing the start button.

6. Check that the results more or less match the results of your signals. Here are the results for my Hero SP500 reference:

In my case, the above results roughly match my trade signal history for the last 9 months for the Hero SP500:

As mentioned in the backtest, the baseline performance of my signals is: $781, 1.31 PF (176 deals), -435 DD, 4.44 Payoff.

This basic performance is good, but I want better.

My goal is to see if I can increase returns and reduce drawdowns.

With this baseline performance in hand, I can see if adding an improved follow-on stop to my signal will increase its baseline performance.

Signal history optimization: Example: Chandelier exit period/multiplier and threshold in ATR

Ideally, one should test all 16 trailing stops Final Trailing Stop EA To find out which one improves the underlying performance.

In my case, I’ve tried each one and found Chandelier Exit to be the most promising.

After selecting Trailing Stop Method = Chandelier Exit, I will optimize three parameters in two steps:

  1. Chandelier period ATR and Chandelier multiplier.
  2. threshold in ATR.

Improvement #1:

The key to any improvement is knowing which parameters have the greatest impact. Knowing enough about the Thuraya exit, I think the biggest impact comes from the Thuraya period ATR and multiplier. I will keep defaults on Chandelier Range (7), Shift (1), and Show Channel (true).

I will improve:

Chandelier period ATR from 10 to 40, in step 5

And the

Chandelier multiplier from 3 to 6, in step 0.5

When I click on the Optimize button, I get the following result:

As you can see, I found that Chandelier period = 30 and Chandelier ATR multiplier = 5.5 show the best result.

If I apply this optimization score, my signal has increased performance from:


$781, 1.31 PF (176 deals), -435 DD, 4.44 Payoff.


Best score for improvement #1: Thuraya period = 30 and Thuraya output ATR = 5.5:

$855, 1.45 (176 trades), -283 days, 4.86 pay back. 🚀🚀

Improvement #1 improves returns by 9.5% and DD by 35%.

I make sure these newly optimized values ​​are entered into these two parameters. Then uncheck these two boxes and move on to the next optimization.

Improvement #2:

The next improvement I’m going to make is on the threshold.

Since I am using a CFD contract, I know that I will get more effect from Threshold in ATR than Threshold effect in pips.

Once I indicate the threshold in pips or ATR = ATR, I’ll optimize:

Threshold in ATR from 0 to 5, in step 0.5.

When I click on Optimize, I get the following result:

As you can see, the best result is Threshold in ATR = 2.

If I apply both optimization, my signal has increased performance from:


$781, 1.31 PF (176 deals), -435 DD, 4.44 Payoff.


Best score for improvement #1: Thuraya period = 30 and Thuraya output ATR = 5.5:

$855, 1.45 (176 trades), -283 days, 4.86 pay back. 🚀🚀


Best score for improvement #2: minimum at ATR = 2.0:

$1224, 1.59 (176 trades), -312 days, 6.96 pay back. 🚀🚀🚀

Compared to baseline, Improvement #2 (which builds on Improvement #1) increases yield by 56% and reduces rollback by 28%. This is very promising.

Here are the results in the Strategy Tester:

I can now apply the Ultimate Trailing Stop EA with the new .set file on Darwinex MT4.

I’m confident I raised my EA/signal with an improved Chandelier Exit facelift. 😃😃

Now you can do the same with any of the signals you’ve subscribed to, or any signals you’re considering subscribing to.

✅ links
🌐 Ultimate Trailing Stop EA >>

🌐 Ultimate Trailing Stop EA >>

🌐 Ultimate Trailing Stop EA Free (15 days trial) >> Download

🌐 EA showing the final trailing stop (limited to AUDJPY, USDJPY, USDCAD, NZDUSD) >>

🌐 Ultimate Trailing Stop EA MT5 Free (15 days trial) >> Download

You can ask any questions about the work of the program in private messages at Mql 5 website or at cable or on my own telegram group