|
MultiCharts
|
Chez MultiCharts on a décidé de ne rien faire comme tout le monde.
Le simple fait de vouloir importer un nouvel indicateur ou Ea peut vite devenir un casse-tête.
Enfin, oui et non, nous allons voir qu'il existe deux manières d'importer un code dans la plateforme, une "complexe" si je puis dire et l'autre forcément plus simple.
Avant de passer à la pratique, nous allons voir une des particularités de MultiCharts … celle-ci divise ses codes en trois parties bien distinctes :
- Les signaux (écrit signal), plus communément appelés « Ea » ;
- Les fonctions, qui servent à effectuer des calculs et que l’on peut importer dans les Ea et indicateurs ;
- Et les indicateurs.
Pour les habitués de MetaTrader ceci ne devrait pas vous tourmenter, en effet nous avons pris l’habitude de trier nos outils via les dossiers « experts » et « indicators », le dossier « include », celui dans lequel nous mettons les mqh peut quant à lui être comparé aux «functions » de MultiCharts, le fichier Mqh servant d’ailleurs à « stocker » nos fonctions les plupart du temps.
En revanche, contrairement à
Mt4, ici impossible de copier/coller le fichier source dans quelconque dossier, non non, il faut l’ouvrir avec l’éditeur et ensuite le compiler avant de pouvoir utiliser vos codes.
Voyons donc la procédure à suivre.
Commencez par ouvrir MultiCharts.
Une fois cette dernière opérationnelle, allez dans :
File -> New -> Power Language Editor
Une nouvelle va faire son apparition, il s'agit de l'éditeur de code de Multicharts.
Dans le menu principal de cette fenêtre cliquez sur :
File -> Import
Une fenêtre de sélection va apparaitre elle aussi, avec elle sélectionnez le fichier .pla censé contenir votre code.
Une fois sélectionné, cliquez "OK".
Là, encore et toujours, une nouvelle fenêtre va faire son apparition.
Dans celle ci devrait s'inscrire le nom de votre code, parfois, un code travaille avec d'autre code, dans ces cas là les noms nécéssaires y seront inscris.
Veuillez à ce que la case, en bas à gauche "Compile on Import" soit cochée.

En effet, si vous ne compilez pas le code, il ne vous sera pas possible de l'utiliser.
Une fois cette étape franchie, il ne vous reste plus qu'a tester votre code dans MultiCharts.
Ceci se passe dans :
Insert -> Signal, si votre code est un Ea;
Insert -> Study, si votre code est un indicateur.
Je vous parlais plus haut d'une manière simple (et c'est là que vous allez me détester) .... il est possible d'importer un code avec un simple double clic sur le fichier .pla et de vous reporter au point de compilation du code ....
Il ne vous reste maintenant plus qu'a apprécier votre nouveau jouet :-)!
Damien Soudant pour Trading Automatique
|
|
Beaucoup de personnes ont étés agréablement surprises par les nombreuses fonctionnalités qu’offre la plateforme de trading MultiCharts.
Seulement, cette plateforme, bien que prodigieuse ne fournit pas nativement de données en direct, ce qui ne nous permet pas de tester le logiciel dans les moindres détails.
A la première utilisation, seul des graphiques en End Of Day sont disponibles, offerts par le provider FreeQuote.
Ce document a donc pour but de vous expliquer les démarches à suivre pour pouvoir utiliser la plateforme avec des données live et vous permettre ainsi d’apprécier les nombreuses surprises qu’offre cet outil.
Télécharger les plateformes.
Pour commencer, nous allons installer les deux plateformes sur nos stations de travail.
Pour télécharger MultiChart copier/coller cette adresse dans la barre de navigation de votre navigateur favori :
http://www.multicharts.com/free-trading-software/
Ce lien mène directement vers la page d’inscription pour nouvel utilisateur.
MultiChart est proposé gratuitement pendant une période d’évaluation de 30 jours.
Une fois la plateforme installée, téléchargez la plateforme d' Interactiv Broker en suivant cette adresse :
http://www.interactivebrokers.com/en/control/systemstandalone.php?os=win&ib_entity=llc
Sélectionnez ensuite le premier bouton « Install Tws ».
Il vous est possible d’avoir les données en direct via cette plateforme en flux démo, il n’est donc pas nécessaire d’avoir un compte chez ce broker pour aller au bout de ce document.
Installez la plate-forme ….. puis dites-moi quand vous êtes près !
…… On y va ?
Préparer la plateforme Interactive Broker
Une fois les outils convenablement installés, ouvrez la nouvelle plate-forme d’Interactive Broker.
Il va falloir la configurer de manière à pouvoir « exporter » les données vers MultiChart.
Une première fenêtre s’ouvre à vous, il s’agit de la fenêtre de connexion.
Il n’est pas possible d’avoir des login bien à vous, en effet Interactive Broker ne crée pas de compte démo individuel, de ce fait un seul login et mot de passe son disponibles ….. pour tout le monde.
Dans l’espace « User name » tapez : edemo.
Dans « Password » tapez : demouser.

