• Overview
  • Reviews (5)
  • Comments (60)
  • What's new


DailyTrader (DT) is a trading robot designed to trade on the breakout of important resistance/support levels.

It typically executes one or two trades per day.

The present version, with default settings, is most efficient on GBPUSD, USDJPY and EURUSD pairs, provided that the spread is not larger than 2 pips.

Please, do backtest with your broker's quotes on "Every Tick" mode (possibly with real ticks, 99% quality), before using the robot on a real account.


  • It only uses pending orders.
  • Strict stop-loss always used.
  • Automatic Trailing-Stop trend management strategy.
  • Solid risk/money management.
  • Timeframe is irrelevant, though it must be shorter than D1.
  • No grids, no arbitrage.
  • Martingale can be optionally enabled.
  • No technical indicators are employed.
  • Few parameters. Easy to configure and optimize.

Remember that you are solely responsible of any loss arising from the use of this product (see rule VI ).


  • Low spread ECN brokers (less than 2 pips)


Trade management:

  • Maximum_Spread: if the spread gets higher than this limit (in pips) then the trading is suspended. The EA will wait for ten minutes before checking again the spread level to re-activate trading.
  • TrailingStop_Mode: In FIXED_TRAILING_STOP mode (default) the following two parameters determining the trailing-stop behavior are read from the pips-expressed version, while in the ATR_TRAILING_STOP mode they are read from the ATR-expressed version (so the behavior is more dynamic).
  • TrailingStop_Distance: the initial distance of the stop-loss (in pips or as ATR-factor).
  • TrailingStop_Min_Profit: the minimum profit (in pips or as ATR-factor) at which the stop-loss starts to move.

Recall that on 5-digits brokers 1 pip = 10 point, while on 4-digits brokers 1 pip = 1 point

The following time management parameter is useful to avoid broker spread expansion time
  • Trading_Time_Slots: the EA is allowed to trade only between each (comma-separated) pair of times given in the form hh:mm,hh:mm,...

Risk/money management:

  • Risk_Management_Enabled: if true then the lots are automatically determined so to fit the required single trade risk.
  • Fixed_Lot: fixed order lot when risk management is disabled ( Risk_Management_Enabled = false).

The next 3 parameters are ignored if Risk_Management_Enabled = false.

  • Single_Trade_Risk_Percentage: the maximum admitted loss in a single trade (as a percentage of the equity). If the minimum amount of a lot permitted by the broker is too high to satisfy this constraint then trading is suspended (no new order is placed).
  • Martingale_Factor: (1=no martingale) factor multiplying the Single_Trade_Risk_Percentage at each trade as long as a drawdown is occurring.
  • Martingale_MAX_RISK: The maximum value the single trade risk can achieve when the martingale is active.
  • Min_Free_Margin_For_Trading: the minimum amount of free margin (as a percentage of the equity) to allow DT to trade. When the free margin drops below this value, trading is suspended.
  • Max_Free_Margin_Per_Trade: the maximum percentage of the free margin that DT can allocate to place an order. This poses a limit to the maximum lot amount.
  • Minimum_Equity_For_Trading: trading is suspended when the equity drops below this value.

These parameters are effective in the Strategy Tester only:

  • Strategy_Tester_Working_Mode: allows user to choose between the "Every Tick" and the (much faster) "Open Prices Only" Strategy Tester mode.
  • Commission_Per_Lot: broker commission (if any) for one lot order. The total amount of commissions is calculated and subtracted from the gross profit and the result is returned by the OnTester function. Thus, DT can be optimized taking commissions into account, by selecting "Optimized parameter: Custom" in the "Testing" tab of the "Expert Properties" window.

Other parameters:

  • Magic_Number: number identifying orders.
  • Order_Comment: Optional comment added to each order.
  • Trading_Text_Color: the color of the "Trading is OK" on chart message.
  • Warning_Text_Color: the color of the "Trading is OFF" on chart message.

Warning: trader should be aware of the increased risk in the use of martingale!

