Trade-Arbitrage : Optimisez vos trades sur MetaTrader 4

Mike 2009.11.27 19:46 17 0 0
Pièce jointe

Théorie :

Voyons comment cela fonctionne sur l'EURUSD. Imaginez que nous avons deux paires synthétiques EURUSDx et EURUSDy.

Elles ont des dynamiques similaires, donc si nous ouvrons deux positions opposées sur ces paires, nous aurons une position couverte.

Ouvrez : ACHAT EURUSDx et VENTE EURUSDy. Après un certain temps, nous fermons ces positions : VENTE EURUSDx et ACHAT EURUSDy.

Profit : Profit = (BIDx - ASKx) + (BIDy - ASKy) = (BIDx - ASKy) + (BIDy - ASKx)

Dans l'expression ci-dessus, nous connaissons la valeur de la première parenthèse (ACHAT EURUSDx et VENTE EURUSDy).

La valeur de la seconde parenthèse est connue après la fermeture des positions (VENTE EURUSDx et ACHAT EURUSDy).

Il existe plusieurs cas avec des valeurs de profit positives. L'un d'eux est :

À l'ouverture : BIDx > ASKy,

À la fermeture : BIDy > ASKx.

Pratique :


L'expert advisor Trade-Arbitrage utilise cette stratégie (vous pouvez le modifier pour d'autres conditions).

En temps réel, il recherche les cas où BIDx > ASKy pour TOUTES les paires synthétiques possibles (des milliers de cas) et ouvre les positions correspondantes.

Cela signifie que l'expert advisor Trade-Arbitrage a toujours une couverture multicurrency.

Il crée le fichier ArbitrageStatistic.txt avec les cas d'arbitrage triés (par fréquence).


Fichier ArbitrageStatistic.txt


Si Monitoring est VRAI, l'expert advisor ajoute des détails d'arbitrage au fichier Arbitrage.txt.


Arbitrage.txt avec détails

Le trading s'effectue avec les paires définies dans le fichier Trade-Arbitrage.txt (l'emplacement du fichier est : experts\files).



Exemple de fichier Trade-Arbitrage.txt

Il consigne également certains détails pour une analyse ultérieure (transactions, raisons et résultats) :


Résultats de l'expert Trade-Arbitrage (en haut), NettoTrading (à gauche) et CheckMyArbitrage (à droite)

La couverture multicurrency peut être vérifiée à l'aide d'un script cyclique CheckMyArbitrage.

Paramètres d'entrée :

  • Devises - liste des devises utilisées pour la paire synthétique.
  • MinPips - différence minimale autorisée (en tant qu'arbitrage) en points (ancien) entre BIDx et ASKy.
  • SlipPage - glissement en pips autorisé par le broker pour les ordres de marché (différents brokers ont des valeurs différentes).
  • Lock - les locks sont autorisés (VRAI) ou non (FAUX).
  • Lots - Volume de position pour ouvrir/fermer.
  • MaxLot - lot maximal autorisé par le broker (réel).
  • MinLot - lot minimal autorisé par le broker (réel).
  • Monitoring - consigner tous les cas d'arbitrage dans un fichier (VRAI) ou non (FAUX). La consignation peut prendre du temps, ce qui pourrait être critique pour l'arbitrage.
  • TimeToWrite - Période de temps de consignation (en minutes) pour les données statistiques d'arbitrage (ArbitrageStatistic.txt).

L'expert fonctionne correctement (il ne casse pas la couverture multicurrency) :

  • Erreurs de commande de trade (Rejets, etc.).
  • Exécution partielle (Exécutions partielles). Certains brokers le permettent.
  • fonctionnalité, avec le lot minimal possible, autorisé par le broker (MinLot).
  • Si Lock = VRAI, il utilise des ordres de trade minimaux minimum.
  • Il peut interdire les cas de lock (Lock = FAUX).

Problèmes possibles :

  • Les glissements négatifs et les commissions grignotent le profit.
  • Exécution prolongée des ordres de trading, il y a des cas où les prix des autres symboles changent significativement.
  • Traitement asynchrone des ordres de trade par le broker.
  • Temps d'arbitrage réduit.

Améliorations possibles :

  • Utilisation d'ordres limites.
  • Envoi simultané pour divers symboles (émulation d'asynchronicité) d'ordres de trade à partir de plusieurs terminaux pour un compte.
  • Contrôle du temps du broker asynchronicité.
  • Collecte et utilisation de plus d'informations statistiques pour d'autres conditions de MinPips d'arbitrage. Par exemple, BIDx - ASKy> SPREADx + SPREADy.
  • Collecte et utilisation d'informations statistiques sur la durée de l'arbitrage.
  • Priorité de la file d'attente des ordres de marché (par exemple, le symbole avec le plus grand volume de tick ou le symbole avec le prix local extrême).

Caractéristiques :

  • Multidevise, donc il ne peut pas être utilisé dans le testeur de stratégie. Il peut être exécuté en tant que script.
  • L'historique des prix n'est pas utilisé. La théorie de l'arbitrage utilise l'inefficacité du marché (inefficacité des cotations), donc la nature des cotations n'est pas importante.
  • L'expert fonctionne sans pertes.

Remarque de l'éditeur :

Notez qu'il s'agit d'une traduction miroir de la version originale russe.

Si vous avez des questions pour l'auteur, des suggestions ou des commentaires, il est préférable de les poster .

Si vous avez trouvé ce code utile pour le trading ou à des fins éducatives, n'oubliez pas de remercier l'auteur.
Liste
Commentaire 0