Vous êtes sur la page 1sur 28

SOMMAIRE

Prsentation de Proscreener________________________________________1
Chapitre I : Les notions fondamentales_______________________________2
Accder Proscreener..................................................................................................2
Utiliser la fentre Palmars...........................................................................................6

Chapitre II : La programmation sur ProScreener_______________________7


Instruction de recherche et de filtre...............................................................................7
Anticipation du volume..................................................................................................9
Recherche multi-priodes.............................................................................................9
Recherche multi-valeurs.............................................................................................10

Chapitre III : Applications pratiques_________________________________12


Exemples simples.......................................................................................................12
RSI 1heure : survente..................................................................................................................12
RSI 1heure : surachat..................................................................................................................12
Croisement de moyennes mobiles haussier...............................................................................12
Croisement de moyennes mobiles baissier.................................................................................13

Exemples plus labors..............................................................................................13


RSI et retournement haussier.....................................................................................................13
RSI et retournement baissier.......................................................................................................14
Avalement haussier.....................................................................................................................14
Avalement baissier......................................................................................................................15
Triple cran haussier...................................................................................................................15
Triple cran baissier....................................................................................................................16

Glossaire_______________________________________________________17

Avertissement : ProRealTime n'exerce pas le service de Conseil en Investissement Financier. Ce


document n'est en aucun cas une offre de conseil en investissement ni une incitation quelconque
acheter ou vendre des instruments financiers. Les exemples prsents dans ce manuel sont but
pdagogique. Pour votre propre trading, vous tes entirement libre dans le choix de vos critres.
Les performances passes ne prsagent pas de l'avenir. Tout systme de trading peut vous
exposer un risque de perte suprieur votre investissement initial.

Prsentation de Proscreener

Prsentation de Proscreener
ProScreener est un outil de scan trs performant qui vous permettra de passer en revue des marchs
entiers :
la recherche des valeurs respectant une ou plusieurs conditions que vous aurez dfinies.
dans une ou plusieurs units de temps (ex : 1 minute et 1 heure)
en temps-rel ou la clture de chaque barre avec une prcision tick par tick
ProScreener intgre le langage de programmation ProBuilder (dont il vous est conseill de lire au pralable
le manuel) avec des extensions sappliquant exclusivement aux conditions de filtrage. Les recherches en
temps-rel ou clture de la barre, peuvent sappliquer aux units de temps suivantes :
1 minute
2 minutes
3 minutes
5 minutes
10 minutes
15 minutes
30 minutes
1 heure
2 heures
3 heures
4 heures
Journalier
Hebdomadaire
Les rsultats dune recherche ProScreener sont affichs par une liste des 50 meilleures valeurs (choisies
parmi les rsultats) sur la base du critre de tri dfini.
Ce document sinscrit dans le prolongement du manuel ProBuilder mais peut tre lu indpendamment.
Grce une approche thorique guide et des exemples concrets, vous acquerrez au fil de votre lecture les
bases de la programmation dindicateurs qui vous permettrons, partir des commandes spcifiques
ProScreener, de dfinir des filtres sur les diffrents marchs disponibles sur la plateforme. Vous trouverez,
la fin de ce dernier, un Glossaire qui vous donnera une vue de l'ensemble des commandes utilisables dans
ce module.
En vous souhaitant nos meilleurs vux de russite, bonne lecture !

V 4.0.0 20140916

www.prorealtime.com

1 / 25

Chapitre I : Les notions fondamentales

Chapitre I : Les notions fondamentales


Accder Proscreener
Vous pouvez accder au module ProScreener en cliquant sur "Affichage" puis "ProScreener", comme
montr ci-dessous :

Apparatra alors la fentre ProScreener, o il est possible de slectionner un code dj cr ou bien de


procder la cration dun nouveau code. Pour ce faire, cliquez sur "Gestion ProScreeners" afin daccder
la fentre de programmation, qui propose le choix entre :
la "Programmation assiste", qui permet de dfinir les conditions du critre de recherche sans
programmer (pour en savoir plus sur cette fonctionnalit, nous vous conseillons la vision de la vido,
"Crer un ProScreener sans crire une ligne de code").
la "Cration par programmation", qui permet de crer des codes plus complexes et de dfinir les
paramtres dapplication.

V 4.0.0 20140916

www.prorealtime.com

2 / 25

Chapitre I : Les notions fondamentales

La fentre de Cration par programmation se compose de 4 sections :


1. Zone de programmation
2. March dapplication
3. Priode considre
4. Tri des rsultats

Dans la premire section vous pouvez :


Programmer directement un ProScreener dans la zone de texte
Utiliser la fonction daide "Insrer Fonction", qui permet de retrouver dans une nouvelle fentre la
bibliothque des fonctions disponibles, spares en sept catgories, afin de vous aider contextuellement
lors de la programmation.

V 4.0.0 20140916

www.prorealtime.com

3 / 25

Chapitre I : Les notions fondamentales

Prenons comme exemple linstruction "SCREENER", qui permet deffectuer la recherche des conditions
(disponible dans la section "Commandes ProScreener").
Slectionnez donc le mot "SCREENER" et cliquez sur "Ajouter" : la commande sajoutera la zone de
programmation.

La commande "SCREENER" vous permet de dfinir quelle(s) condition(s) rechercher.


La dernire ligne de chaque ProScreener doit commencer par la commande "SCREENER".
Supposons que lon souhaite rechercher toutes les valeurs du SRD France dont louverture de la barre
(priode) en cours soit suprieure la clture de la barre prcdente . Nous crivons donc :
c1 = (Open > Close[1])
SCREENER[c1]

Une fois le code dfini, nous allons choisir dans la deuxime section, une liste prdfinie ou personnalise
sur laquelle effectuer la recherche.
Remarque : La recherche ne peut tre effectue que sur les valeurs dun mme march. Pour appliquer un
ProScreener une liste personnelle, il faudra veiller ce que toutes les valeurs incluses dans celle-ci
fassent partie du mme march.
V 4.0.0 20140916

