Usdcad battle pro
- Experts
-
Andrey Kozak
Laboratory of Automatic Systems (LAS) - more than 10 years, we have been developing, testing and programming automatic trading robots for the forex market. - 버전: 1.0
- 활성화: 20
For the first 10 clients, the price is $530; thereafter, the price will be $630.
USDCAD Battle Pro is a fully automated Expert Advisor for MetaTrader 5 built for the USDCAD currency pair. It does not rely on one indicator or one timeframe. On every new M30 bar, 15 independent market modules analyse price on several timeframes at once, from M5 to D1. Each module gives a weighted vote for buy or sell. The EA opens a trade only when one side clearly wins the vote.
The idea is that a single indicator often gives false signals, while agreement between trend, momentum, volatility, market regime, volume pressure and statistical modules filters out much of the market noise. Every module and every timeframe has its own weight, so you can tune how much each one influences the final decision.
All calculations happen inside the EA. It needs no external indicators, DLL files or web connections, and it recalculates each timeframe only when a new bar closes, so it puts very little load on the terminal.
How the strategy works
- At the opening of each new M30 bar, the EA reads the last closed bars of the timeframes used by each module (M5, M15, H1, H4, D1).
- Each of the 15 modules returns BUY, SELL or NEUTRAL for every timeframe assigned to it.
- Each BUY vote adds its weight to the Buy Score, and each SELL vote adds its weight to the Sell Score. The weight is the module weight multiplied by the timeframe multiplier.
- If the difference between the two scores is at least MinScoreDifference, the EA opens a market position in the winning direction. It opens no more than one trade per M30 bar.
- The EA can hold several positions at once, up to MaxOpenPositions. The lot of each new position is FixedLot multiplied by LotMultiplier raised to the number of positions already open. With the default settings that gives 0.01, 0.02, 0.04 and 0.08. The lot depends on the number of open positions, not on the result of the previous trade.
How positions are closed
- Take Profit: each position gets a fixed Take Profit in points.
- Trailing Stop: a stop is set only at a level that already covers commission and swap, so once the trailing is active, the position cannot close below break-even.
- Global Protection: if the total floating result of all EA positions reaches the loss limit (FixedLot x MaxLossPerLot), all positions are closed and no new trades open until the next bar.
- Balance Recovery Close: a losing position is closed as soon as the current balance plus its loss exceeds the balance at the moment it was opened. In other words, profit from trades closed since then fully covers this loss.
The 15 analysis modules
- EMA Trend: direction of a fast and a slow EMA plus price position.
- ROC/ATR Momentum: rate of change normalised by ATR.
- MACD Acceleration: growth of the MACD histogram.
- ADX/DI Strength: trend strength and dominant direction.
- Aroon: freshness of recent highs and lows.
- Donchian Breakout: break of the channel high or low.
- Swing Structure: higher highs and higher lows, or lower highs and lower lows.
- Choppiness Regime: trades only in a trending regime.
- ATR Expansion: volatility expansion together with direction.
- Z-Score Mean Reversion: statistical deviation from the mean.
- Candle Sequence: dominance of bullish or bearish candles.
- Kaufman Efficiency: efficiency of price movement.
- RSI Reversal: RSI turning from defined zones.
- CMF Pressure: buying or selling pressure by volume.
- LinReg t-stat: statistical significance of the regression slope.
Key features
- Weighted multi-timeframe voting from 15 independent modules.
- Each module can be switched on or off, with its own weights and its own set of timeframes.
- Separate buy and sell weights for every module.
- One entry per bar on the M30 timeframe.
- Fixed Take Profit, a break-even trailing stop that accounts for commission and swap, a global loss limit, and a balance recovery exit.
- Before every trade operation the EA checks trading permission, the symbol’s trading session and trade mode, lot limits (minimum, maximum, step and total volume), free margin, Stops Level and Freeze Level.
- Built-in in-sample / out-of-sample switch for robustness tests in the Strategy Tester.
- Optional information panel on the chart.
- No DLL, no external indicators, no web requests.
Recommendations
- Symbol: USDCAD.
- Timeframe: M30. The EntryTF parameter sets it, so trading follows M30 bars whatever chart timeframe is open.
- Default settings are prepared for USDCAD M30. Use them as the starting point.
- Minimum deposit: 1000 USD.
- Lot: 0.01 for every 1000 USD of balance. For 2000 USD set FixedLot = 0.02, for 5000 USD set FixedLot = 0.05, and so on. The loss limit of Global Protection scales with FixedLot automatically.
- Account type: Hedging. The strategy holds several independent positions at the same time. On a netting account the EA works with only one position at a time.
- Broker: ECN or Raw spread account with low spread and low commission. The recommended average spread on USDCAD is up to 20 points (2 pips).
- Run the EA on a VPS for stable 24/5 operation.
- Use a unique MagicNumber for every chart.
- Test the EA on a demo account or in the Strategy Tester with “Every tick based on real ticks” mode before running it on a real account.
Quick start
- Open a USDCAD chart (any timeframe).
- Attach USDCAD Battle Pro to the chart.
- Set FixedLot according to your balance (0.01 per 1000 USD).
- Enable Algo Trading in the terminal.
- If you want to see the panel, set ShowPanel = true.
Input parameters
Trading
- EnableTrading – Enables or disables opening new trades.
- EnableBuy – Allows buy trades.
- EnableSell – Allows sell trades.
- FixedLot – Lot of the first position. Recommended: 0.01 per 1000 USD.
- LotMultiplier – Multiplier for each next simultaneously open position (lot = FixedLot x LotMultiplier ^ open positions).
- MagicNumber – Unique identifier of the EA trades.
- EntryTF – Timeframe on which the EA analyses and opens trades (default M30).
- MaxOpenPositions – Maximum number of positions open at the same time.
- MinScoreDifference – Minimum difference between Buy Score and Sell Score required to open a trade.
- MaxSpreadPoints – Maximum spread in points allowed for opening a trade (0 = no limit).
- SlippagePoints – Maximum allowed slippage in points.
- TakeProfitPoints – Take Profit of each position in points.
Trailing Stop
- EnableTrailingStop – Enables the trailing stop.
- TrailingStartPoints – Profit in points after which trailing begins.
- TrailingDistancePoints – Distance from the current price to the stop in points.
- TrailingStepPoints – Minimum step in points for moving the stop.
- CommissionReserveMoney – Commission reserve per position in account currency. Used for the break-even level, the loss limit and the balance recovery exit. 0 = use the real commission.
Global Protection
- MaxLossPerLot – Total loss limit per 1.0 lot of FixedLot. All positions are closed when the loss reaches FixedLot x MaxLossPerLot (for example 0.01 x 21000 = 210 USD).
- CloseOnBalanceRecovery – Closes a losing position when the current balance plus its loss exceeds the balance at the moment it was opened.
Timeframe Multipliers
- K_M1, K_M5, K_M15, K_M30, K_H1, K_H4, K_D1 – Weight multiplier for each timeframe. It applies to all modules.
General
- AtrPeriod – ATR period used by the ROC/ATR Momentum module.
Modules 01–15 (same structure for each module)
- Ixx_On – Enables or disables the module.
- Ixx_TF – Timeframes and their weights in the format TF:BuyFactor:SellFactor, separated by commas. Example: M15:2:2,H1:3:3. Available timeframes: M1, M5, M15, M30, H1, H4, D1.
- Ixx_WB – Base weight of the module’s buy vote.
- Ixx_WS – Base weight of the module’s sell vote.
- Final vote weight = Factor from Ixx_TF x Ixx_WB (or Ixx_WS) x K of the timeframe.
Module-specific parameters
- EmaFast, EmaSlow – EMA periods (module 01).
- RocPeriod, RocAtrLevel – ROC period and threshold in ATR units (module 02).
- MacdFast, MacdSlow, MacdSignal – MACD periods (module 03).
- AdxPeriod, AdxLevel – ADX period and minimum trend strength (module 04).
- AroonPeriod, AroonLevel – Aroon period and signal level (module 05).
- DonPeriod – Donchian channel period (module 06).
- SwingWidth – Number of bars on each side used to confirm a swing point (module 07).
- ChopPeriod, ChopLevel – Choppiness Index period and the level below which the market counts as trending (module 08).
- VolFast, VolSlow, VolRatio – Fast and slow ATR periods and the expansion ratio (module 09).
- ZPeriod, ZLevel – Z-Score period and threshold (module 10).
- SeqPeriod, SeqMin – Number of candles analysed and the minimum dominance of one direction (module 11).
- ErPeriod, ErLevel – Efficiency Ratio period and threshold (module 12).
- RsiPeriod, RsiLow, RsiHigh – RSI period and the reversal zones (module 13).
- CmfPeriod, CmfLevel – Chaikin Money Flow period and threshold (module 14).
- LrPeriod, LrTLevel – Linear regression period and the minimum t-statistic (module 15).
Testing and display
- SampleMode – SAMPLE_ALL trades the whole period. SAMPLE_IN trades only before 2025.01.01 and SAMPLE_OUT only after it, for in-sample / out-of-sample tests in the Strategy Tester.
- ShowPanel – Shows the information panel on the chart.
