BROKER BASKET PREFLIGHT — START HERE / COMMENCER ICI
Version 1.00 | Fabien Martino | 7 October 2026
Source: https://www.mql5.com/en/code/78139

ENGLISH

Purpose
Read broker specifications and estimate minimum-volume margin and price
sensitivity. This is a standalone script with journal output, not a trading EA.
The source includes the MIT license. No library, DLL or network request is needed.

Install and run
1. Download BrokerBasketPreflight.mq5 from the CodeBase page above.
2. In MetaTrader 5, choose File > Open Data Folder. Copy the MQ5 into MQL5/Scripts.
3. Open the file in MetaEditor and press F7 to compile. Version 1.00 was verified
   with 0 errors and 0 warnings. Return to MT5 and refresh Navigator > Scripts
   if the new script is not listed.
4. In Market Watch, select the EXACT broker names you want to inspect and allow
   quotes to arrive. Prefixes and suffixes are not guessed. Use a separate chart.
5. Run BrokerBasketPreflight from Navigator > Scripts. Leave InpSymbols empty
   for the chart symbol, or enter exact names separated by commas. For example:
       US30,US500,USTEC,AAPL.NAS,MSFT.NAS
   This example is broker-specific; replace the names to match your Market Watch.
6. Read the Experts tab of the MT5 Toolbox. The script runs once and finishes.

Inputs and units
- InpSymbols: default empty. Up to 64 comma-separated entries. Surrounding spaces
  are trimmed; unknown, unselected, repeated and empty entries are skipped.
- InpMaxQuoteAgeSeconds: default 120 seconds; 0 disables the age warning threshold.
- InpMaxSpreadPoints: default 0 (disabled). Set a positive value only if you want
  a warning above your own spread threshold. Its unit is the broker's POINT,
  not a pip, tradable tick or currency amount.

Read the report
SPEC = contract, volume and price rules, trading/execution/filling modes.
QUOTE = bid, ask, spread in points and quote time.
CALC = isolated BUY/SELL margin, one-tick price-move results and spread-only
       results at minimum volume. Money amounts use the account currency.
WARN = inspect the reported condition or unavailable calculation.
SKIP = correct the exact name/list entry or select the symbol and rerun.
SUMMARY = number of inspected/skipped entries and diagnostic warnings.

Actual recorded test summary
An isolated local MT5 Strategy Tester test on cached US500 quotes, in a simulated
USD account, used a test-only EA wrapper on 6 July 2026 historical data. Its list
contained US500, one nonexistent name, a duplicate US500 and two empty entries.
The following line was observed during that test, without any account identifier:

    [SUMMARY] inspected=1; skipped=4; warnings=0

The same run produced two margin calculations and six profit probes. This is a
software smoke test of that configuration. The test-only wrapper is not included
in the download: install and run the published MQ5 as a SCRIPT, as described above.

Limits
No orders are submitted or positions managed. The script does not call APIs to
change charts, Market Watch selections or terminal globals; it reports no account
identifier, balance or position list. Margin ignores existing exposure. Estimates
exclude commission, swap and slippage. Daily history, trading-session opening
times and available margin are not checked. Zero warnings does not guarantee
that a broker would accept an order. Stale quotes are flagged; amounts depend on
broker specifications, quotes and currency conversion availability.


FRANÇAIS

But
Lire les caractéristiques du courtier et estimer la marge et la sensibilité au
volume minimal. Ce script autonome écrit dans le journal ; il ne négocie pas.
Le source contient la licence MIT. Aucune bibliothèque, DLL ou requête réseau.

Installer et lancer
1. Télécharger BrokerBasketPreflight.mq5 depuis la page CodeBase indiquée en haut.
2. Dans MT5 : Fichier > Ouvrir le dossier des données. Copier le MQ5 dans MQL5/Scripts.
3. Ouvrir le fichier dans MetaEditor et compiler avec F7. La version 1.00 a été
   vérifiée avec 0 erreur et 0 avertissement. Revenir dans MT5 et actualiser
   Navigateur > Scripts si le script n'apparaît pas.
4. Sélectionner dans Market Watch les noms EXACTS du courtier et attendre les
   cotations. Les préfixes/suffixes ne sont pas devinés. Utiliser un graphique séparé.
5. Lancer BrokerBasketPreflight depuis Navigateur > Scripts. InpSymbols vide utilise
   le symbole du graphique ; sinon, séparer les noms exacts par des virgules.
   L'exemple de panier anglais dépend du courtier : adapter tous ses noms.
6. Lire l'onglet Experts de la Boîte à outils MT5. Le script s'exécute une seule fois.

Paramètres et lecture
InpSymbols : vide par défaut, jusqu'à 64 entrées. Les espaces autour des noms sont
retirés ; les noms inconnus, non sélectionnés, répétés ou vides sont ignorés.
InpMaxQuoteAgeSeconds : seuil de 120 secondes ; 0 désactive le seuil d'ancienneté.
InpMaxSpreadPoints : 0 par défaut, donc désactivé. Un seuil positif s'exprime en
POINTS du courtier, pas en pips, ticks négociables ou montant monétaire.

SPEC : contrat, volumes, prix et modes de négociation/exécution/remplissage.
QUOTE : bid, ask, spread en points et heure de cotation.
CALC : marge BUY/SELL isolée, effet d'un tick et résultat lié au seul spread,
       au volume minimal, dans la devise du compte.
WARN : condition ou calcul indisponible à examiner.
SKIP : corriger le nom/la liste ou sélectionner le symbole, puis relancer.
SUMMARY : nombres d'entrées inspectées/ignorées et d'avertissements.

L'extrait anglais est une ligne réellement observée dans un testeur local isolé :
un US500 valide, quatre entrées ignorées et aucun avertissement. Le même essai
a produit deux calculs de marge et six calculs de résultat. Le compte USD était
simulé ; il ne s'agit pas d'une validation universelle des courtiers. Le wrapper
de test n'est pas fourni : le MQ5 publié se lance comme SCRIPT dans le terminal.

Limites
Aucun ordre envoyé, aucune position gérée. Aucun appel de modification des
graphiques, de la sélection Market Watch ou des variables globales. Aucun numéro
de compte, solde ou liste de positions affiché. La marge exclut les positions
existantes ; commissions, swaps et slippage sont exclus des estimations. Historique
quotidien, horaires d'ouverture et marge disponible ne sont pas vérifiés. Zéro
avertissement ne garantit pas l'acceptation d'un ordre. Les cotations anciennes
sont signalées ; les montants dépendent du contrat, des prix et des conversions.