Si vous vous êtes bien loggé un temps de chargement muni d’un joli SplashScreen apparait avant que la plate-forme ne soit complètement fonctionnelle.
Une fois la plate-forme ouverte, je vous autorise à faire le tour du propriétaire, sans trop vous attarder si possible……
Après votre découverte du logiciel, je vous invite à regarder la barre d’outils principale.
Plusieurs boutons y sont présents, seul un nous concerne ici, il s’agit du bouton « configure » … cliquez dessus :

Une nouvelle fenêtre s’ouvre, il s’agit en fait de la fenêtre d’options qui comme son nom l’indique vas nous permettre de configurer la plateforme.
Un arbre de navigation se trouve sur la gauche de cette fenêtre, nous pouvons y voir plusieurs catégories d'options, dans notre cas, une seule nous intéresse, il s'agit de la catégorie « API », cliquez dessus et sélectionnez ensuite « Setting s ».
Plusieurs options sont présentes à présent, nous nous arrêterons à la première.
– « Enable ActiveX ans Socket Clients ».
Veillez à ce que cette option soit cochée, afin de permettre la plate-forme de communiquer avec d'autre.

Après cette étape, s'en est terminé pour cette plate-forme … passons à la suivante !
Configurer MultiChart
Pour se faire, ouvrez MultiChart.
Lorsque cette dernière est opérationnelle, allez dans :
file → New → Quotes Manager Window.
Quotes Manager est un add-on (si on peu appeler ça ainsi ) qui sert exclusivement à gérer les connexions et les historiques.
Vous pouvez y importer toutes sortes de fichiers, MultiChart est très souple pour ceci, les historiques de MetaTrader par exemple ne trouvent aucune difficulté à y être intégrées.
Une fois cette fenêtre ouverte, allez dans :
Tools → Data Sources
Une fenêtre comme celle ci devrait apparaître :

Cette fenêtre permet à l’utilisateur de connecter la plate forme à son provider favoris.
En ce qui nous concerne, il s'agit donc de « Interactive Broker ».
Sélectionnez le alors dans le liste.
Vous devriez maintenant avoir cette fenêtre devant vos yeux :

Veillez à ce que toutes les cases et autres option soit identique à la configuration plus haut.
Cliquez ok.
La prochaine étape consiste à enregistrer des symbol dans MultiChart.
En effet, pour pourvoir créer des graphiques en live il faut d'abord que le symbol que vous souhaitez soit enregistré dans le Data Center.
Pour se faire, dans le menu en dessous du menu principal, sélectionnez « Interactive Broker » comme suit :

Une fenêtre (encore!) apparaît devant vous.
Dans la case Symbol tapez, pour exemple AAPL, qui est le symbol de Apple , puis cliquez sur le bouton « lookup »