www.prorealtime.com

4 / 25

Chapitre I : Les notions fondamentales

La troisime section permet de dfinir la priode utilise dans la recherche du ProScreener. En effet,
chaque cours pouvant tre visualis selon une priode diffrente, une figure repre sous une certaine vue
pourrait ne pas exister dans une autre.
La quatrime section concerne le tri des rsultats selon un critre dfini dans le code (Voir section :
"Instruction de recherche et de filtre"). Avec des conditions peu restrictives, les rsultats dun ProScreener
peuvent tre nombreux (plusieurs milliers par exemple sur le NASDAQ). Dans de tels cas, il convient de
filtrer les rsultats selon un critre au choix et dafficher :
les 50 valeurs les plus leves (du critre de tri)
les 50 valeurs les plus faibles (du critre de tri)

Par exemple : imaginons que votre programme recherche les volumes suprieurs 20000 sur les valeurs du
SRD en journalier. Le nombre de rsultats suite la recherche devrait logiquement excder 50 rsultats.
Paramtrer le critre de tri par exemple sur le % de variation des titres vous permettra dafficher parmi les
rsultats les 50 valeurs ayant les variations les plus leves ou les plus faibles.
Une fois ces 4 paramtres dfinis, cliquez sur "Excuter ProScreener" pour lancer la recherche. Si des
valeurs entrent dans vos conditions, les rsultats sont affichs dans une liste comme ci-dessous

V 4.0.0 20140916

www.prorealtime.com

5 / 25

Chapitre I : Les notions fondamentales

Utiliser la fentre Palmars


En plus du ProScreener, ProRealTime met votre disposition deux palmars. Les palmars sont des
fentres de scan en temps rel, dont les critres sont prdfinis (contrairement au ProScreneer, qui est
totalement personnalisable). Les deux fentres de palmars sont identiques et vous permettent des
recherches simultanes (exemple : variation la hausse dans une fentre, variations la baisse dans lautre
fentre).
Les critres de recherche proposs dans le Palmars appartiennent 4 catgories et permettent de dtecter :
Les variations et gaps
Les plus amples variations de pr-ouverture
Les principales figures de chandeliers
Les valeurs de Spread et de volume du carnet dordre

Afin den savoir plus sur lutilisation du Palmars, nous vous conseillons la vision de la vido " Comment
utiliser les palmars"

V 4.0.0 20140916

www.prorealtime.com

6 / 25

Chapitre II : La programmation sur ProScreener

Chapitre II : La programmation sur ProScreener


Dans ce chapitre vous seront illustres les 5 commandes ProBuilder propres au ProScreener. Vous pouvez
retrouver ces commandes galement dans la Bibliothque des fonctions, la section "Commandes
ProScreener". Nous passerons en revue :
Instruction de recherche et de filtre
Anticipation du volume
Recherche multi-priode
Recherche multi-valeur

Instruction de recherche et de filtre


La commande "SCREENER" permet de lancer la recherche. Elle est lquivalent de "RETURN" pour
ProBuilder et, comme cette dernire, peut tre suivie dune panoplie de fonctions que nous allons tudier
ensemble.
"SCREENER" sutilise de la faon suivante :

SCREENER[Condition]
Prenons un exemple :
c1 = (Close < BollingerDown[10](Close))
SCREENER[c1]

Cherchons toutes les valeurs dun march dont le prix de clture est strictement infrieur la bande de
Bollinger infrieure. Les bandes de Bollinger sont calcules sur 10 priodes et appliques au cours de clture.
Il est possible d'tendre la recherche plusieurs conditions, qui peuvent tre satisfaites au mme temps ou
alternativement. Pour ce faire, la syntaxe de ProScreener sera :

SCREENER[Condition1 AND Condition2]


ou bien

SCREENER[Condition1 OR Condition2]
Exemple :
Recherchons les valeurs dont le prix est suprieur au canal de Bollinger et qui prsentent une tendance la
hausse.
REM Clture au dessus de la Boll sup
Condition1 = (Close > BollingerUp[20](Close))
REM Clture > l'Ouverture
Condition2 = Close > Open
REM MM7 > MM23
Condition3 = (Average[7](Close) > Average[23](Close))
SCREENER[Condition1 AND Condition2 AND Condition3]

Il est galement possible de dfinir une constante ou un indicateur (prdfini ou personnalis) qui servira
la fois comme critre de filtre et de tri des rsultats. En effet :
Si plus de 50 rsultats correspondent la recherche, l'indicateur filtre les valeurs afficher. Dans ce cas, la
quatrime section de la fentre de programmation vous permet d'en dfinir l'ordre de parution (voir
description page 5).
Si moins de 50 rsultats correspondent la recherche, l'indicateur trie les rsultats sur la base de ce nouvel
indicateur
V 4.0.0 20140916

www.prorealtime.com

7 / 25

Chapitre II : La programmation sur ProScreener

La syntaxe pour utiliser une constante est :

