Lancement d’une stratégie en automatique : FAQ

Bonjour à tous,

 

J’ai régulièrement des demandes d’aide, concernant le lancement de stratégies en automatique.

Personnellement, je n’ai aucun problème avec l’exécution de mes stratégies. Mais certains de mes interlocuteurs m’ont fait part de quelques problèmes assez récurrents.

Je vais donc vous donner quelques pistes.

 

Attention, quelques remarques avant de commencer : 

  • je ne parle ici que du logiciel ProRealTime, le seul que j’utilise pour les stratégies algorithmiques en automatique
  • je ne suis pas responsable des éventuels dysfonctionnements de ProRealTime, ou des erreurs de backtests, etc
  • je ne cherche pas à faire de publicité, ni ne touche de commission sur le nombre d’utilisateurs de ce logiciel
  • je constate que je n’ai pas ces problèmes, pour beaucoup d’entre eux. Je pense que c’est parce que j’ai ouvert mon compte ProRealTime CFD il y a longtemps, tandis que les nouveaux utilisateurs ouvrent des « comptes à risque limité« .

 

 

Taille des positons dans le code

Vous devez définir un nombre  » n  » de positions, qui soit un nombre ENTIER.

Si vous n’utilisez pas une commande pour arrondir ce nombre  » n  » à l’unité (par exemple  » n = round(n) « , et que ce nombre  » n  » n’est pas entier, alors l’algorithme refusera de se lancer.

 

Taille maximale des positions 

Avant de lancer une stratégie en automatique, il vous est demandé, par sécurité, de définir une taille maximale de positions.
Mettez donc un nombre suffisamment important pour que cette taille ne soit pas atteinte.
En effet, si par exemple votre algorithme prévoir de lancer  » n = 10 shares  » et que vous définissez une taille maximale à 5 contrats, l’algorithme refusera de se lancer.

 

Gains minimes sur le backtest

J’ai constaté cela sur le compte de deux utilisateurs : des gains ridicules de quelques euros, au lieu de plusieurs centaines d’euros. Pourtant, j’ai vérifié et revérifié le backtest : tout était en ordre.

Apparemment la réponse m’est venue d’un des utilisateurs : son compte ProRealTime n’avait pas encore été validé. Le problème a été résolu une fois que son compte a été validé.

 

Distance au stop loss

Je n’ai pas à renseigner cette distance. Je pense que c’est parce que mon compte n’est pas un « compte à risque limité« .
Si vous devez renseigner cette information, mettez donc une distance suffisamment importante pour qu’elle ne soit pas touchée. Mais évidemment, à condition que votre algorithme ait clairement établi des règles d’entrée et de sortie (pour éviter d’éventuelles pertes énormes).

 

Ordres non exécutés

Bien que l’algorithme fonctionne en automatique, il est parfois constaté une succession d’ordres non exécutés. Ce fut le cas notamment pour l’algorithme  » Swing DAX M15 « . J’ai fini par comprendre ce qui va suivre.

Examinons la structure suivante : 

 

Defparam cumulateorders = false

IF... THEN
BUY at market
ENDIF

set stop %loss 1
set target %profit 2

 

En ce cas, vous aurez de multiples ordres rejetés.

Pourquoi ?

Parce que si vous n’êtes pas en position, les ordres de stop loss et de take profit seront quand même pris en compte par l’algorithme lancé en automatique, alors qu’il n’y a pas de position.
Vous aurez donc des messages d’erreur, tandis que l’algorithme fonctionne quand même.

 

Alors, que faut-il écrire ?

Tout simplement :

Defparam cumulateorders = false

IF... THEN
BUY at market
set stop %loss 1
set target %profit 2
ENDIF

Ou bien peut-être (je n’ai pas vérifié) :

Defparam cumulateorders = false

IF... THEN
BUY at market
ENDIF

IF onmarket THEN
set stop %loss 1
set target %profit 2
ENDIF

 

Modification de position en cours

Si une position est lancée en automatique, et si vous la modifiez d’un iota :

  • ajout / suppression d’un stop ou d’une limite
  • clôture d’une positon en cours, même partielle

alors aussitôt l’algorithme lancé en automatique cessera d’être exécuté. Il vous faudra le relancer manuellement.

 

Date limite de validité

Lorsque vous lancez une stratégie en automatique, celle-ci est soumise à une date de validité.

Il vous faut donc régulièrement surveiller cette date, pour l’étendre manuellement. Un simple clic suffit.
Ceci est une précaution indispensable pour éviter de se faire ruiner à bas bruit, à notre insu…

 

Autres

Il y aura sans doute d’autres éléments à venir…

En attendant, j’espère vous avoir bien aidé.

 

 

Share Button