Si tout va bien, une liste de symbol devrait se créer devant vous.
Sélectionnez la première, pour l'exemple, puis cliquez sur « Add ».
S'en est fini quand à la configuration de la Quote Manager, passons aux choses sérieuses …. le graphique !
Dans MultiChart, la fenêtre principale, cliquez sur :
File → New→ Chart :

Une fenêtre apparaît, cette dernière vas vous permettre de sélectionner le précédent symbol que vous avez enregistré via QuotesManager :

Dans « Data Source », sur le premier onglet, veillez à ce que ce soit « Interactive Broker » qui soit séléctionné.
Cliquez sur votre symbol puis sur OK.
Et, enfin … après de dures labeurs pour y parvenir, vous devrez avoir un graphique en live du symbol sélectionné.
Vous pouvez à présent tester la plate forme sous toutes ses coutures, programmer, tester et re tester …
Un conseil cependant, ne coupez pas la plate forme de Interactive Broker, car c'est elle qui fourni les datas en live, c'est donc en quelque sorte le cœur de votre graphique .
Pour enregistrer de nouveau symbol, il vous suffit à présent de vous reporter à la partie 2 du document « configurer MultiChart ».
Tout devrait pour le mieux à présent.
Surtout n'hésitez pas à venir discuter de vos expériences avec la plate forme, bonnes comme mauvaise, parler de programmation ou de stratégie.
Bons tests et bons trades à tous !
Damien Soudant pour Trading Automatique
|
|

Cet article fait suite au MultiCharts : Prise en main, tests et premiers retours. Pour continuer les echanges sur le forum, c'est par ici : forum MultiCharts
Du Code à Foison
MultiCharts désigne sous le nom de studies les indicateurs et les générateurs de signaux (les stratégies automatisées). On peut créer les siens ou utiliser ceux qui sont fournis par défaut. La liste des indicateurs est assez longue et on y retrouve tous les standards. Cette liste contient notablement des détections de figures de chandeliers japonais (pour les amateurs), des indicateurs adaptés aux options, des indicateurs temporels, des détections de breakouts, etc. La liste des stratégies, bien sûr, ne contient rien de miraculeux, mais au moins son contenu dépasse le simple cadre de l’exemple et peut servir de brique ou d’idée. On peut également installer des indicateurs ou des signaux commercialisés par des tiers (add-ons).

Pour appliquer un indicateur ou une stratégie sur un cours, il suffit de sélectionner le cours concerné et de choisir insert study. On peut mettre autant d’indicateurs ou de stratégies que l’on veut. L’apparence du résultat est hautement paramétrable, ce qui est incontestablement un point fort de MultiCharts. Il faut cependant avoir un œil exercé pour repérer qu’une stratégie est active dans une des fenêtres.
On peut modifier chacun des paramètres en quelques clics et le rendu se fait rapidement même sur un historique assez long. J’aurais préféré cependant une interface comme celle d’AmiBroker qui permet de modifier les paramètres avec des petites réglettes et de constater immédiatement le résultat. J’aurais aimé aussi pouvoir revenir rapidement aux valeurs par défaut.