SCREENER[c1](TypicalPrice)
Pour un indicateur prdfini, il sera ncessaire de stocker d'abord l'indicateur dans une variable (ici on
l'appellera "Criteria") :

Criteria = RSI[14](Close)
SCREENER[c1](Criteria)
Si on fait appel un indicateur personnalis, il faudra utiliser linstruction "CALL", dfinie dans le manuel
ProBuilder.

MyRSI = CALL "RSI" [14]


SCREENER[c1](MyRSI)
Exemple :
Reprons toutes les valeurs dun march dont le volume est suprieur 50000. Crons un indicateur qui
nous permet d'valuer si le RSI est en surachat ou en survente. Nous afficherons les rsultats du
ProScreener tris sur la base de ce dernier indicateur.
c1 = Volume > 50000
IF RSI[20](Close) > 70 THEN
Criteria = 1
ELSIF RSI[20](Close) < 30 THEN
Criteria = -1
ENDIF
SCREENER[c1](Criteria AS "sur-transaction")

ll est possible de ne pas utiliser les parenthses, en introduisant la commande "SORT BY" :

SCREENER[c1] SORT BY TypicalPrice


Si nous souhaitons attribuer un nom personnalis cette colonne, nous devons utiliser la fonction " AS",
comme illustr ci-dessous :

SCREENER[c1](TypicalPrice AS "typical price")


V 4.0.0 20140916

www.prorealtime.com

8 / 25

Chapitre II : La programmation sur ProScreener

Anticipation du volume
La commande "EstimatedVolume" permet davoir une estimation linaire du volume de la barre courante.
Plus prcisment, on calcule le volume estim partir de la formule suivante :
Volume_estim = Volume * Coefficient_Multiplicateur
ou
Coefficient_Multiplicateur = dure de la vue / temps coul depuis que le chandelier se dessine
Cette commande se rvle donc particulirement intressante pour comparer le volume estim au volume rel.
Regardons un exemple :
En vue 10 minutes, si l'on suppose que le dernier chandelier se dessine depuis 1 minute, le volume estim
sera gal 10 fois le volume actuel.
Cherchons calculer le rapport du volume anticip du jour sur le volume de la veille (pour avoir des rsultats
reprsentatifs, utiliser une priode intraday) :
REM Evalue le volume du jour
Vol0 = EstimatedVolume
REM Trouve le volume de la veille
Vol1 = Volume[1]
REM Critre de tri : rapport du volume anticip du jour sur le volume de la veille
SCREENER (Vol0 / Vol1 AS "Volume")

Recherche multi-priodes
Il vous est possible de dfinir une recherche qui vrifie les critres dans plusieurs units de temps. Ceci
permet de vrifier quune condition soit satisfaite par exemple dans le court et le moyen terme. La
commande adapte est "TIMEFRAME", et sa syntaxe est la suivante :

TIMEFRAME(unit de temps de la priode)


Les diffrentes units de temps disponibles se traduisent en code par :

V 4.0.0 20140916

SIGNIFICATION

CODE

1 minute

1 minute

2 minutes

2 minutes

3 minutes

3 minutes

5 minutes

5 minutes

10 minutes

10 minutes

15 minutes

15 minutes

30 minutes

30 minutes

1 heure

1 hour

2 heures

2 hours

3 heures

3 hours

4 heures

4 hours

Journalier

daily

Hebdomadaire

weekly

www.prorealtime.com

9 / 25

Chapitre II : La programmation sur ProScreener

Les instructions qui suivent la ligne "TIMEFRAME" seront recherches seulement dans la priode indique.
Il est donc possible de placer plusieurs lignes "TIMEFRAME" dans un mme code, afin deffectuer une
recherche multi-priodes.
Prenons un exemple :
On souhaite reprer toutes les valeurs d'Euronext Paris qui vrifient les critres ci-dessous :
En vue hebdomadaire, l'indicateur Williams %R 14 priodes a une valeur comprise entre 0 et -20
En vue 30 minutes, la moyenne mobile exponentielle 20 priodes vient de croiser la hausse celle
12 priodes.
Nous pourrions donc dtecter les valeurs en zone de sur-achat en hebdomadaire, mais qui prsentent
court terme une tendance baissire.
TIMEFRAME(weekly)
Condition1 = Williams[14](Close) < 0 AND Williams[14](Close) > -20
TIMEFRAME(30 minutes)
Condition2 = ExponentialAverage[20](Close) CROSSES OVER ExponentialAverage[12](Close)
SCREENER[Condition1 AND Condition2]

Recherche multi-valeurs
Nous avons pu constater qu'avec ProScreener il est ncessaire de spcifier un march (ou une liste) sur
lequel effectuer la recherche.
Linstruction "EQUITYFRAME", permet de mettre en relation le critre avec une valeur spcifique
appartenant au mme march de recherche.
Elle sutilise comme suit :

EQUITYFRAME("nom du march","ticker")
La commande permet donc de comparer des rsultats une valeur particulire, mais aussi de construire un
nouvel indicateur utilis comme condition de tri. Pour pouvoir mettre profit cette commande :
Doit faire exclusivement appel aux marchs pour lesquels on dispose du temps rel
Ne peut pas appeler les indices des principaux marchs
La valeur spcifie doit faire partie du mme march de recherche (section 2 de la fentre Proscreener)
Par exemple, si vous souhaitez afficher 50 valeurs prises au hasard du march Euronext Paris, avec comme
critre le prix de clture de la barre courante de la valeur AXA (ticker "CS") , vous crirez :
EQUITYFRAME("Actions France","CS")
MyClose = Close
SCREENER(MyClose)

V 4.0.0 20140916

www.prorealtime.com

10 / 25

Chapitre II : La programmation sur ProScreener

Les diffrents marchs correspondent la syntaxe reporte dans le tableau ci-dessous :


CODE EQUITYFRAME

NOM MARCH

CODE EQUITYFRAME

NOM MARCH

Actions & ETFs AMEX

Actions "Amex"

Actions Italie

Actions "Italie"

Actions Australie

Actions "Australie"

LSE

London Stock Exchange

Actions Espagne

Actions "Espagne"

Actions NASDAQ

Actions "Nasdaq"

Actions Amsterdam

Euronext Amsterdam

Actions NYSE

Actions "Nyse"

Actions Belgique

Euronext Bruxelles

Actions Suisse VirtX

Actions "Suisse"

Actions Portugal

Euronext Lisbonne

Actions Suisse SWX

Actions "Suisse"

Actions France

Euronext Paris

Actions Allemagne

Actions "Allemagne"

Forex 47 paires

Forex

Comme pour la commande "TIMEFRAME", tout code qui suivra "EQUITYFRAME" sera appliqu la valeur
spcifi par ce dernier. Pour revenir aux donnes du march slectionn dans l'interface ProScreener, nous
pouvons crire :

EQUITYFRAME(default)
Les deux fonctions prsentes ci-dessus sont complmentaires et lexemple suivant lillustre bien :
Si vous souhaitez afficher sur 50 valeurs prises au hasard du march Euronext Paris, lindicateur faisant la
diffrence du prix de clture de la barre courante de la valeur AXA (ticker "CS") par le prix de clture
respectif des valeurs slectionnes
REM on commence par rcuprer les informations extraire de la valeur AXA dEuronext
Paris
EQUITYFRAME("Actions France","CS")
MyClose = Close
REM on revient sur les valeurs du march slectionn dans le menu droulant "Slection de
la liste"
EQUITYFRAME(default)
REM on rcupre les informations que lon souhaite
CloseVal = MyClose - Close
REM on lance laffichage
SCREENER(CloseVal AS "MyIndicator")

Exemple : Ce screener permet de reprsenter visuellement la corrlation entre un titre et son march. On
calcule le ratio des deux valeurs slectionnes. On calcule ensuite la diffrence de ce ratio par rapport la
veille.
TIMEFRAME(daily)
CloseVal = Close
EQUITYFRAME("NASDAQ","AMZN")
CloseInd = Close
EQUITYFRAME(default)
Ratio = (CloseVal / CloseInd) * 100
ForceRelative = (Ratio - Ratio[1]) * 100
SCREENER(ForceRelative AS "Force Relative")
V 4.0.0 20140916

www.prorealtime.com

11 / 25

Chapitre III : Applications pratiques

Chapitre III : Applications pratiques


Exemples simples
RSI 1heure : survente
Le RSI est un indicateur de surachat/survente qui peut tre prcurseur dun retournement de tendance.
Nous allons ici dtecter les valeurs qui sont en survente.
La survente est dfinie par : RSI < 30. Elle est dautant plus marque que le RSI et proche de zro. Nous
allons donc construire un ProScreener qui renvoie toutes les valeurs dont le RSI est infrieur 30.
REM Calcule le RSI 14 barres
MyRSI = RSI[14]
REM Filtre : RSI < 30
Filtre = MyRSI < 30
SCREENER[Filtre](MyRSI AS "RSI")

RSI 1heure : surachat


Recherchons les valeurs en surachat (dfini par : RSI > 70). Il est dautant plus marqu que le RSI et proche
de 100. Nous allons donc construire un screener qui renvoie toutes les valeurs dont le RSI est suprieur
70.
REM Calcule le RSI 14 barres
MyRSI = RSI[14]
REM Filtre : RSI > 70
Filtre = MyRSI > 70
SCREENER[Filtre](MyRSI AS "RSI")

Croisement de moyennes mobiles haussier


Il sagit de mettre en vidence une tendance o une moyenne mobile courte croise une moyenne mobile
longue.
Nous allons construire un ProScreener qui renvoie toutes les valeurs dont la moyenne mobile 20 jours
croise la hausse la moyenne mobile 50 jours.
On calcule par ailleurs le momentum de la diffrence entre les deux moyennes mobiles afin dvaluer la
puissance du croisement. Si ce nombre est proche de zro, le croisement est lent et les deux moyennes
sont presque parallles donnant un signal peu significatif. Au contraire, plus ce nombre est lev et plus le
croisement est "dynamique". Un exemple typique est celui dune moyenne mobile plate croisant une
moyenne mobile trs nettement oriente la hausse.
REM Calcul de la moyenne mobile 20 jours
Sma20 = Average[20]
REM Calcul de la moyenne mobile 50 jours
Sma50 = Average[50]
REM Evalue la vitesse relative de la moyenne mobile courte par rapport la longue
Vitesse = Momentum(Sma50 - Sma20) * 100 / Close
REM Slectionne la valeur au moment du croisement
Filtre = Sma20 CROSSES OVER Sma50
SCREENER[Filtre](Vitesse AS "Dynamique")

V 4.0.0 20140916

www.prorealtime.com

12 / 25

Chapitre III : Applications pratiques

Croisement de moyennes mobiles baissier


Nous allons construire un ProScreener qui renvoie toutes les valeurs dont la moyenne mobile 20 jours
croise la baisse la moyenne mobile 50 jours.
On dfinit le momentum de la mme faon que sur lexemple prcdent.
REM Calcul de la moyenne mobile 20 jours
Sma20 = Average[20]
REM Calcul de la moyenne mobile 50 jours
Sma50 = Average[50]
REM Evalue la vitesse relative de la moyenne mobile courte par rapport la longue
Vitesse = Momentum(Sma20 - Sma50) * 100 / Close
REM Slectionne la valeur au moment du croisement
Filtre = Sma20 CROSSES UNDER Sma50
SCREENER[Filtre](Vitesse AS "Dynamique")

Exemples plus labors


RSI et retournement haussier
Nous vous prsentons ici un systme permettant de dtecter en temps rel les valeurs les plus susceptibles
de se retourner et damorcer un mouvement de grande envergure.
Traditionnellement les analystes sintressaient aux indicateurs de surchauffe ou aux figures de
retournement en les isolant de leur contexte (simplement parce quils ne disposaient pas des outils
techniques leur permettant de faire mieux).
Aujourdhui avec le ProScreener il ny a plus de limitation technique, nous avons donc la possibilit de
construire un vritable systme de dtection bas sur le RSI. Le point de dpart est simple : on cherche un
RSI en survente qui se retourne la hausse.
On met donc en place un filtre contenant ces deux conditions ce qui scrit en une seule ligne de code :
Filtre = RSI < 30 AND Momentum[1](RSI) > 0

Maintenant que nous avons les valeurs susceptibles de nous intresser, nous allons les classer pour mettre
en vidence les placements les plus intressants. Pour cela, on considre ceux dont la chute a t la plus
svre, comparativement la volatilit habituelle du titre.
REM Filtre les valeurs dont le RSI est en survente et en retournement
// Critre de filtrage : RSI < 30 et croissant
Filtre = RSI < 30 AND Momentum[1](RSI) > 0
REM Dtermine la "force" de la tendance baissire
REM Trouve le point le plus haut sur les 20 barres antrieures
PointHaut = highest[20](High)
REM Dtermine le dclin depuis ce point
Declin = PointHaut - Close
REM Dtermine la volatilit habituelle du titre (mdiane du True Range sur 3 barres)
Norme = summation[3](TR) - highest[3](TR) - lowest[3](TR)
Vitesse = Declin / Norme
REM Affichage des rsultats
SCREENER[Filtre](Vitesse AS "Puissance baissire")
V 4.0.0 20140916

www.prorealtime.com

13 / 25

Chapitre III : Applications pratiques

RSI et retournement baissier


Le point de dpart de ce ProScreener est la recherche dun RSI en surachat qui se retourne la baisse.
Comme prcdemment, mettons en place un filtre. Celui-ci scrit en code ProBuilder :
Filtre = RSI > 70 AND Momentum[1](RSI) < 0

De faon analogue au ProScreener prcdent, on rcuprera les valeurs dont la hausse a t la plus
marquante, comparativement la volatilit habituelle du titre.
REM Filtre les valeurs dont le RSI est en surachat et en retournement
// Critre de filtrage : RSI > 70 et dcroissant
Filtre = RSI > 70 AND Momentum[1](RSI) < 0
REM Dtermine la "force" de la tendance haussire
// Trouve le point le plus bas sur les 20 barres antrieures
PointBas = lowest[20](Low)
// Dtermine la progression des cours depuis ce point
Hausse = Close - PointBas
// Dtermine la volatilit habituelle du titre (mdiane du True Range sur 3 barres)
Norme = summation[3](TR) - highest[3](TR) - lowest[3](TR)
Vitesse = Hausse / Norme
REM Palmars de screening : les hausses relatives les plus marquantes
SCREENER[Filtre](Vitesse AS "Puissance haussiere")

Avalement haussier
Lavalement haussier est une des figures en chandeliers japonais les plus connues mais elle ncessite
videmment la prise en compte du contexte (existence dune tendance retourner).
Commenons par dfinir ce quest un avalement haussier :
Chandelier prcdent de couleur noire
Chandelier courant ouvrant en-dessous du corps du chandelier prcdent
Chandelier courant clturant au-dessus du corps du chandelier prcdent
Ces trois conditions scrivent simplement :
Filtre = Close[1] < Open[1] AND Open < Close[1] AND Close > Open[1]

Pour ce qui est de la dtection de la tendance baissire, nous reprenons le code prcdent en resserrant un
petit peu lhorizon de temps. En effet, avec le RSI 14, il tait raisonnable de sintresser la chute des cours
intervenue sur les 20 barres antrieures. Pour ce qui est des chandeliers japonais, lexprience montre que
8 barres sont suffisantes (ce sont des structures plus ractives et thoriquement limites 7 chandeliers).
REM Dtermine la "force" de la tendance baissire
// Trouve le point le plus haut sur les 8 barres antrieures
PointHaut = highest[8](High)
// Dtermine le dclin depuis ce point
Declin = PointHaut - Close
// Dtermine la volatilit habituelle du titre (mdiane du True Range sur 3 barres)
Norme = summation[3](TR) - highest[3](TR) - lowest[3](TR)
REM Critre de filtrage : avalement haussier
Filtre = Close[1] < Open[1] AND Open < Close[1] AND Close > Open[1]
Vitesse = Declin / Norme
REM Palmars de screening : les dclins relatifs les plus svres
SCREENER[Filtre](Vitesse AS "Puissance du dclin")
V 4.0.0 20140916

www.prorealtime.com

14 / 25

Chapitre III : Applications pratiques

Avalement baissier
Commenons par dfinir ce quest un avalement baissier :
Chandelier prcdent de couleur blanche
Chandelier courant ouvrant au-dessus du corps du chandelier prcdent
Chandelier courant clturant en-dessous du corps du chandelier prcdent
Ces trois conditions scrivent simplement :
Filtre = Close[1] > Open[1] AND Open > Close[1] AND Close < Open[1]

Pour ce qui est de la dtection de la tendance haussire, nous reprenons le code du RSI en retournement baissier.
REM dtermine la "force" de la tendance haussire
// Trouve le point le plus bas sur les 8 barres antrieures
PointBas = lowest[8](Low)
// Dtermine la progression des cours depuis ce point
Hausse = Close - PointBas
// Dtermine la volatilit habituelle du titre (mdiane du True Range sur 3 barres)
Norme = summation[3](TR) - highest[3](TR) - lowest[3](TR)
REM Critre de filtrage : avalement baissier
Filtre = Close[1] > Open[1] AND Open > Close[1] AND Close < Open[1]
Vitesse = Hausse / Norme
REM Palmars de screening : les hausses relatives les plus marquantes
SCREENER[Filtre](Vitesse AS "Puissance haussire")

Triple cran haussier


Ce ProScreener est compos de trois conditions sur plusieurs units de temps :
Condition 1 : MACD en vue hebdomadaire < 0
Condition 2 : MACD en vue hebdomadaire croissant
Condition 3 : Stochastic en vue journalire < 30
On cherche les valeurs plus proches du niveau de l'achat STOP prconis par le systme (dans ce cas, le
cours le plus haut de la veille).
Le ProScreener affiche les valeurs qui se trouvent encore sous ce niveau, et celles qui viennent de le
franchir et qui restent proximit (pas plus de +5%).
Les rsultats affichs respectent les conditions dans les units de temps spcifies (vue hebdomadaire et
journalire).
REM Condition 1 : MACD weekly < 0 et croissant
TIMEFRAME(weekly)
MyMACD = MACD[12,26,9](Close)
c1 = MyMACD < 0 AND MyMACD > MyMACD[1]
REM Condition 2 : Stochastic daily < 30
TIMEFRAME(daily)
MySTO = Stochastic[14,3](Close)
c2 = MySTO < 30
REM Niveau de l'achat stop
MyStop = High[1]
REM Critre : Position des cours par rapport au STOP
Criteria = (Close / MyStop - 1) * 100
REM Condition 3 : les cours sous le STOP ou moins de +5%
c3 = Criteria < 5
SCREENER[c1 AND c2 AND c3](Criteria)
V 4.0.0 20140916

