The default position sizing is intended to be used by most users with min balance starting at $3k USD. If you want to maintain the position sizing and risk level but have a larger account, feel free to use one of the attached setfiles.
Do the symbol names I enter need to match my broker exactly?
Yes — they must match exactly, including capitalisation and any suffixes. If your broker lists the S&P 500 as SP500.cash or US500m, you must enter that exact string in the S2_Symbol input. The safest approach is to copy the name directly from your Market Watch window. If the name is wrong, that symbol slot will fail to initialise and will be skipped — Ducat will still run on the remaining symbols.
Which chart do I attach Ducat to?
It does not matter technically — Ducat manages its own market subscriptions internally and will trade all configured symbols regardless of what the chart it is attached to is showing. The chart timeframe is also irrelevant to the EA's operation.
Practically, attaching it to an H1 or H4 XAUUSD chart is recommended so that the on-chart grid lines are visible for your primary instrument and the chart remains meaningful to monitor.
Can I run multiple instances of Ducat on the same account?
Yes, but each instance must have a unique Base Magic Number. Magic numbers are how Ducat identifies which positions belong to it. If two instances share a magic number, they will see each other's trades as their own and behave unpredictably. Use distinct blocks — for example, 6000 for one instance and 6100 for another.
Also ensure no symbol is duplicated across instances, as two instances managing the same symbol with different magic numbers will both try to open and close positions on it independently.
Can I run Ducat on a VPS (Virtual Private Server)?
Yes, and it is strongly recommended for 24/5 operation. Ducat is designed for uninterrupted automated trading, and running it on a local PC that may sleep, restart, or lose its internet connection introduces operational risk. A Windows VPS with MetaTrader 5 installed provides a stable, always-on environment.
Ducat's grid state recovery system means it will correctly reconnect to any open positions if the platform restarts — but it is still better to avoid unnecessary interruptions.
TRADING BEHAVIOUR
Why is Ducat not placing any trades?
There are several possible reasons. Check each in order:
The global Algo Trading button in MetaTrader 5 is disabled — check the toolbar.
Automated trading was not enabled in the EA's Common tab when attaching it.
It is the weekend — Ducat does not open positions on Saturday or Sunday.
Entry conditions have not yet been met — the EA is waiting for the right market conditions on each symbol.
A volatility pause is active — check the panel for a VOL PAUSE indicator.
The account margin level is below 200% — Ducat will not open new trades when margin is tight.
Drain Mode is enabled — no new grids start while Drain Mode is on.
The Hard Stop Loss triggered this session — the panel will show DEACTIVATED.
What does the STATUS column show when it displays a price condition?
When a symbol is idle (no grid open), the status shows the condition that must be satisfied for the EA to enter a trade. For example, ask≤MA(18) means the EA is waiting for the ask price to be at or below a moving average before considering entry. The number in brackets is the look-back period of the filter configured for that slot. This is by design and requires no action — simply wait for the market to reach the condition.
What does "WAIT Xh Xmin" mean in the status column?
A grid is currently active and the EA has recently opened a position. It is in a cooldown period — a minimum waiting time in market hours before it will consider adding the next position in the sequence. The time shown is the remaining cooldown. When it expires and price has moved sufficiently, the next grid level will be added automatically.
Why does the PRICE column change colour?
When a grid is active, the price column turns green if the current mid-price is on the profitable side of the grid's weighted average entry, and red if it is on the losing side. This gives a quick visual read on whether an active grid is currently ahead or behind. When no grid is active, the price is shown in a neutral colour.
What is the weighted average entry price, and how is the TP calculated from it?
The weighted average entry (WAP) is the average price of all open positions in a grid, weighted by their individual lot sizes. For example, a 0.01 lot position opened at 3000 and a 0.02 lot position opened at 2970 gives a WAP of 2980, not a simple average of 2985.
The virtual take profit is then calculated from the WAP: price must recover by the configured TP percentage from that blended cost basis before the basket closes profitably. As more positions are added and the WAP shifts, the TP price updates in real time — always reflected in the TP column of the panel.
What happens when "VSL ARMED" appears in the NEXT GRID column?
The grid has reached its maximum number of positions for that symbol and no further additions will be made. The Virtual Stop Loss is now active — if price continues to move adversely by one more grid-step distance from the last entry, all positions will close immediately.
At this point the grid can only exit in one of two ways: via the Virtual Take Profit (a recovery to the TP price), or via the Virtual Stop Loss (continued adverse movement). Grids in VSL ARMED state warrant closer monitoring.
RISK & CAPITAL MANAGEMENT
How do I calculate my maximum possible exposure on a symbol?
The default multiplier series is 1, 1, 2, 2, 3 — which sums to 9. Adding the opening trade (1×) gives a total multiplier of 10× the initial lot across a full grid. With an initial lot of 0.01 on XAUUSD, a full 5-position grid holds a maximum of 0.10 lots in total.
To estimate total exposure across the entire EA, repeat this for each enabled symbol and add the results. Keep in mind that the probability of all five symbols simultaneously reaching maximum grid depth is low — but you must be capitalised to survive that scenario.
What position sizes should I use for my account size?
It is highly recommended to have at least US$3,000 as a minimum account balance. The default position sizes are intended for account balances between $3,000 and $10,000 USD. The highest drawdown experienced in backtesting since 2023 is less than $2,000, so running with a $3,000 balance would be considered high risk. Running with a $10,000 balance you could expect up to 20% of drawdown in very unfavourable conditions.
At the link below you can find setfiles for those running larger account sizes, up to $50k and beyond. Note you can run the default position sizes for much larger accounts, this will simply reduce the expected drawdown. Whatever account size you use, consider using the hard stop loss feature. However, if you do use this feature, make sure you give the account enough “breathing room” to account for expected drawdown.
What value should I set for the Hard Stop Loss?
This depends entirely on your personal risk tolerance, account size, and how much drawdown you are comfortable with before the EA pauses for the session. Common starting points are 10–20%, but note that drawdown of up to $2,000 is experienced using default position sizing in backtesting. A smaller value provides more protection but risks triggering on normal drawdowns before a recovery; a larger value provides more breathing room but increases the maximum possible loss.
Consider modelling the worst case: if all five symbols were simultaneously at maximum grid depth and the Virtual Stop Loss triggered on all of them, what would the total loss be? Your Hard Stop Loss should be set to a level you could sustain without it materially affecting your overall trading capital.
Should I use balance scaling (Scale Position Sizes)?
Balance scaling is suitable for experienced users who understand compounding and have observed Ducat's behaviour across a range of market conditions. When enabled, position sizes grow as the account grows — which accelerates gains but also increases exposure and potential drawdowns proportionally.
For users new to Ducat, it is recommended to start with scaling disabled. Run the EA for a meaningful period to understand its behaviour on your instruments and account size, then consider enabling scaling once you are confident in how the system operates.
Does balance scaling actually change lot sizes immediately when the balance changes?
Not always — and this is an important nuance. Brokers enforce a minimum volume step for each instrument. On XAUUSD the typical step is 0.01 lots, meaning valid sizes are 0.01, 0.02, 0.03, and so on. A raw scaled value of 0.012 is not a valid order size, so Ducat rounds it down to 0.01. This means on gold, the lot size will only actually increase once the account has grown enough to cross a full volume step — in this case, a full 100% gain would be required to move from 0.01 to 0.02. Forex pairs with a 0.001 lot step are far more responsive to scaling and will reflect smaller balance changes immediately.
VOLATILITY PROTECTION
A VOL PAUSE triggered and I want to clear it manually. How do I do that?
The pause is stored in a MetaTrader 5 Global Variable. To clear it:
In MetaTrader 5, go to Tools → Global Variables (or press F3).
Look for a variable named DC_VolPause_SYMBOLNAME_MAGICNUMBER — for example, DC_VolPause_XAUUSD_6000.
Delete it, or set the value to 0.
The EA will detect the change on the next tick and resume normal operation on that symbol.
Caution
If the volatility event that triggered the pause is still ongoing or unresolved, clearing the pause manually may result in immediate re-triggering. Only clear it if you are confident market conditions have fully normalised.
Why did my positions close during a news event even though I had no stop loss set?
This is the volatility protection system working as intended. If any symbol moves more than 5% within a 60-minute window, Ducat closes all open positions on that symbol and enters a 48-market-hour pause. This is a deliberate safety mechanism designed to protect against disorderly conditions — during major news events spreads widen dramatically, price can gap, and grid strategies are particularly vulnerable to sustained one-directional moves.
Ducat does not use traditional stop losses on individual positions. The Virtual Stop Loss and the volatility protection system together serve as the exit safety net.
PANEL & DISPLAY
The panel is not showing on my chart. What should I check?
Confirm Show Info Panel is set to true in the EA inputs.
Ensure chart objects are enabled: right-click the chart → Properties → Show tab → confirm object-related options are ticked.
If the panel was previously visible, it may have been accidentally repositioned. Remove and re-attach the EA to reset it.
Confirm the EA is actually running — the smiley face icon should appear in the top-right corner of the chart.
Why does the Total Closed P&L not update in real time?
This is intentional. Calculating total closed P&L requires scanning the full deal history, which can be slow on accounts with a long trading record. To avoid performance impact on every tick, the closed P&L figure refreshes every 30 seconds. The Total Live P&L (unrealised) updates continuously on each tick.
I can see the panel but the chart lines (TP, next grid) are not showing.
Chart lines only appear on the chart that is currently displaying the same symbol as an active grid. If XAUUSD has an active grid but you are viewing a USDJPY chart, no XAUUSD lines will be visible. Switch to a chart showing the symbol with the active grid (with Ducat still attached to that chart) to see the lines. Lines also disappear automatically when no grid is active on that symbol.
HARD STOP LOSS
The Hard Stop Loss triggered. How do I resume trading?
Remove the EA from the chart (right-click → Expert Advisors → Remove) and re-attach it. When Ducat initialises, it records the current account balance as the new session start balance, resetting the drawdown calculation from that point. The deactivation state does not persist between EA instances — it only exists while the EA is currently running.
Before resuming
Review what caused the drawdown and consider whether your lot sizes or Hard Stop Loss threshold need adjusting. Resuming without addressing the root cause may produce the same outcome.
The Hard Stop Loss triggered but I want to reset the reference balance to a higher value. Can I do that?
The session start balance is stored in a Global Variable named DC_StartBalance_ACCOUNTNUMBER (where ACCOUNTNUMBER is your MT5 account number). You can find and edit this value in Tools → Global Variables (F3). Set it to any balance figure you prefer as the drawdown reference point — the change takes effect on the next tick after re-attaching the EA.
Use with care
Setting the reference balance higher than the current account equity means the drawdown calculation starts from a deficit immediately. Only do this if you fully understand the implications.
BACKTESTING
How do I backtest Ducat in MetaTrader 5's Strategy Tester?
Open the Strategy Tester (Ctrl+R or View → Strategy Tester) and select Ducat from the Expert Advisors list. For multi-symbol backtesting, use Every tick based on real ticks as the modelling mode — this is the only mode that correctly handles multiple symbols simultaneously. Select any one of Ducat's configured symbols as the tester's primary symbol (e.g. XAUUSD); the remaining symbols will load automatically provided they are enabled in the inputs and have historical data available.
Set Show Info Panel to false before running backtests or optimisations — this skips all panel rendering and meaningfully improves tester speed.
My backtest results look very different on data from different brokers. Is that normal?
Yes — this is common with any automated strategy and reflects genuine differences between brokers. Spreads, swap rates, symbol specifications (tick sizes, lot minimums, contract sizes), and the quality of historical tick data all vary between providers. Backtesting on your live broker's own data is the most relevant comparison, but even then live results will differ from backtests due to slippage, variable spreads around news, and execution latency. Treat backtest results as directional indicators, not precise predictions.
COMMON ERRORS & WARNINGS
The journal shows a symbol failed to initialise. What does this mean?
Initialisation can fail for several reasons:
The symbol name does not match Market Watch exactly — the most common cause.
The symbol exists but is not tradeable (outside market hours, halted, or not offered by your broker).
The initial lot size is set to zero, or below the broker's minimum volume for that symbol.
When a slot fails to initialise, Ducat marks it as disabled and continues with the remaining symbols. Check the MetaTrader 5 Experts log tab for the specific reason, which is always recorded.
What does "EMERGENCY: Margin level below 75%" in the journal mean?
The account margin level dropped below the emergency threshold while positions were open. Ducat closed all positions on the affected symbol immediately to prevent a broker-side margin call. This indicates the account is significantly under-capitalised for the current position sizes, or that a sudden adverse market move consumed margin rapidly.
Action required
Review your position sizing and available account margin. Consider reducing lot sizes across all symbols, adding funds to the account, or enabling the Hard Stop Loss to limit future drawdowns before they reach this level.
Ducat lost track of its positions after a restart. What happened?
The most likely cause is that the Base Magic Number was changed between the session when positions were opened and the current session. Ducat uses magic numbers to identify its own trades on recovery — if the number no longer matches, it cannot see the existing positions. Always ensure the Base Magic Number is unchanged when re-attaching the EA with open positions.
What position sizes should I use for my account size?
Very High Risk: $3,000 balance, default lot sizing
High Risk: $6,000 balance, default lot sizing
Recommended balanced risk setting: $10,000 balance, default lot sizing
Running with a $10,000 balance you could expect up to 20% of drawdown in unfavourable conditions.
At the start of the comments you will find setfiles for those running larger account sizes, up to $50k and beyond, including for prop firm use. Note you can run the default position sizes for much larger accounts, this will simply reduce the expected drawdown. Whatever account size you use, consider using the hard stop loss feature. However, if you do use this feature, make sure you give the account enough “breathing room” to account for expected drawdown.
Hey everyone!
The default position sizing is intended to be used by most users with min balance starting at $3k USD. If you want to maintain the position sizing and risk level but have a larger account, feel free to use one of the attached setfiles.
Ducat v1.0
Frequently Asked Questions
SETUP & INSTALLATION
Do the symbol names I enter need to match my broker exactly?
Yes — they must match exactly, including capitalisation and any suffixes. If your broker lists the S&P 500 as SP500.cash or US500m, you must enter that exact string in the S2_Symbol input. The safest approach is to copy the name directly from your Market Watch window. If the name is wrong, that symbol slot will fail to initialise and will be skipped — Ducat will still run on the remaining symbols.
Which chart do I attach Ducat to?
It does not matter technically — Ducat manages its own market subscriptions internally and will trade all configured symbols regardless of what the chart it is attached to is showing. The chart timeframe is also irrelevant to the EA's operation.
Practically, attaching it to an H1 or H4 XAUUSD chart is recommended so that the on-chart grid lines are visible for your primary instrument and the chart remains meaningful to monitor.
Can I run multiple instances of Ducat on the same account?
Yes, but each instance must have a unique Base Magic Number. Magic numbers are how Ducat identifies which positions belong to it. If two instances share a magic number, they will see each other's trades as their own and behave unpredictably. Use distinct blocks — for example, 6000 for one instance and 6100 for another.
Also ensure no symbol is duplicated across instances, as two instances managing the same symbol with different magic numbers will both try to open and close positions on it independently.
Can I run Ducat on a VPS (Virtual Private Server)?
Yes, and it is strongly recommended for 24/5 operation. Ducat is designed for uninterrupted automated trading, and running it on a local PC that may sleep, restart, or lose its internet connection introduces operational risk. A Windows VPS with MetaTrader 5 installed provides a stable, always-on environment.
Ducat's grid state recovery system means it will correctly reconnect to any open positions if the platform restarts — but it is still better to avoid unnecessary interruptions.
TRADING BEHAVIOUR
Why is Ducat not placing any trades?
There are several possible reasons. Check each in order:
The global Algo Trading button in MetaTrader 5 is disabled — check the toolbar.
Automated trading was not enabled in the EA's Common tab when attaching it.
It is the weekend — Ducat does not open positions on Saturday or Sunday.
Entry conditions have not yet been met — the EA is waiting for the right market conditions on each symbol.
A volatility pause is active — check the panel for a VOL PAUSE indicator.
The account margin level is below 200% — Ducat will not open new trades when margin is tight.
Drain Mode is enabled — no new grids start while Drain Mode is on.
The Hard Stop Loss triggered this session — the panel will show DEACTIVATED.
What does the STATUS column show when it displays a price condition?
When a symbol is idle (no grid open), the status shows the condition that must be satisfied for the EA to enter a trade. For example, ask≤MA(18) means the EA is waiting for the ask price to be at or below a moving average before considering entry. The number in brackets is the look-back period of the filter configured for that slot. This is by design and requires no action — simply wait for the market to reach the condition.
What does "WAIT Xh Xmin" mean in the status column?
A grid is currently active and the EA has recently opened a position. It is in a cooldown period — a minimum waiting time in market hours before it will consider adding the next position in the sequence. The time shown is the remaining cooldown. When it expires and price has moved sufficiently, the next grid level will be added automatically.
Why does the PRICE column change colour?
When a grid is active, the price column turns green if the current mid-price is on the profitable side of the grid's weighted average entry, and red if it is on the losing side. This gives a quick visual read on whether an active grid is currently ahead or behind. When no grid is active, the price is shown in a neutral colour.
What is the weighted average entry price, and how is the TP calculated from it?
The weighted average entry (WAP) is the average price of all open positions in a grid, weighted by their individual lot sizes. For example, a 0.01 lot position opened at 3000 and a 0.02 lot position opened at 2970 gives a WAP of 2980, not a simple average of 2985.
The virtual take profit is then calculated from the WAP: price must recover by the configured TP percentage from that blended cost basis before the basket closes profitably. As more positions are added and the WAP shifts, the TP price updates in real time — always reflected in the TP column of the panel.
What happens when "VSL ARMED" appears in the NEXT GRID column?
The grid has reached its maximum number of positions for that symbol and no further additions will be made. The Virtual Stop Loss is now active — if price continues to move adversely by one more grid-step distance from the last entry, all positions will close immediately.
At this point the grid can only exit in one of two ways: via the Virtual Take Profit (a recovery to the TP price), or via the Virtual Stop Loss (continued adverse movement). Grids in VSL ARMED state warrant closer monitoring.
RISK & CAPITAL MANAGEMENT
How do I calculate my maximum possible exposure on a symbol?
The default multiplier series is 1, 1, 2, 2, 3 — which sums to 9. Adding the opening trade (1×) gives a total multiplier of 10× the initial lot across a full grid. With an initial lot of 0.01 on XAUUSD, a full 5-position grid holds a maximum of 0.10 lots in total.
To estimate total exposure across the entire EA, repeat this for each enabled symbol and add the results. Keep in mind that the probability of all five symbols simultaneously reaching maximum grid depth is low — but you must be capitalised to survive that scenario.
What position sizes should I use for my account size?
It is highly recommended to have at least US$3,000 as a minimum account balance. The default position sizes are intended for account balances between $3,000 and $10,000 USD. The highest drawdown experienced in backtesting since 2023 is less than $2,000, so running with a $3,000 balance would be considered high risk. Running with a $10,000 balance you could expect up to 20% of drawdown in very unfavourable conditions.
At the link below you can find setfiles for those running larger account sizes, up to $50k and beyond. Note you can run the default position sizes for much larger accounts, this will simply reduce the expected drawdown. Whatever account size you use, consider using the hard stop loss feature. However, if you do use this feature, make sure you give the account enough “breathing room” to account for expected drawdown.
What value should I set for the Hard Stop Loss?
This depends entirely on your personal risk tolerance, account size, and how much drawdown you are comfortable with before the EA pauses for the session. Common starting points are 10–20%, but note that drawdown of up to $2,000 is experienced using default position sizing in backtesting. A smaller value provides more protection but risks triggering on normal drawdowns before a recovery; a larger value provides more breathing room but increases the maximum possible loss.
Consider modelling the worst case: if all five symbols were simultaneously at maximum grid depth and the Virtual Stop Loss triggered on all of them, what would the total loss be? Your Hard Stop Loss should be set to a level you could sustain without it materially affecting your overall trading capital.
Should I use balance scaling (Scale Position Sizes)?
Balance scaling is suitable for experienced users who understand compounding and have observed Ducat's behaviour across a range of market conditions. When enabled, position sizes grow as the account grows — which accelerates gains but also increases exposure and potential drawdowns proportionally.
For users new to Ducat, it is recommended to start with scaling disabled. Run the EA for a meaningful period to understand its behaviour on your instruments and account size, then consider enabling scaling once you are confident in how the system operates.
Does balance scaling actually change lot sizes immediately when the balance changes?
Not always — and this is an important nuance. Brokers enforce a minimum volume step for each instrument. On XAUUSD the typical step is 0.01 lots, meaning valid sizes are 0.01, 0.02, 0.03, and so on. A raw scaled value of 0.012 is not a valid order size, so Ducat rounds it down to 0.01. This means on gold, the lot size will only actually increase once the account has grown enough to cross a full volume step — in this case, a full 100% gain would be required to move from 0.01 to 0.02. Forex pairs with a 0.001 lot step are far more responsive to scaling and will reflect smaller balance changes immediately.
VOLATILITY PROTECTION
A VOL PAUSE triggered and I want to clear it manually. How do I do that?
The pause is stored in a MetaTrader 5 Global Variable. To clear it:
In MetaTrader 5, go to Tools → Global Variables (or press F3).
Look for a variable named DC_VolPause_SYMBOLNAME_MAGICNUMBER — for example, DC_VolPause_XAUUSD_6000.
Delete it, or set the value to 0.
The EA will detect the change on the next tick and resume normal operation on that symbol.
Caution
If the volatility event that triggered the pause is still ongoing or unresolved, clearing the pause manually may result in immediate re-triggering. Only clear it if you are confident market conditions have fully normalised.
Why did my positions close during a news event even though I had no stop loss set?
This is the volatility protection system working as intended. If any symbol moves more than 5% within a 60-minute window, Ducat closes all open positions on that symbol and enters a 48-market-hour pause. This is a deliberate safety mechanism designed to protect against disorderly conditions — during major news events spreads widen dramatically, price can gap, and grid strategies are particularly vulnerable to sustained one-directional moves.
Ducat does not use traditional stop losses on individual positions. The Virtual Stop Loss and the volatility protection system together serve as the exit safety net.
PANEL & DISPLAY
The panel is not showing on my chart. What should I check?
Confirm Show Info Panel is set to true in the EA inputs.
Ensure chart objects are enabled: right-click the chart → Properties → Show tab → confirm object-related options are ticked.
If the panel was previously visible, it may have been accidentally repositioned. Remove and re-attach the EA to reset it.
Confirm the EA is actually running — the smiley face icon should appear in the top-right corner of the chart.
Why does the Total Closed P&L not update in real time?
This is intentional. Calculating total closed P&L requires scanning the full deal history, which can be slow on accounts with a long trading record. To avoid performance impact on every tick, the closed P&L figure refreshes every 30 seconds. The Total Live P&L (unrealised) updates continuously on each tick.
I can see the panel but the chart lines (TP, next grid) are not showing.
Chart lines only appear on the chart that is currently displaying the same symbol as an active grid. If XAUUSD has an active grid but you are viewing a USDJPY chart, no XAUUSD lines will be visible. Switch to a chart showing the symbol with the active grid (with Ducat still attached to that chart) to see the lines. Lines also disappear automatically when no grid is active on that symbol.
HARD STOP LOSS
The Hard Stop Loss triggered. How do I resume trading?
Remove the EA from the chart (right-click → Expert Advisors → Remove) and re-attach it. When Ducat initialises, it records the current account balance as the new session start balance, resetting the drawdown calculation from that point. The deactivation state does not persist between EA instances — it only exists while the EA is currently running.
Before resuming
Review what caused the drawdown and consider whether your lot sizes or Hard Stop Loss threshold need adjusting. Resuming without addressing the root cause may produce the same outcome.
The Hard Stop Loss triggered but I want to reset the reference balance to a higher value. Can I do that?
The session start balance is stored in a Global Variable named DC_StartBalance_ACCOUNTNUMBER (where ACCOUNTNUMBER is your MT5 account number). You can find and edit this value in Tools → Global Variables (F3). Set it to any balance figure you prefer as the drawdown reference point — the change takes effect on the next tick after re-attaching the EA.
Use with care
Setting the reference balance higher than the current account equity means the drawdown calculation starts from a deficit immediately. Only do this if you fully understand the implications.
BACKTESTING
How do I backtest Ducat in MetaTrader 5's Strategy Tester?
Open the Strategy Tester (Ctrl+R or View → Strategy Tester) and select Ducat from the Expert Advisors list. For multi-symbol backtesting, use Every tick based on real ticks as the modelling mode — this is the only mode that correctly handles multiple symbols simultaneously. Select any one of Ducat's configured symbols as the tester's primary symbol (e.g. XAUUSD); the remaining symbols will load automatically provided they are enabled in the inputs and have historical data available.
Set Show Info Panel to false before running backtests or optimisations — this skips all panel rendering and meaningfully improves tester speed.
My backtest results look very different on data from different brokers. Is that normal?
Yes — this is common with any automated strategy and reflects genuine differences between brokers. Spreads, swap rates, symbol specifications (tick sizes, lot minimums, contract sizes), and the quality of historical tick data all vary between providers. Backtesting on your live broker's own data is the most relevant comparison, but even then live results will differ from backtests due to slippage, variable spreads around news, and execution latency. Treat backtest results as directional indicators, not precise predictions.
COMMON ERRORS & WARNINGS
The journal shows a symbol failed to initialise. What does this mean?
Initialisation can fail for several reasons:
The symbol name does not match Market Watch exactly — the most common cause.
The symbol exists but is not tradeable (outside market hours, halted, or not offered by your broker).
The initial lot size is set to zero, or below the broker's minimum volume for that symbol.
When a slot fails to initialise, Ducat marks it as disabled and continues with the remaining symbols. Check the MetaTrader 5 Experts log tab for the specific reason, which is always recorded.
What does "EMERGENCY: Margin level below 75%" in the journal mean?
The account margin level dropped below the emergency threshold while positions were open. Ducat closed all positions on the affected symbol immediately to prevent a broker-side margin call. This indicates the account is significantly under-capitalised for the current position sizes, or that a sudden adverse market move consumed margin rapidly.
Action required
Review your position sizing and available account margin. Consider reducing lot sizes across all symbols, adding funds to the account, or enabling the Hard Stop Loss to limit future drawdowns before they reach this level.
Ducat lost track of its positions after a restart. What happened?
The most likely cause is that the Base Magic Number was changed between the session when positions were opened and the current session. Ducat uses magic numbers to identify its own trades on recovery — if the number no longer matches, it cannot see the existing positions. Always ensure the Base Magic Number is unchanged when re-attaching the EA with open positions.
What position sizes should I use for my account size?
Very High Risk: $3,000 balance, default lot sizingHigh Risk: $6,000 balance, default lot sizing
Recommended balanced risk setting: $10,000 balance, default lot sizing
Running with a $10,000 balance you could expect up to 20% of drawdown in unfavourable conditions.
At the start of the comments you will find setfiles for those running larger account sizes, up to $50k and beyond, including for prop firm use. Note you can run the default position sizes for much larger accounts, this will simply reduce the expected drawdown. Whatever account size you use, consider using the hard stop loss feature. However, if you do use this feature, make sure you give the account enough “breathing room” to account for expected drawdown.