I've got the power
Les indicateurs et les stratégies sont écrits dans un langage appelé PowerLanguage, dérivé de l’EasyLanguage de TradeStation. Ce langage est similaire à celui de ProRealTime et a été conçu au départ pour les non-informaticiens. Il dispose d'un grand nombre de fonctions et de procédures déjà écrites qui devraient satisfaire la plupart des besoins. Bien qu'il soit d'un abord simple, ne pensez pas que vous construirez en un tour de main et sans manuel une stratégie faisant appel à plusieurs flux différents et croisant des indicateurs dans différentes unités de temps. Le langage qui comprend tout seul où vous voulez en venir n’existe pas encore.
Voici un exemple de code pour un signal d’achat après un gap (le plus bas de la barre se trouve au-dessus du plus haut de la barre précédente) :
if Low > High of 1 bar ago then
Buy ( "GapUp" ) next bar at market ;
La condition peut aussi s'écrire : if Low > High[1] then
Le code s’écrit à l’aide d’un éditeur de texte qui bénéficie d’une coloration syntaxique, d'une auto-complétion de la saisie et d’une aide contextuelle. Curieusement, cet éditeur ne tolère pas les accents dans les commentaires.
Pour être utilisable, le code doit être compilé, c’est-à-dire traduit dans un langage adapté au processeur de votre machine, ce qui améliore sa vitesse d’exécution. Un clic suffit à compiler le code et à répercuter ses changements partout où il est utilisé.
Il est possible de crypter son code pour le protéger et décourager la décompilation. Vous pouvez donc partager ou vendre vos indicateurs et vos stratégies sans divulguer votre code.
Etude de cas
Pour faire mes premiers pas dans ce langage, j'ai décidé d’écrire une stratégie assez basique dont voici les règles :
- Entrée : si, à chaque barre, je suis au-dessus de la barre précédente et je suis au-dessus d’une moyenne mobile exponentielle, je rentre à l’achat (je limite mes entrées à 100) ;
- Sortie : si je suis en dessous de la moyenne mobile, je sors.
Cette stratégie ne cherche pas à prédire l’avenir avec des indicateurs compliqués, mais essaie simplement de s’adapter à la situation en cours en cumulant des achats quand la tendance est à la hausse et en vendant l’ensemble quand la tendance se renverse.
La moyenne mobile sert d'indicateur de tendance. On fixe pour l’instant sa période à 150.
// Declaration d'une moyenne mobile exponentielle
var: MM(Close);
inputs: PeriodeMM(150);
MM = XAverage(Close, PeriodeMM);
// On limite le nombre d'entrees a 100
inputs: MaxEntrees(100);
// Si cours au-dessus du precedent et au-dessus de la MM, on achete
if Close > Close[1] and Close > MM and CurrentEntries <= MaxEntrees then
Buy next bar at market;
// Si cours en dessous de la moyenne mobile, on ferme tout
if Close < MM then
Sell next bar at market;
Je compile ma stratégie et je l’insère sur les historiques d’une dizaine d’années de l’indice Dow Jones, de l’action Amazon, de la paire EUR-USD et de la paire GBP-USD. J’utilise une heure comme unité de temps pour chaque barre. Pour que ma stratégie puisse fonctionner correctement, je dois augmenter deux limites dans l’écran des propriétés : le nombre de barres à lire dans le passé pour faire les calculs (au moins 500, ce qui permettra d’avoir de la marge pour une optimisation de la période de la moyenne mobile) et le nombre maximum d’ordres qui peuvent être ouverts simultanément. Je ne fixe pour l’instant aucun
slippage, aucun frais.

Après validation, les ordres d’achat s’affichent à l’écran. Le
backtest sur l’ensemble des données n’est réellement exécuté que lorsque je demande le rapport (strategy performance report). Les résultats de la stratégie sont tous gagnants. Seule l’action Amazon présente un résultat en dessous du Buy & Hold [1]. C’est peu surprenant ; les cours des actions sont en général bien plus chaotiques que ceux des indices ou du marché des changes en UT 1H.
En parcourant les rapports, j’avoue être impressionné par leur richesse. Les statistiques foisonnent et aucun aspect de la stratégie n’est oublié.
Extraits choisis :