www.prorealtime.com

15 / 25

Chapitre III : Applications pratiques

Triple cran baissier


Ce ProScreener est compos de trois conditions sur plusieurs units de temps :
Condition 1 : MACD en vue hebdomadaire > 0
Condition 2 : MACD en vue hebdomadaire dcroissant
Condition 3 : Stochastic en vue journalire > 70
On cherche les valeurs qui sont les plus proches du niveau de la vente STOP prconise par le systme. Ce
niveau est le cours le plus bas de la veille.
Le ProScreener affiche les valeurs qui sont encore au-dessus de ce niveau, et celles qui viennent de le
franchir et qui restent proximit (pas plus de -5%), dans le deux units de temps spcifies.
REM Condition 1 : MACD weekly > 0 et dcroissant
TIMEFRAME(weekly)
MyMACD = MACD[12,26,9](Close)
c1 = MyMACD > 0 AND MyMACD < MyMACD[1]
REM Condition 2 : Stochastic daily > 70
TIMEFRAME(daily)
MySTO = Stochastic[14,3](Close)
c2 = MySTO > 70
REM Niveau de la vente stop
MyStop = Low[1]
REM Critre : Position des cours par rapport au STOP
Criteria = (Close / MyStop - 1) * 100
REM Condition 3 : les cours au-dessus du STOP ou moins de +5%
c3 = Criteria > -5
SCREENER[c1 AND c2 AND c3](Criteria)

