Bonjour,
Cela fait maintenant plusieurs mois que j’utilise un algorithme de trading automatique et je n’avait jamais eu de problème avec lui.
Mais vendredi dernier, pour une raison que j’ignore encore, il s’est brutalement arrêté.
ProRealTime m’indique alors un message : “Le système a été arrêté car les données historiques chargées sont insuffisantes pour calculer au moins un indicateur. Pour éviter cela, essayez de modifier le nombre le nombre de chandelier préchargés à l’aide de l’instruction DEFPARAM (exemple : DEFPARAM PRELOADBARS = 10000)”
Sur le coup, j’ai trouvé ce message très bizarre, parce que ça fait des mois que cet algorithme fonctionne et que s’il y avait un problème avec DEFPARAM PRELOADBARS, l’algorithme se serait arrêté bien plus tôt.
Mon algorithme divise la journée en 6 plages horaires de 8h à 18h, il utilise plusieurs indicateurs mais celui qui à le plus besoin d’historique c’est EXPONENTIALAVERAGE :
DEFPARAM PRELOADBARS = 3000
IF PLAGEHORAIRE1 THEN //L'algorithme fonctionne
Condition1 = CLOSE < EXPONENTIALAVERAGE[800](CLOSE)
...
ENDIF
IF PLAGEHORAIRE2 THEN //L'algorithme s'arrête
Condition1 = CLOSE < EXPONENTIALAVERAGE[2500](CLOSE)
...
ENDIF
IF PLAGEHORAIRE3 THEN //L'algorithme fonctionne
Condition1 = CLOSE < EXPONENTIALAVERAGE[1100](CLOSE)
...
ENDIF
IF PLAGEHORAIRE4 THEN //L'algorithme fonctionne
Condition1 = CLOSE < EXPONENTIALAVERAGE[800](CLOSE)
...
ENDIF
IF PLAGEHORAIRE5 THEN //L'algorithme fonctionne
Condition1 = CLOSE < EXPONENTIALAVERAGE[1100](CLOSE)
...
ENDIF
IF PLAGEHORAIRE6 THEN //L'algorithme s'arrête
Condition1 = CLOSE < EXPONENTIALAVERAGE[2600](CLOSE)
...
ENDIF
On peut ainsi voir que l’algorithme s’arrête lorsque EXPONENTIALAVERAGE à de grosses valeurs et fonctionne lorsqu’il a des valeurs plus petites. Je n’ai pas testé toutes les valeurs intermédiaires pour voir à partir de quelle valeur précise l’algorithme s’arrête de fonctionner. Je n’ai mis ici que les valeurs de base qui sont dans mon algorithme depuis plusieurs mois et que je n’ai jamais modifié entre temps.
Je ne sais vraiment pas d’où le problème peut provenir, aujourd’hui j’ai essayé de mettre DEFPARAM PRELOADBARS à 10000 comme suggéré par le message d’erreur mais ça n’a rien changé. A noté que l’algorithme ne trade que sur le mini DAX (future) et qu’il y a eu un rollover juste avant vendredi dernier (le jour où les problèmes ont commencé) du coup peut être que c’est une piste ou alors juste une coïncidence.
Quel est le timeframe svp ? Est-ce qu’un ticket au support technique a été envoyé ?
Le timeframe c’est du 15 minutes.
Pour faire un ticket au support c’est via la plateforme directement ou sur le site de ProRealTime ?
Je vais le faire via la plateforme pour l’instant.
via la plateforme en effet.
Retour sur ce sujet. Il y a bien en effet un manque d’historique, si l’instrument vient de subir un roulement d’échéance, l’historique réel démarre à peine, donc impossible de calculer une EMA sur plusieurs milliers de bougies.
Je pense que tu auras la même réponse par le biais du support technique, tu pourras nous en faire un retour 😉
En effet, vous avez raison, j’ai eu cette réponse du support ProRealTime :
“Pour faire suite à votre demande, veuillez noter que votre système s’arrête parce que la stratégie est lancé sur l’échéance courante du futur et non pas sur le futur roulé, de ce fait, il y a beaucoup moins d’historique disponible.
Une fois l’échéance devenue principale , l’historique s’étoffe bien plus vite.
Le problème se reproduira tous les 3 mois à chaque roulement, il faudra donc penser à relancer la stratégie sur la bonne échéance.”
C’est quand même dommage que l’algorithme se lance uniquement sur l’échéance courante du futur. Sur mon graphique (mini DAX Fullxxxx) toutes les échéances se succèdent sans interruption ainsi il n’y a jamais de manque d’historique pour mes indicateurs.
En effet, ça fonctionne de cette manière en paper trading. Lorsque le trading automatique en temps réel sera rendu possible sur les produits Futures, on devra penser à rendre cela possible !
Effectivement, je vous serais vraiment très reconnaissant si vous arriviez à faire remonter l’information à ProRealTime.
Malheureusement pour moi, il m’est actuellement impossible de contourner le problème, je suis donc contraint de prendre à la main les trades que devraient normalement prendre mon algorithme et ce pendant quelques semaines (peut être même un mois), le temps que l’historique s’étoffe sur la nouvelle échéance et que je puisse ainsi relancer le programme sans qu’il s’arrête.
Si je n’arrive pas a trouver une solution, je devrais faire ça tous les 3 mois à chaque nouvelle échéance, je perds donc pas mal des avantages offerts par le trading automatique.
Je comprends, mais ça reste pour le moment que du trading simulé, donc l’impact est bien moins important 🙂
Oui, j’espère juste que quand le trading automatique va arriver sur les futures en réel, il n’y ait pas le mêmes problème qu’en démo. Pour moi, le trading automatique en réel sera à l’image du trading automatique en démo, du coup j’estime qu’il y a une forte chance que s’il y a déjà un problème sur le trading automatique en démo, on le retrouvera sur le trading automatique en réel. J’espère me tromper là-dessus.