Backtrader’s Best Forex Indicators

If you have ever read through Backtrader’s indicator reference documentation, you were likely amazed and perhaps even overwhelmed by the sheer number of indicators that are available. Consequently, people just getting started may wonder where to start or just may not ever get around to looking at whether a particular indicator could improve their results! I know I fall into the latter. As such, my aim is to gradually test each indicator using the same market data to see which will make it to the top of the best forex indicators list.

As testing gets underway, each Indicator test will have its own review post. It may take some time to get through them all so remember to check back here often. A table of all the final PnL’s will be maintained here for comparison. Some notes of how each indicator will be tested are below and are followed by the results table.

A word of warning

The tests carried out will not reflect real world performance. Therefore do not make investment decisions based on these results!

The tests that follow will not take commissions, spreads, interest or leverage into account during testing. The main goal is to provide a comparison of the relative strength and weakness of each indicator. Consequently, the returns may also look a little weak compared to what can be achieved with leverage. Again, that is not the point of this round up. I am more interested in which indicators provide consistent consistent results.

The rules of the game:

Each indicator will be tested in a range of Forex markets on the daily time frame over 12 years (2005-2017). I am choosing to limit the markets to those in which the USD is the counter currency. Why? So that all tests have the same pip value. I hope this will produce a better apples to apples comparison.

For simplicity, only a single position shall be opened at a time and risk shall be limited to no more than 5% of available cash in the account. As mentioned above leverage will not be used. This will simplify testing as I want the indicator to take me out of each position rather than being leveraged up and having to place stops at arbitrary places. Each test will start with $10,000 account currency.

The markets under test shall be: GBP/USD, EUR/USD, AUD/USD and NZD/USD.

Entries and Exits

Each indicator will be tested according to the most prevalent use case in tutorials and online literature. I will not be using any “out of the box” methods of interpreting the indicator. As an example, for simple oscillators I will enter at tops and exit at bottoms (and vice versa) rather than look for divergence with price or using them to identify trends above a median line.

Full details of the entry and exit conditions for each indicator test shall be explained in the accompanying review.


Finally, I will optimize each indicator to see what the best and worst settings have been over the past 12 years. Some indicators may have a many parameters that can be optimized. Each review post shall explain in more detail what was optimized and why.

Backtrader’s Best Forex Indicators (and worst!)

Without further ado, the results! For more in-depth statistics, please visit the indicators review page.

Each and every time a new indicator review is completed, the table below will also receive an update. The table is sortable so you can easily find the best and worst performing indicators.


The table has quite a few columns, use the scroll bar to see them all.

IndicatorBest PnLWorst PnLDefault Settings Avg PnLAvg PnL (All Test Runs)Best Strike RateWorst Strike RateAvg Strike RateBest Settings
(Avg all Markets)
Worst Settings
(Avg all Markets)
Best Settings Avg PnLWorst Settings Avg PnL Review Link
Stochastic Method 1597.35-576.11143.9275-6.3654.5515.3834.06period:24 period_dfast:3 period_dslow:3period:20 period_dfast:3 period_dslow:4255.3575-263.02Stochastic Review
Stochastic Method 2651.74-436.56113.892522.1755.4118.1839.08period:13 period_dfast:3 period_dslow:4period:25 period_dfast:2 period_dslow:3212.6975-154.775Stochastic Review
Simple Moving Average Crossover360.94-442.56#N/A5.2464.7118.1836.83sma_list:[40 0: 200] 0:2sma_list:[11 0: 21] 0:2177.545-171.87SMA Review
MACD - Signal Cross285.2-211.6656.667531.3443.6225.6835.19fast_ema: 7 Slow ema: 21 signal_period: 5fast_ema: 50 slow_ema: 100 signal_period: 10129.2925-96.7375MACD Review
MACD - Zero Cross239.95-204.3416.8738.1246.1521.7431.18fast_ema: 7 slow_ema: 21 signal_period: 7fast_ema:12 slow_ema: 26 signal_period:9151.715-29.1275MACD Review
MACD - Divergence517.83-447.88112.737554.7364.7123.8149.42fast_ema: 7 slow_ema:21 signal_period:14 swing_period: 7fast_ema:40 slow_ema:200 signal_period: 40 swing_period:201.9425-137.465MACD Review
MACD - Divergence With Signal Cross Confirmation270.48-178.7334.117511.568.759.0936.3fast_ema: 40 slow_ema: 200 signal_period: 10 swing_period:fast_ema: 20 slow_ema:50 signal_period:10 swing_period:96.955-59.995MACD Review
MACD - Divergence With Zero Cross Confirmation217.1-118.3617.797510.49100034.89fast_ema: 6 slow_ema: 13 signal_period: 4 swing_period:fast_ema: 24 slow_ema: 52 signal_period: 18 swing_period:70.32-42.22MACD Review
MACD - Divergence With Zero Cross entry and Signal Cross Exit197.54-110.8345.5152.06100038.28fast_ema: 12 slow_ema: 26 signal_period: 12fast_ema: 36 slow_ema: 78 signal_period: 36 swing_period:48.945-50.8125MACD Review

Table Notes

  1. Default Settings Avg PNL: Is calculated from the average PNL recorded in all four markets under test.
  2. The Best strike rate may not be from the same test as the best PnL In some cases it may come from a test with different settings or market.
  3. The best and worst settings take the average PnL for that particular setting across all four markets. The best and worst average results are then used for this column.



Best Forex Indicators - Coming Soon