Exemples de programmation

La section "Création par programmation" est dédiée aux utilisateurs qui souhaitent programmer eux-même leurs scans de marché. Une description détaillée des commandes est disponible dans le "Guide de Programmation ProScreener".

Même si vous n'avez jamais programmé, nous vous suggérons d'utiliser la "Création par programmation" afin d'améliorer vos scans réalisés via le mode "Création assistée". Vous trouverez ci-après quelques exemples de modifications que vous pouvez effectuer même sans savoir programmer.

Vous pouvez également consulter notre section Systèmes de trading pour importer dans votre plateforme de nombreux codes écrits par nos programmeurs ou des membres la communauté ProRealTime.

Adapter le code de votre scan aux conditions indiquées sur les barres précédentes

Information utile avant de commencer :

Ajouter des crochets à une commande vous permet d'accéder à l'information sur la barre (chandelier) précédente. Le chandelier actuel est [0], le précédent est [1] et ainsi de suite, comme montré dans l'image ci-dessous :

ProRealTime

Créons un scan de marché qui recherche les valeurs pour lesquelles la Moyenne Mobile a une tendance haussière, c'est à dire que la Moyenne Mobile sur la barre en cours a une valeur supérieure à la Moyenne Mobile sur la barre précédente. Le mode de création assistée vous permet aussi d'obtenir cette programmation. Voici le code :

Code

indicator1 = Average[20](close)
indicator2 = Average[20](close)
c1 = (indicator1 > indicator2[1])

SCREENER[c1] (Variation AS "% Prev bar")

Nous pouvons modifier notre code pour rendre nos conditions plus restrictives : nous souhaitons que la tendance haussière soit vérifiée sur les 2 dernières barres (ou périodes).

Dupliquons la ligne c1 pour créer une seconde condition appelée c2. Ensuite, nous insérons respectivement [1] après l'indicateur 1 et [2] après l'indicateur 2. Enfin, nous incluons c2 dans les crochets après SCREENER pour que notre nouvelle condition soit prise en compte. Voici le code :

Code

indicator1 = Average[20](close)
indicator2 = Average[20](close)
c1 = (indicator1 > indicator2[1])
c2 = (indicator1[1] > indicator2[2])

SCREENER[c1 AND c2] (Variation AS "% Barre prec")

Grouper plusieurs conditions en un ProScreener

Dans cette section, vous verrez comment cumuler vos différents critères de recherche avec plus de flexibilité. Par exemple, vous voulez détecter :

  • les valeurs ayant un RSI > 70 et une tendance de prix positive
  • et les valeurs ayant un RSI < 30 et une tendance de prix négative

Lorsque vous choisissez des conditions multiples en mode de création assistée, vous pouvez choisir entre "Respecte toutes les conditions" ou "Respecte au moins une condition". En revanche, vous ne pouvez pas, par exemple, choisir de rechercher simultanément 2 conditions haussières ou 2 conditions baissières. Ceci peut aisément être fait avec une petite modification dans le code.

Pour commencer, créez un ProScreener fondé sur les conditions ci-dessus et choisissez le RSI comme critère de tri. Voici le code :

Code

indicator1 = RSI[14](close)
c1 = (indicator1 > 70.0)
c2 = (close > open)
indicator2 = RSI[14](close)
c3 = (indicator2 < 30.0)
c4 = (close < open)

criteria = RSI[14](close)

SCREENER[c1 AND c2 AND c3 AND c4] (criteria AS "RSI")

Dans le code, c1 et c2 sont nos conditions haussières et c3 et c4 nos conditions baissières. Nous pouvons, sur la ligne SCREENER, les diviser en deux groupes séparés de la condition OR pour obtenir un scan de marché qui recherche nos deux conditions haussières ou nos deux conditions baissières dans le même programme. Voici le code :

Code

indicator1 = RSI[14](close)
c1 = (indicator1 > 70.0)
c2 = (close > open)
indicator2 = RSI[14](close)
c3 = (indicator2 < 30.0)
c4 = (close < open)

criteria = RSI[14](close)

SCREENER[(c1 AND c2 ) OR (c3 AND c4)] (criteria AS "RSI")

La fenêtre ProScreener affichera les résultats en utilisant la valeur du RSI comme critère de tri. Ceci vous permettra d'identifier facilement les valeurs correspondant à vos conditions haussières et celles correspondant à vos conditions baissières.

ProRealTime