V 4.0.0 20140916

www.prorealtime.com

16 / 25

Glossaire

Glossaire
A
CODE

IMPLMENTATION

FONCTION

ABS

ABS(a)

Fonction Mathmatique "Valeur Absolue"

AccumDistr

AccumDistr(price)

Dsigne l'Accumulation Distribution classique

ADX

ADX[N]

Indicateur Average Directional Index

ADXR

ADXR[N]

Indicateur Average Directional Index Rate

AND

a AND b

Oprateur logique ET

AroonDown

AroonDown[P]

Dsigne l'Aroon Down

AroonUp

AroonUp[P]

Dsigne l'Aroon Up

ATAN

ATAN(a)

Fonction mathmatique "Arc tangente"

AS

RETURN x AS "ResultName"

Instruction servant nommer une courbe

Average

Average[N](price)

Moyenne Mobile Arithmtique

AverageTrueRange

AverageTrueRange[N](price)

Dsigne la moyenne mobile par lissage de


Wilder du True Range

B
CODE

IMPLMENTATION

FONCTION

BarIndex

BarIndex

Nombre de barres depuis la premire barre de


donnes charge (dans un graphique dans le
cas d'un indicateur ProBuilder ou pour un
systme de trading dans le cas d'un
ProBacktest ou ProInvest)

