BrokerSpecInspector v1.10 - User Guide
=======================================
"Why was my order rejected?" Prints the invisible contract limits of
your broker's symbols and tests a hypothetical order distance against
them - before the server rejects it for you. It also prints the nearest
stop level the server would actually accept, and ships two functions
(MinStopDistance, LegalStopLoss) intended to be reused in your own EA.

WHAT IT DOES
------------
For each requested symbol it prints: digits, point, tick size and
value, contract size, min/step/max lot, current spread (fixed or
floating), STOPS LEVEL and FREEZE LEVEL in points, the EFFECTIVE
no-go band the script derives from them, execution mode, swap rates,
and the margin required for the minimum lot against your current free
margin. It then delivers a verdict: would a stop-loss or pending
order placed at your chosen distance be ACCEPTED or REJECTED right
now as "Invalid price".

The effective band is computed as max(stops level, freeze level) + 1
point, because some servers enforce the stops distance even when the
freeze level reads zero - the single most common cause of mysterious
rejections and failed cancels.

Read-only: no orders are sent; OrderCalcMargin is a calculation only.

INSTALLATION AND RUNNING
------------------------
1. Copy BrokerSpecInspector.mq5 to MQL5\Scripts, refresh, compile if
   edited.
2. Drag onto any chart, set the inputs, press OK.
3. Read the per-symbol blocks in Toolbox -> Experts.

INPUTS
------
InpSymbols (default empty)
    Comma-separated list, e.g. "EURUSD,XAUUSD,GBPJPY". Leave empty to
    inspect the symbols currently selected in Market Watch.
InpTestDistancePoints (default 100)
    The hypothetical SL/pending distance to test, in points. Set it to
    the distance your EA or your manual order actually uses.
InpMaxSymbols (default 20)
    Safety cap when reading from Market Watch, to keep the log short.
InpExportCSV (default true)
    Writes BrokerSpecs.csv to MQL5\Files - handy for comparing two
    brokers side by side in a spreadsheet.

READING THE OUTPUT
------------------
- REJECTED verdict: your distance is inside the effective band. Either
  widen the distance or expect "Invalid price" from the server.
- "NOT affordable" on the min-lot margin line: the account cannot open
  even the smallest position on that symbol at current free margin.
- Exotic symbols with volMin like 0.2 combined with a small account
  are how validation and small-deposit stop outs happen - the numbers
  here show it before real money does.

NOTES
-----
- Spread is a live snapshot; on floating-spread symbols rerun at
  different hours (especially around rollover) to see the range.
- If a symbol prints "no tick data yet", open its chart once so the
  terminal subscribes to it, then rerun.

License: free to use, modify and redistribute. No warranty.
