Bonjour à tous,
J’ai reçu récemment quelques emails « catastrophés », qui me disaient que des algorithmes de trading pour ProRealTime, lancés en trading automatique, s’arrêtaient sans raison valable.
En fait la cause était simple : la valeur « n » de la taille des position doit être un chiffre ENTIER.
Pour ceux qui n’ont pas la patience de visionner toute la vidéo, voici en résumé :
ATTENTION, la formule est différente pour un indice et pour une action.
Pour un INDICE : on compare le nombre de contrats achetés par rapport à l’évolution de son capital.
Pour une ACTION : on achète un nombre d’actions déterminé en fonction de son capital.
La formule que j’utilise pour réinvestir les gains (pour un indice via un CFD) est :
levier = 2 // optionnel capital = 10000 + strategyprofit n = (capital / 10000) * levier
Pour une action, la formule devient :
levier = 2 capital = 10000 + strategyprofit n = (capital / close) * levier
Le problème est qu’on obtient souvent un nombre « n » NON ENTIER.
Il suffit de rajouter l’instruction :
n = round(n)
Voici l’explication vidéo détaillée, avec un exemple de stratégie sur le CAC40 :
Pour ceux qui le souhaitent, voici le code complet de la stratégie avec réinvestissement des gains (s’applique sur l’indice CAC40) :
Defparam cumulateorders = false // TAILLE DES POSITIONS levier = 3 capital = 10000 + strategyprofit n = (capital / 10000) * levier n = ROUND(n) // INDICATEURS MM200 = average[200](close) MM2 = average[2](close) MM5 = average[5](close) // HAUSSE ca1 = close > MM200 ca2 = MM2 crosses under MM5 IF ca1 and ca2 THEN BUY n shares at market ENDIF IF MM2 crosses over MM5 THEN SELL at market ENDIF // BAISSE cv1 = close < MM200 cv2 = MM2 crosses over MM5 IF cv1 and cv2 THEN SELLSHORT n shares at market ENDIF IF MM2 crosses under MM5 THEN Exitshort at market ENDIF
IMPORTANT :
Je vous invite à lire l’article qui fait suite à celui-ci :