BollingerBandWidth

BollingerBandWidth[N](price)

Bande passante de Bollinger

BollingerDown

BollingerDown[N](price)

Support de la bande de Bollinger

BollingerUp

BollingerUp[N](price)

Rsistance de la bande de Bollinger

BREAK

(FOR...DO...BREAK...NEXT) Instruction de sortie force de boucle FOR ou


ou
WHILE
(WHILE...DO...BREAK...WEND)

V 4.0.0 20140916

www.prorealtime.com

17 / 25

Glossaire

C
CODE

IMPLMENTATION

FONCTION

CALL

myResult = CALL myFunction Appel de fonction utilisateur

CCI

CCI[N](price) ou CCI[N]

Donne le Commodity Channel Index

ChaikinOsc

ChaikinOsc[Ch1, Ch2](price)

Dsigne l'oscillateur de Chaikin

Chandle

Chandle[N](price)

Dsigne le Chande Momentum Oscillator

ChandeKrollStopUp

ChandeKrollStopUp[Pp, Qq,
X]

Stop de protection selon Chande et Kroll en


position acheteuse

ChandeKrollStopDown

ChandeKrollStopDown[Pp,
Qq, X]

Stop de protection selon Chande et Kroll en


position vendeuse

Close

Close[N]

Dsigne le prix de clture de la barre courante


ou de celle n jours auparavant

COLOURED

RETURN x
COLOURED(R,G,B)

Colorie une courbe d'une certaine couleur selon


la convention RGB

COS

COS(a)

Fonction cosinus

CROSSES OVER

a CROSSES OVER b

Oprateur boolen vrifiant qu'une courbe


passe au-dessus d'une autre

CROSSES UNDER

a CROSSES UNDER b

Oprateur boolen vrifiant qu'une courbe


passe en dessous d'une autre

cumsum

cumsum(price)

Sommation d'un prix depuis le dbut de


l'historique affich

CurrentDayOfWeek

CurrentDayOfWeek

Dsigne le jour actuel

CurrentHour

CurrentHour

Dsigne l'heure actuelle

CurrentMinute

CurrentMinute

Dsigne la minute actuelle

CurrentMonth

CurrentMonth

Dsigne le mois actuel

CurrentSecond

CurrentSecond

Dsigne la seconde actuelle

CurrentTime

CurrentTime

Dsigne HeureMinute actuelle

CurrentYear

CurrentYear

Dsigne l'anne actuelle

CustomClose

CustomClose[N]

Constante paramtrable dans la fentre de


proprits

Cycle

Cycle(price)

Indicateur Cycle

V 4.0.0 20140916

www.prorealtime.com

18 / 25

Glossaire

D
CODE

IMPLMENTATION

FONCTION

Date

Date[N]

Dsigne la date de clture de la barre courante

Day

Day[N]

Jour de clture de la barre courante

Days

Days[N]

Compteur de jours depuis 1900

DayOfWeek

DayOfWeek[N]

Dsigne le jour de la semaine durant lequel la


barre courante a clos

DClose

DClose(N)

