Programmer un screener pour trouver des titres en tendance haussière avec le MACD et 2 Moyennes mobiles

Nous allons construire un screener qui va sélectionner des titres qui viennent de passer en tendance haussière ou sont en continuation de tendance haussière. Ce scanner de marché est une aide à la pratique du Swing trading ou du trading de plus long terme sur les actions.
New-York City – Vue depuis la High Line – USA

Un screener va scanner le marché afin de ramener les titres les plus profitables à trader. Il effectue ce choix selon les critères que vous avez programmés.

Le screener présenté dans cet article sera une aide à la pratique du Swing trading mais il pourra aussi satisfaire les investisseurs qui pratiquent le trading de plus long terme.

Ce screener fonctionne très bien sur le marché des actions pour renvoyer des titres qui arrivent en tendance haussière ou sont en continuation de tendance haussière.
Que veut dire en continuation de tendance ?
Ces titres ont déjà basculé à la hausse et cette tendance se confirme. Elle sera manifestement de long terme.

Cliquez ici pour aller directement au code du screener.

Son efficacité

C’est un screener qui retourne beaucoup de titres quand les conditions de marché sont plutôt directionnelles donc quand il n’y a pas trop de volatilité ou au contraire pas trop de titres en range (= quasi-absence de mouvement sur un titre).
Quand le marché est moins en tendance, le screener retourne moins de titres (logique …).
Les résultats peuvent être intéressants sur Euronext Actions ou sur les actions américaines (Nasdaq…) si France Actions est atone, par exemple.

Critère de classement des titres

Les titres sont classés par ancienneté d’apparition dans le screener grâce à la colonne « Fraicheur du signal ».

La fraicheur de signal est le nombre de séances passées depuis que la valeur en question a été retenue pour la première fois par le screener
Prorealtime ne communiquera que les 50 premiers titres.
Et votre écran n’affichera peut-être de cette liste que les 30 premiers de ces 50.
Mais il y a des solutions pour accéder à l’intégralité des titres.

Art de l’affichage des résultats d’un screener qui retourne beaucoup de titres

Quand les marchés sont « en forme », c’est à dire directionnels et haussiers, ce screener peut retourner jusqu’à une centaine de titres.

Mais Prorealtime n’en affiche que 50 à la fois et votre PC ou Mac n’en affiche peut-être qu’une trentaine selon la taille de police que vous avez paramétrée dans l’espace de travail Prorealtime.
(Mon PC de test n’en affiche que 34 sur un écran)
Il n’est, certes, pas nécessaire de prendre tous les titres en considération. La fraicheur de signal la plus intéressante se situe entre 3 et 10.
Mais on peut avoir envie de regarder une belle progression que suit un titre depuis 2 mois. C’est inspirant…

Que faire dans ce cas ?

On utilise les flèches de la rubrique « critère de tri » sur l’écran de lancement.

Flèche vers le bas : on affiche les 50 premiers titres en commençant par le haut. C’est cette option qu’il faut privilégier.
Flèche vers le haut : on affiche les 50 premiers titres en commençant par le bas.
C’est ainsi qu’on peut voir l’intégralité des titres retenus par le screener.

Remarque : Si on affiche la liste avec les deux critères de tri successivement et qu’on les compare, le classement des titres ayant la même Fraicheur du signal peut être différent mais ils sont bien tous présents avec la même fraicheur.

NB : on peut comparer les deux listes avec l’option Partager > CSV. Cette option est proposée en haut de la liste affichée. Le résultat du screener est alors copié dans le presse-papier. Il n’y a plus qu’à ouvrir un fichier Excel et faire « coller » (Ctrl + v).

Iki le dragon trader du site Ikitrading

Les actions sont classées depuis celle qui vient de rentrer dans le screener (1 jour d’ancienneté) à celle qui a donné son signal il y a longtemps (jusqu’51 jours, valeur modifiable, voir plus bas).

Ce screener donne les actions qui sont en tendance haussière de long terme.
Quand on est dans un marché haussier, ce screener qui va retourner un maximum de valeurs.

L’examen dépendra de la valeur de la Fraicheur du signal.
Globalement, quand les titres remplissent les conditions du screener depuis au moins 3 jours et au plus les 10 derniers jours, on peut considérer qu’ils sont intéressants car pas encore sur-achetés.

Détail par fraicheur du signal

Fraicheur du signal à 1 ou à 2 : Grande possibilité de faux signal.
L’action a franchi un certain nombre de résistances mais elle peut ne pas confirmer cette bonne tenue les jours suivants.
Elle peut sortir du screener dès la séance du lendemain.

Fraicheur de signal de 3 à 5 jours : l’action a confirmé sa tendance. Elle devient intéressante.

Fraicheur du signal de 5 à 10 jours : Ce sont des actions encore fraiches. Elles doivent être examinées.

Fraicheur du signal de 10 à 15 jours : Un peu tard mais à considérer. On peut peut-être encore entrer en position sur un repli du titre.

Iki le dragon trader du site Ikitrading

Les conditions à remplir sont les suivantes :

