A Forex EA does not trade an abstract EURUSD market. It trades the exact symbol exposed by the connected broker. That symbol may be named EURUSD, EURUSD.a, EURUSDm or something else, and its volume, tick and stop rules can differ from another account.
Symbol names
A suffix is often harmless when the EA reads the current chart symbol. It becomes a problem when the program searches for a hard-coded name, builds related symbols from text or calculates money risk from assumptions that do not match the broker’s Contract Specification.
A low advertised spread does not prove that symbol naming, volume rules, execution or protective-order distances match the EA.
For a detailed holding-cost check, use the Forex swap and rollover guide to connect the quoted unit, financing calendar and account-currency ledger before interpreting net results.
For reproducible D1 and H4 decisions, use the daily-candle and broker-clock protocol to define boundaries, short Sunday bars and completed information.
Contract Specification
| Property | What to inspect | Why it matters |
|---|---|---|
| Symbol name | EURUSD, EURUSD.a, EURUSDm | Whether the EA can find and trade the chart instrument |
| Digits / Point | 4/5 digits or 2/3 on JPY pairs | Pip conversion, distance filters and order prices |
| Contract size | Units represented by one standard lot | Money risk and margin assumptions |
| Tick size / tick value | Minimum price movement and its value | Position sizing and profit calculations |
| Minimum lot / lot step | 0.01, 0.1 or another increment | Whether calculated volume is accepted |
| Stops Level | Minimum distance from market price | Pending orders, Stop Loss and Take Profit validity |
| Trading sessions | When the symbol accepts orders | Session filters and market-closed errors |
Compatibility workflow
Open Market Watch
Right-click the exact symbol and select Specification. Do not rely on values copied from a different account type.
Compare with the EA requirements
Confirm pair, timeframe, quote digits, minimum lot, hedging or FIFO restrictions, pending-order use and allowed trading hours.
Check the risk calculation
Test the smallest planned lot and compare expected versus displayed margin and tick value. A correct signal with a wrong contract assumption is still unsafe.
Test order distances
On Demo, confirm that pending orders and protective levels are accepted during normal and wider-spread conditions.
Document the environment
Save the broker, server, account type, exact symbol and specification with the EA version and set file.
Common traps
Safe operating rule
The safest installation uses the broker’s actual chart symbol and lets the EA read its properties at runtime. If the program requires a suffix input, enter only the documented suffix, including punctuation and case. Do not rename files or create an offline chart as a shortcut unless the developer specifically requires it.
Demo verification
Keep points, pips and ticks in their stated units
On a typical five-digit EURUSD quote, Point = 0.00001 and one conventional pip is 0.00010. On a typical three-digit JPY pair, Point = 0.001 and one pip is 0.01. These conventions do not define a universal “pip” for metals or indices. Read the EA manual before converting any distance input.
MQL4 documents MODE_TICKSIZE in points, whereas SYMBOL_TRADE_TICK_SIZE is a price increment. For a monetary estimate, express the price distance and tick size in matching price units: loss per lot = price distance ÷ tick size × tick value. The tick value must be valid for the current symbol and account currency.
Validate the price and volume grids
Hypothetical distance 0.00500, price tick 0.00001 and tick value $1 per lot imply 500 ticks and $500 price risk per lot before costs. Do not transfer these values to another contract. Recheck them for cent accounts, unusual contract sizes and a different account currency.
Round volume down to the broker’s permitted lot grid within its minimum and maximum; two decimal places are not a universal rule. Check Stops Level and Freeze Level separately, as well as the permitted price increment. If the tick value is missing, stale or inconsistent, stop the calculation and resolve it rather than assume a convenient value.
See the official MQL4 symbol-property definitions.
The same quote digits do not imply the same money risk
Consider two hypothetical EURUSD contracts in USD accounts. Both have a price tick of 0.00001, but the tick value per lot is $1 for contract A and $0.10 for contract B. A price distance of 0.00150 contains 150 such ticks, so its price loss is $150 per lot on A and $15 per lot on B. Copying the same lot size would produce different monetary exposure despite identical price precision.
With an illustrative $5 budget and a permitted 0.01 lot step, the raw sizes are approximately 0.0333 and 0.3333 lot. Rounding down gives 0.03 and 0.33 lot, with price losses of $4.50 and $4.95. This excludes commission, slippage and financing; adding costs may require smaller volume. Minimum volume, price grids and margin must also permit the trade.
These are invented contracts, not broker specifications. Verify the actual tick value in the account currency and use the pip-value and currency-conversion guide before transferring settings. If the values are unavailable or orders are rejected, follow symbol-related troubleshooting instead of assuming a standard contract.