Prix de clture de la n-ime journe antrieure


celle de la barre courante

DEMA

DEMA[N](price)

Double Moyenne Mobile Exponentielle

DHigh

DHigh(N)

Prix le plus haut de la n-ime journe antrieure


celle de la barre courante

DI

DI[N](price)

Dsigne le Demand Index

DIminus

DIminus[N](price)

Dsigne le DI-

DIplus

DIplus[N](price)

Dsigne le DI+

DLow

DLow(N)

Prix le plus bas de la n-ime journe antrieure


celle de la barre courante

DO

Voir FOR et WHILE

Instruction facultative des FOR et WHILE pour


l'action de bouclage

DOpen

DOpen(N)

Prix d'ouverture de la n-ime journe antrieure


celle de la barre courante

DOWNTO

Voir FOR

Instruction sur boucle FOR pour une lecture


dcroissante

DPO

DPO[N](price)

Dsigne le Detrented Price Oscillator

V 4.0.0 20140916

www.prorealtime.com

19 / 25

Glossaire

E
CODE

IMPLMENTATION

FONCTION

EaseOfMovement

EaseOfMovement[I]

Dsigne l'indicateur Ease of Movement

ELSE

Voir IF/THEN/ELSE/ENDIF

Instruction d'appel de la seconde condition


dfaut de la premire issue du IF

ELSEIF

Voir IF/THEN/ELSE/ENDIF

Contraction de ELSE IF

EMV

EMV[N]

Dsigne l'indicateur Ease of Movement Value

EQUITYFRAME

EQUITYFRAME("march",
"ticker")

Recherche une condition en relation avec une


valeur du meme march

ENDIF

Voir IF/THEN/ELSE/ENDIF

Instruction de clture des instructions


conditionnelles

EndPointAverage

EndPointAverage[N](price)

Moyenne Mobile dernier point

EstimatedVolume

EstimatedVolume

Indique un volume anticip

EXP

EXP(a)

Fonction Mathmatique "Exponentielle"

ExponentialAverage

ExponentialAverage[N](price)

Moyenne Mobile Exponentielle

F-G
CODE

IMPLMENTATION

FONCTION

FOR/TO/NEXT

FOR i =a TO b DO a NEXT

Prend les valeurs dsignes du dbut la fin ou


vice versa

ForceIndex

ForceIndex(price)

Indicateur Force Index dterminant qui contrle


le march

H
CODE

IMPLMENTATION

FONCTION

High

High[N]

Dsigne le plus haut cours atteint durant la


priode N

highest

highest[N](price)

Dsigne le plus haut cours sur un horizon


donn

HistoricVolatility

HistoricVolatility[N](price)

Dsigne la volatilit historique ou statistique

Hour

Hour[N]

Dsigne l'heure de clture de chaque barre

V 4.0.0 20140916

www.prorealtime.com

20 / 25

Glossaire

I-J-K
CODE

IMPLMENTATION

FONCTION

IF/THEN/ENDIF

IF a THEN b ENDIF

Ensemble d'instructions conditionnelles sans


deuxime condition

IF/THEN/ELSE/ENDIF

IF a THEN b ELSE c ENDIF

Ensemble d'instructions conditionnelles

IntradayBarIndex

IntradayBarIndex[N]

Compte le nombre de chandeliers sur le


graphique intraday

L
CODE

LinearRegression

IMPLMENTATION

LinearRegression[N](price)

LinearRegressionSlope LinearRegressionSlope[N]

FONCTION

Droite de rgression linaire


Pente de la droite de rgression linaire

(price)
LOG

LOG(a)

Fonction mathmatique "logarithme nprien"

Low

Low[N]

Dsigne le plus bas atteint durant la priode

lowest

lowest[N](price)

Dsigne le plus bas d'une priode sur un


horizon donn

M
CODE

IMPLMENTATION

FONCTION

MACD

MACD[S,L,Si](price)

Moving Average Convergence Divergence (MACD)

MACDline

MACDLine[S,L](price)

Dsigne la ligne du MACD

MassIndex

MassIndex[N]

Indicateur Mass Index appliqu sur N barres

MAX

MAX(a,b)

Fonction mathmatique "Maximum"

MedianPrice

MedianPrice

Moyenne du prix le plus haut et du plus bas

MIN

MIN(a,b)

Fonction Mathmatique "Minimum"

Minute

Minute

Dsigne la minute du moment de la clture de


chaque barre de l'historique

MOD

a MOD b

Fonction Mathmatique "Reste de la division


euclidienne"

Momentum

Momentum[I]

Momentum (prix de clture prix de clture de


la n-ime barre prcdente)

MoneyFlow

MoneyFlow[N](price)

Donne le MoneyFlow entre -1 et 1

MoneyFlowIndex

MoneyFlowIndex[N]

Dsigne le MoneyFlowIndex

Month

Month[N]

Dsigne le mois de la clture de chaque barre


de l'historique

V 4.0.0 20140916

www.prorealtime.com

21 / 25

Glossaire

N
CODE

IMPLMENTATION

FONCTION

NEXT

Voir FOR/TO/NEXT

Instruction placer la fin de la boucle "FOR"

NOT

NOT a

Oprateur logique NON

O
CODE

IMPLMENTATION

FONCTION

OBV

OBV(price)

Dsigne l' "On-Balance-Volume"

ONCE

ONCE VariableName =
VariableValue

Instruction qui en prcde une autre qu'on ne


veut raliser qu'une seule fois

Open

Open[N]

Dsigne le prix d'ouverture de la barre courante


ou celle de n jours auparavant

OR

a OR b

Oprateur logique OU

P-Q
CODE

IMPLMENTATION

FONCTION

PriceOscillator

PriceOscillator[S,L](price)

Indicateur Percertage Price oscillator

PositiveVolumeIndex

PriceVolumeIndex(price)

Dsigne l'indicateur Positive Volume Index

PVT

PVT(price)

Dsigne l'indicateur "Price Volume Trend"

R
CODE