Les conditions de base effectuent un premier tri.
Ne sont examinés que les titres qui remplissent les conditions suivantes au jour de lancement du screener :

Un 2ème tri est effectué dans le corps du programme sous la forme d’une boucle et la Fraicheur du signal est attribuée.
On peut dire alors qu’un titre reste dans le screener s’il rempli les conditions suivantes :

  • Le titre doit avoir clôturer chaque jour au-dessus de la MM 50.
  • Le volume des transactions doit avoir été chaque jour supérieur à 10 000 titres par séance.

Si un titre remplit les conditions, on compte le nombre de séances passées depuis qu’il a clôturé la première fois au-dessus de la MM50 avec un volume de transactions supérieur à 10 000 et on met ce nombre de séances dans Fraicheur du signal.

Sortie de la boucle (rappel : dans un screener, on explore les séances passées en revenant en arrière à partir du jour de lancement) SI :

  • Le titre a clôturé sous la Moyenne mobile 50 périodes OU
  • Le volume des transactions a été inférieur à 10000 OU
  • La valeur de la Fraicheur du signal a dépassé 51.

Discussion autour de la valeur maximum de la Fraicheur du signal

Elle est fixée à 51 pour avoir une grosse liste de titres pour la raison exposée ci-dessus : c’est parfois bon de voir l’historique du cours d’un titre depuis 2 mois. Mais quand il est haussier depuis 2 mois, il est sans doute survendu.

Remarque : ne pas confondre l’affichage de 50 titres et la valeur maxi de la fraicheur. J’ajoute cette remarque car je vois souvent des screeners programmés avec une fraicheur du signal dont la valeur maxi est égale à 50.
On peut avoir 50 titres affichés et une fraicheur comprise à l’affichage entre 1 et 10.

Dans tous les cas, vous pouvez réduire cette valeur dans le code ci-dessous en modifiant la valeur initiale de la variable FraicheurMax.

Discussion au sujet du test sur le volume

Le volume minimum de transactions est fixé à 10 000 transactions par jour et il peut être modifié dans la variable Volmini.
La place de ce test dans le programme a peu d’importance qu’il soit placé en condition de base ou dans la boucle.
J’ai fait des tests et quel que soit la place de cette condition, les résultats sont identiques.

Iki le dragon trader du site Ikitrading

Pour rentrer le code sur la plate-forme Prorealtime :

1°) Créer l’enveloppe du Screener

  • Aller sur Affichage dans la barre supérieure de commande.
  • Cliquez sur ProScreener.
  • Cliquez sur le logo « outil configuration » (la clé à molette) directement s’il est affiché à ce moment.
  • Sinon cliquez sur les 3 barres indiquant l’accès au menu et cliquez sur le logo « outil configuration ».
  • Cliquer sur « Créer ».
  • Cliquez sur « Création par programmation ».
  • Donner un titre au screener – Lui donner un nom commençant par #, plus facile pour reconnaitre vos programmes parmi ceux déjà présents.
  • Retirer les lignes pré-installées (un commentaire et l’instruction Screener).

2°) Copier / coller le code du screener ci-dessous

// Screener Trouver des titres en tendance haussière grâce au MACD et à 2 Moyennes mobiles

// Variables liées aux indicateurs
MMCourte = average[50](close)
MMLongue = average[150](close)
MyMacd = MACD[12,26,9](close)

// Variables contenant des constantes
FraicheurMax = 51
VolMini = 10000

// Variables de travail
Cond = 0
Nbj = 0

// Corps du programme
IF MyMacd > 0 AND MMCourte > MMLongue THEN
WHILE close[nbj] > MMCourte [nbj] AND nbj < FraicheurMax AND VOLUME > VolMini DO
nbj = nbj + 1
WEND

IF nbj > 0 THEN
cond = 1
ENDIF
ENDIF

SCREENER [cond] SORT BY nbj AS « Fraicheur du signal »

Nb : Attention aux guillemets autour de « Fraicheur du signal » dans l’espace d’écriture du programme si vous copiez / collez ce code.
Il ne faut pas de chevrons (guillemets français) mais des caractères double apostrophe (guillemets anglais) de part et d’autre de l’expression. Veillez à les transformer après le copier / coller.

3°) Choisir une liste de titres et exécuter le screener.

Selon les conditions de marché et son objectif personnel, on choisit une liste plus ou moins étendue de France Actions à Euronext Actions ou les actions des marchés US.

Iki le dragon trader du site Ikitrading

Diane Dulac
hellodiane@ikitrading.com

En écrivant à cette adresse email, vous pouvez : signaler une erreur, donner une piste d’amélioration de ce screener, demander des explications, me donner les résultats de vos tests, proposer une stratégie à transformer en screener ou en indicateur …

Merci d’être passé(e) par Ikitrading et bons trades !

DERNIERS ARTICLES PUBLIES

Iki au travail by Alex M.
© Tous droits réservés

Auteure
Diane Dulac
hellodiane@ikitrading.com

Inspirée par IKI
Dragon trader

Laisser un commentaire