L’excursion adverse maximale est très utile pour fixer un niveau de stop. Elle indique jusqu’à quel niveau de perte les trades sont descendus avant de sortir. On peut voir ci-dessus que la plupart des gains ont été faits avec un drawdown inférieur à 300$. En plaçant un stop à 300$ de perte, on élimine peu de trades gagnants. En revanche, on réduit de nombreuses pertes.
Des valeurs sur mesure
Lorsqu’une stratégie a des paramètres, la tentation est toujours forte de vouloir les optimiser. On se dit que les résultats mitigés de la stratégie sont peut-être dus à un simple problème de valeurs de paramètres. MultiCharts a tout ce qu’il faut pour répondre à nos attentes. Son optimiseur fonctionne soit de façon exhaustive (il teste toutes les valeurs), soit par affinage des valeurs en fonction d’un objectif (l’application teste quelques valeurs au hasard et sélectionne les meilleures pour atteindre l’objectif, puis elle recommence en testant des valeurs proches des valeurs retenues, sélectionne à nouveau les meilleures et ainsi de suite ; cela la dispense de tester des valeurs qui ne mènent nulle part et cela lui permet d’optimiser rapidement un grand nombre de paramètres ou des larges plages de valeurs).
Pour tester cet optimiseur, je vais ajouter un paramètre à ma stratégie. Je modifie ainsi la condition principale :
// Si cours en dessous du plus haut des 50 dernieres barres et au-dessus de la MM, on achete
inputs: PeriodeHigh(50);
if Close < Highest(Close, PeriodeHigh)[1] and
Close > MM and
CurrentEntries <= MaxEntrees then
Je constate en consultant les rapports que cette nouvelle condition a grandement amélioré ma prise de position, sauf sur le titre Amazon où seul le profit net a légèrement augmenté. Concentrons-nous sur cette action et voyons où nous mène l’optimisation.
J’avais choisi jusqu’ici des valeurs un peu arbitraires. Je vais maintenant définir une valeur maximum et une valeur minimum et tester toutes les valeurs intermédiaires.

Je remarque que mon processeur i7 960 est utilisé au maximum de ses possibilités pendant l’optimisation. Je n’ai que sept minutes à attendre avant de voir le résultat s’afficher. Je note que le drawdown reste important en regard du gain, même avec les meilleures valeurs. Pour savoir si cette stratégie est vraiment utilisable avec l’action Amazon et s’il y a des valeurs à privilégier, je peux analyser visuellement les résultats avec l’outil de représentation en trois dimensions. Je n’ai qu’à cliquer sur un bouton pour obtenir un graphe :

Comme on peut le voir, certaines périodes pour la moyenne mobile (paramètre PeriodeMM) ont de bons résultats, d’autres non, et il n’y a pas de continuité. L’absence d’un plateau de valeurs et la présence de pics signifient que c’est la valeur choisie qui fait le résultat, et non la logique de la stratégie. L’utilité de la moyenne mobile est donc clairement remise en question. Par contre, on peut voir que le paramètre PeriodeHigh a des résultats croissants quand sa valeur augmente, et ceci quelle que soit la période de la moyenne mobile. Ma modification de la stratégie prouve ici sa pertinence.
La Rolls du Backtest
La grande majorité des outils de backtest ont un optimiseur, mais peu ont un outil de visualisation en trois dimensions et, encore moins, le luxe d’options offert par MultiCharts. Vous pouvez par exemple indiquer le slippage à appliquer à vos trades (très utile sur les produits peu liquides), séparer le bid et le ask pour tester avec un spread réel (à condition d’avoir un historique des deux cotations), exécuter vos ordres en intrabarre (c’est-à-dire dès qu’une condition est remplie, et pas seulement à la clôture ou à l’ouverture de chaque barre) et indiquer si vous voulez qu’un prix soit dépassé d’un certain montant pour qu’il soit considéré comme atteint (ce qui permet de simuler les problèmes de liquidité sur les pics).
L’impression générale est d’avoir affaire à une Rolls du backtest. Les outils sont complets et pratiques, les options nombreuses, le langage très riche sans être compliqué. Je déplore juste que les rapports ne soient pas automatiquement archivés et qu’il n’y ait pas un outil permettant de les comparer, comme c’est le cas dans AmiBroker, mais ce n’est qu’un souci bien mineur en regard du reste. Il me sera personnellement bien difficile de revenir à ProRealTime ou
MT4 après avoir goûté à MultiCharts.
Pour continuer les echanges sur le forum, c'est par ici : forum MultiCharts
Fred, alias Informatix
[1] Résultat obtenu en achetant au début de l’historique et en vendant à la fin.
|
|

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.

(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.

(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 :

(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
|
|
|
|
|
|