IMPLMENTATION

FONCTION

R2

R2[N](price)

Coefficient R Carr (taux d'erreur des prix la


regression linaire)

Range

Range[N]

Diffrence entre le prix le plus haut et le plus


bas de la barre courante

REM

REM comment

Prcde une remarque dans le code

Repulse

Repulse[N](price)

Mesure la pousse haussire et baissire de


chaque bougie

RETURN

RETURN Result

Instruction qui renvoie le rsultat

ROC

ROC[N](price)

Dsigne le "Price Rate of Change"

RSI

RSI[N](price)

Dsigne l'oscillateur "Relative Strength Index"

ROUND

ROUND(a)

Fonction mathmatique "Arrondi l'unit"

V 4.0.0 20140916

www.prorealtime.com

22 / 25

Glossaire

S
CODE

IMPLMENTATION

FONCTION

SAR

SAR[At,St,Lim]

Dsigne le Parabolique SAR

SARatdmf

SARatdmf[At,St,Lim](price)

Parreil (parabolique SAR)


Dsigne le Parabolique SAR ATDMF

SCREENER

SCREENER[c](prix)

Affiche les rsultats

SIN

SIN(a)

Fonction Mathmatique "Sinus"

SGN

SGN(a)

Fonction Mathmatique "Signe de"

SMI

SMI[N,SS,DS](price)

Dsigne le Stochastic Momentum Index

SmoothedStochastic

SmoothedStochastic[N,K]
(price)

Dsigne une Stochastique lisse

SORT BY

Screener(c1) SORT BY price

Permet l'affichage ou le tri des rsultats

SQUARE

SQUARE(a)

Fonction mathmatique "Mise au carr"

SQRT

SQRT(a)

Fonction Mathmatique "Mise la racine


carre"

STD

STD[N](price)

Fonction Statistique "cart-type"

STE

STE[N](price)

Fonction Statistique "cart-erreur"

Stochastic

Stochastic[N,K](price)

Ligne %K de la Stochastique

summation

summation[N](price)

Somme d'un certain prix des N derniers


chandeliers

Supertrend

Supertrend[STF,N]

Dsigne le Super Trend

T
CODE

IMPLMENTATION

FONCTION

TAN

TAN(a)

Fonction mathmatique "Tangente"

TEMA

TEMA[N](price)

Moyenne Mobile Exponentielle Triple

THEN

Voir IF/THEN/ELSE/ENDIF

Instruction suivant la premire condition de


l'instruction "IF"

Time

Time[N]

Donne l'HeureMinuteSeconde et permet de faire


appel l'heure

TimeSeriesAverage

TimeSeriesAverage[N](price)

Moyenne mobile des sries temporelles

TIMEFRAME

TIMEFRAME(P)

Permet de travailler sur une priode diffrente


de celle par dfaut

TO

Voir FOR/TO/NEXT

Instruction "jusqu'" dans la boucle "Pour"

Today

Today

Date de la journe actuelle

TotalPrice

TotalPrice[N]

(Clture + Ouverture + Plus Haut + Plus Bas) / 4

V 4.0.0 20140916

www.prorealtime.com

23 / 25

Glossaire

TR

TR(price)

Dsigne le True Range

TriangularAverage

TriangularAverage[N](price)

Moyenne Mobile Triangulaire

TRIX

TRIX[N](price)

Triple Moyenne Mobile Exponentielle

TypicalPrice

TypicalPrice[N]

Prix Typique (moyenne de plus haut, plus bas et


clture)

U
CODE

Undefined

IMPLMENTATION

a = Undefined

FONCTION

Pour laisser une variable indfinie (Null)

V
CODE

IMPLMENTATION

FONCTION

Variation

Variation(price)

Diffrence entre la clture de la veille et la


clture courante en %

Volatility

Volatility[S, L]

Dsigne la volatilit de Chaikin

Volume

Volume[N]

Dsigne le volume

VolumeOscillator

VolumeOscillator[S,L]

Dsigne l'oscillateur de volume

VolumeROC

VolumeROC[N]

Dsigne le volume du Rate Of Change

W
CODE

IMPLMENTATION

FONCTION

WeightedAverage

WeightedAverage[N](price)

Dsigne la Moyenne Mobile Pondre

WeightedClose

WeightedClose[N]

Moyenne pondre entre le prix de clture, le


plus haut et la plus bas

WEND

Voir WHILE/DO/WEND

Instruction placer la fin de la boucle Tant


Que

WHILE/DO/WEND

WHILE (condition) DO (action) Boucle "Tant Que"


WEND

WilderAverage

WilderAverage[N](price)

Donne la moyenne mobile de Wilder

Williams

Williams[N](close)

Calcule le %R de Williams

WilliamsAccumDistr

WilliamsAccumDistr(price)

Indicateur Accumulation/Distribution de Williams

V 4.0.0 20140916

www.prorealtime.com

24 / 25

Glossaire

X
CODE

XOR

IMPLMENTATION

a XOR b

FONCTION

Oprateur logique OU exlusif

Y
CODE

IMPLMENTATION

FONCTION

Year

Year[N]

Donne l'volution des annes

Yesterday

Yesterday[N]

Donne l'volution du jour d'avant

Z
CODE

IMPLMENTATION

FONCTION

ZigZag

ZigZag[Zr](price)

Zig-Zag de la thorie des vagues d'Eliott

ZigZagPoint

ZigZagPoint[Zp](price)

Zig-Zag de la thorie des vagues d'Eliott calcul


Zp points

Autres
CODE

FONCTION

CODE

FONCTION

Oprateur d'addition

<>

Oprateur de diffrence

Oprateur de soustraction

<

Oprateur d'infriorit strict

Oprateur de multiplication

>

Oprateur de supriorit strict

Oprateur de division dcimale

<=

Oprateur d'infriorit

Oprateur d'galit

>=

Oprateur de supriorit

V 4.0.0 20140916

www.prorealtime.com

25 / 25

www.prorealtime.com