MultiCharts : Prise en main, tests et premiers retours

Cet article est le premier d’une série sur MultiCharts.
Pour continuer les echanges sur le forum, c’est par ici : forum MultiCharts

EN QUÊTE DE L’OUTIL IDÉAL

Il y a un proverbe qui dit qu’il n’y a pas de mauvais outils, seulement de mauvais artisans. Si j’ai le sentiment que beaucoup de traders confirment cet adage, je n’en reste pas moins persuadé qu’un artisan travaillera mieux avec de bons outils. Et en bon artisan, il devra apprendre à les choisir en fonction de ses besoins.

J’ai commencé le trading avec la plateforme WHS ProStation et je trouvais l’outil bien adapté pour du trading manuel, mais très limité pour du trading automatisé. Je ne connaissais pas grand-chose d’autre et le passage à MetaTrader 4 quelques mois plus tard m’a donné l’impression d’accéder au Graal des traders systématiques. J’étais loin du compte. Il faut dire que je me souciais peu du slippage ou des commissions, que je pensais que le profit net et le facteur de profit suffisaient amplement à sélectionner une bonne stratégie, que je ne me préoccupais pas de savoir si mes historiques de données étaient fiables, que je ne voyais aucune utilité à tester mes stratégies sur plusieurs produits à la fois et que je sur-optimisais sans retenue. Quand au walk-forward, c’était un terme barbare qui ne m’évoquait rien.
Constatant un jour que ma superbe stratégie au backtest impressionnant se prenait pour un loir et creusait son terrier dans la balance de mon compte, je me suis posé des questions et j’ai décidé de m’équiper d’un logiciel de test digne de ce nom. J’ai acheté AmiBroker, ce qui était à l’époque un excellent compromis entre les fonctionnalités que je recherchais et le prix. Je me suis heurté pendant des mois à la logique propre à cet outil. AmiBroker a été conçu pour du swing trading sur les actions, pas pour du day trading sur le Forex, et ça se sent.

Aujourd’hui encore je n’arrive pas à faire certaines choses avec, et j’ai dû concevoir une usine à gaz pour gérer l’exécution intrabarre, mais j’accepte volontiers ces inconvénients au regard de la vitesse de test et d’optimisation de l’outil. On est très loin de la lenteur de MT4 ou, pire encore, de ProRealTime ou JForex, codés en Java.

Récemment, nombre de plateformes sont apparues permettant de backtester ses stratégies. J’ai essayé Strategy Trader, mais ce n’était pas encore au point (et la collection de bugs n’est définitivement pas mon hobby), NinjaTrader 6, mais son module d’importation de données est trop basique et il n’y a pas d’exécution intrabarre, puis la nouvelle mouture de MetaTrader, qui a laissé de côté certaines choses que j’appréciais dans la version précédente. Bref, je me disais qu’AmiBroker était indétrônable quand on m’a proposé de tester MultiCharts. Voilà bien un challenger à sa mesure ! Allons-y et passons-le au grill.

REGARDE CHÉRIE, SANS LE MANUEL !

 

Comme tous les hommes, je déteste avoir à lire un manuel pour utiliser un produit. Ca me donne l’air intelligent quand j’arrive à le faire fonctionner. Si un logiciel arrive à passer ce test que j’appelle le test de l’homme pressé, c’est que le logiciel a été conçu par des gens qui pensent comme moi et ça me rassure. Dès l’ouverture de l’écran principal de MultiCharts, je me suis senti en terrain connu. Bon départ.

(cliquez pour aggrandir)

MultiCharts est un outil très complet pour présenter un graphique des données. Outre les représentations classiques (chandeliers, barres, courbes), vous pouvez utiliser les représentations de type Kagi, Renko, point & figure, line break, dots ou histogramme. Vous pouvez afficher le profil de volume sur un des côtés du graphe et juxtaposer plusieurs flux de données dans un même graphe. Il est possible ainsi d’associer une action à son indice de référence ou les barres d’une heure aux barres d’une minute sans avoir à ouvrir deux fenêtres. Presque tout ce que vous voyez est paramétrable. Je dis presque parce que je n’ai pas trouvé comment afficher le volume plutôt que les up & down volumes dans la fenêtre d’affichage numérique des données. Les outils de dessin sont également complets, avec un calculateur de retracement. Pour un chartiste, je ne vois rien qui manque.

multicharts

(cliquez pour aggrandir)

En continuant mon exploration, j’ai réalisé qu’il n’y avait rien dans l’interface pour ouvrir ou fermer une position. Rien non plus pour afficher un carnet d’ordres ou les Times & Sales (détails de chaque transaction). Je m’étais imaginé que MultiCharts proposait cela depuis longtemps. En fait, tout cela n’arrivera que dans la version suivante, qui est actuellement en test. C’est assez étonnant car il devient difficile aujourd’hui de qualifier une plateforme de professionnelle sans un carnet d’ordres de niveau II et de la qualifier de plateforme tout court sans aucune possibilité de trader à la main. Mais bon, MultiCharts est avant tout un logiciel de test et de trading automatisé. Jugeons-le sur ce qu’il propose.

Et pour la connexion à des fournisseurs de flux, il propose un choix correct. Quasiment tous les ténors sont là (TradeStation, eSignal, Interactive Brokers, PatSystems, Zen-Fire, etc) ainsi que Free Quotes (gratuit) et l’indispensable passerelle DDE. Je me réjouis de voir Dukascopy dans la liste. Mais comme je n’ai aucun abonnement chez tous ces braves gens, j’ai continué ma découverte en important mes historiques de données.