As soon as a drawdown occurs, the risk on the single trade is multiplied by the Martingale_Factor. At each subsequent trade the risk is multiplied again and again in an exponential fashion (but it never gets higher than Martingale_MAX_RISK). Only when the drawdown is fully recovered the risk gets back to its normal value.

Leave the default Martingale_Factor=1 to disable martingale.

Note that the drawdown is determined by considering only the orders placed with the given magic number and Forex pair. It is not the account overall drawdown.

Yaotang Liu
2017.02.23 16:17 

it's a great EA with Nice strategy.

Paolo provides kindly support.

It's a profitable EA after using couple weeks on my live account. It's worth.

Buy it before the price raise ;)

2017.02.14 11:20 

used the old version for couple weeks,its been great,NO losing trade so far,no issues..just, updated to the new version, will see how it goes!! Paolo is great support,responded in No time!!!thanks

2017.02.07 01:09 

I have been using this EA for over a month now - once you get the settings right for you broker preferably one with low spreads, (less than 2) it should provide steady profits. Paolo is always there to help.

Jun H. Keller
2016.12.21 04:10 

Been using EA for 1 week now on live acct and so far so good....author responds fairly quickly and is very helpful...this is a slow EA (as the author explained to me) but steady constant gains( 19/20 trades were profit)...adjusted some parameters and backtest (4H chart) with good results on multiple currency pairing....Only rented for now but will definitely purchase....Thanks Paolo!!

Bruce Warmer
2016.12.09 14:59 


Backtests with 99% quality, variable spread and slippage look good. This is on the published currency pairs and also a couple of others. Of course the more pairs that it works well on with the same settings the better.

I have been running live for this week and results are similar to the back tests so very impressed.

I will provide further details as time progresses.


Version 2.1 - 2017.02.10
- Now the pending orders are placed only when the market price approaches the resistance/support levels and are deleted when it moves away. This reduces the risk to be affected by price gaps and "spikes", besides of reducing "trading traffic".
- The "high spread" state minimum duration is reduced to 5 min.
- Computation of the resistance level improved by taking spread into account.
- When automatic risk management is disabled (Risk_Management_Enabled = false), the actual single trade risk is now correctly displayed as it follows from the FixedLot value set by the user.
- Small bug fixed in profit factor and drawdown calculation.
Version 2.0 - 2017.01.18
- Added TrailingStop_Mode parameter to choose between the fixed Trailing-Stop (default choice) of the previous version and the dynamic, ATR-driven, new method.

- Added TrailingStop_Distance (ATR) and TrailingStop_Min_Profit (ATR) parameters. They are the ATR factors that determine dynamically the initial distance and the minimum profit, respectively, at which the StopLoss starts to move.

- MaxSpread parameter introduced. As a further security check, as soon as the spread goes above this limit (given in pips) the pending orders are deleted and no new order is placed for the next 10 minutes.

- Now pending orders are always deleted when the EA goes into the "Trading is OFF" state. They are deleted also when the EA is unloaded from the chart, when their risk is above the desired limit, or if the settings are changed.

- Trading_Time_Slots string parameter added. Trading time can now be expressed as a series of comma-separated "time slots". For example, if the trader wants to allow trading from 7:30 a.m. to 11 a.m. and then from 6 p.m. to 9:30 p.m., then she/he could set Trading_Time_Slots = "07:30,11:00,18:00,21:30".

- Trade_From_Hour and Trade_To_Hour parameters removed.

- Small bugs fixed in orders management.
Version 1.1 - 2016.12.19
- Added the Strategy_Tester_Working_Mode parameter in order to allow backtesting in the much (10 times) faster and easier "Open Prices Only" mode within the Strategy Tester. In this mode, real ticks are not needed and bar OHLC data can be used instead. The backtest results, though less accurate (and generally showing a smaller profit/loss ratio), are qualitatively similar to those obtained in the "Every tick" mode with real ticks and can provide a preliminary evaluation of the EA profitability with a given instrument, in a fast and easy way.
Testing on M1 timeframe bars is recommended for best accuracy.

- Levels calculation slightly improved.

- The availability of history bars is now checked.

- On chart text visibility improved.

- Minor internal improvements done.