LA PERFECTION N’EST PAS DE CE MONDE

J’aurais bien voulu continuer à faire le malin sans le manuel, mais je me suis un peu perdu dans Quote Manager, l’outil de gestion des données. Ce n’est pas qu’il est compliqué à utiliser, ni illogique dans son fonctionnement. Il est simplement très riche (le plus riche que j’ai vu à ce jour) et je me suis un peu égaré.

Chaque symbole (ou instrument) dans MultiCharts est rattaché à une source (fichier ASCII ou fournisseur de flux) et une place de marché (exchange). Pour le Forex, on peut créer des places de marché fictives. Cette organisation accélère l’importation de données à répétition car il suffit de connecter chaque symbole à la bonne source et à la bonne place de marché pour définir automatiquement le nombre de décimales, la valeur du point, les horaires de séance, les jours sans marché, etc.

multicharts

(cliquez pour aggrandir)

Lors de l’importation des données, je peux choisir le type de chaque champ du fichier, ce qui permet d’importer des formats très différents. On peut également séparer le bid et le ask, ce qui est important pour faire des backtests au plus près de la réalité.

Je note qu’il m’a été impossible d’importer mes fichiers en tick par tick issus de la plateforme JForex car MultiCharts ne sait pas gérer les champs Date & Heure non séparés. Mais la vraie mauvaise surprise a été quand j’ai visualisé les données importées. Les barres compressées au format 1 heure ne ressemblaient pas du tout aux mêmes barres dans la plateforme d’origine. C’est dû au fait que MultiCharts construit ses barres comme TradeStation, en les datant au cours de clôture. Ainsi la barre horaire de 21h comprend les ticks entre 20h01 et 21h, alors que MT4 et JForex utilisent les ticks entre 21h et 21h59. La différence n’est pas anecdotique. J’ai superposé dans ce graphique les deux manières de créer les barres :

multicharts

(cliquez pour aggrandir)

Heureusement pour moi, il existe une option (non documentée) qui s’appelle « Use bar end time » qu’il faut cocher lors de l’importation des données. Les barres d’une minute sont décalées pour que l’heure d’ouverture de la barre devienne l’heure de clôture. L’inconvénient du modèle TradeStation, c’est que les ticks de minuit deviennent encombrants. Si on les rattache à la barre de 1h, on fausse le modèle (puisque la première barre de la journée est censée commencer après minuit). Si on les rattache à la barre précédente, on respecte le modèle mais on a une barre datée du lendemain. Résultat : on les jette. Les données entre 23h59 et 0h01 dans mes fichiers sont donc purement et simplement éliminées. Ca ne devrait pas changer grand-chose, mais quand même !

La deuxième mauvaise surprise tient à la façon dont MultiCharts gère son affichage de données. Il existe trois techniques : la première ne calcule que ce dont l’utilisateur a besoin, c’est-à-dire les barres visibles et les barres nécessaires aux indicateurs. A chaque déplacement dans le temps, on recalcule les barres à afficher. L’avantage, c’est que l’utilisateur peut charger dans son graphique des historiques énormes et les visualiser sans attendre. L’inconvénient, c’est que le déplacement dans le temps n’est pas très fluide (en théorie, car avec AmiBroker, c’est imperceptible). La deuxième technique, celle de MetaTrader, est de pré-calculer toutes les barres dans toutes les unités de temps proposées. Les inconvénients sont un peu lourds, mais le résultat est là : un affichage fluide et rapide. MultiCharts, lui, utilise la troisième technique. Il calcule l’intégralité des barres lorsque vous chargez l’instrument ou que vous changez d’unité de temps. Cela se traduit par des temps d’attente inacceptables lorsque vous avez un historique un peu long. J’ai carrément renoncé à afficher un historique de dix ans sur l’une de mes machines, un portable équipé d’un processeur Core 2 Duo. En faisant plusieurs essais sur cette machine et en sortant de la plateforme sans attendre la fin de la construction des barres, j’ai fini par faire planter le cache. Au bout d’un moment, la plateforme ne voulait plus rien calculer du tout et m’afficher « No data ». Sur mon PC principal, équipé d’un i7 960, je dois attendre à peu près deux minutes pour charger mon historique de dix ans en format cinq minutes, puis une minute supplémentaire si je veux basculer en format une heure. Le logiciel est censé utiliser un cache pour minimiser cet inconvénient. Ses performances ne m’ont pas sauté aux yeux.

Espérons que la nouvelle version utilise une technique plus efficace car, pour l’instant, le seul moyen de ne pas être pénalisé en trading live, c’est d’afficher simultanément toutes les unités de temps susceptibles de servir. Ainsi on ne perd pas de temps à basculer de l’une vers l’autre.

EN RÉSUMÉ

 

Les + Les –                                             
Agréable à utiliser et plutôt intuitif Pas de trading manuel, ni de carnet d’ordres
Très personnalisable Importation de certains fichiers impossible
Nombreuses façons de représenter les données Mauvais choix technique pour l’affichage des données
Outils de dessin complets Suppression des ticks de minuit
Bon choix de fournisseurs de flux
ichesse du gestionnaire de données
Bon module d’importation   
Possibilité de créer les barres soit comme MetaTrader, soit comme TradeStation


La prochaine fois, je vous présenterai le langage de programmation des studies (les stratégies) et le fonctionnement des backtests.

Pour continuer les echanges sur le forum, c’est par ici : forum MultiCharts

Fred, alias Informatix

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>