Actions qui contiennent une suite de bougies rouges

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #63572 quote
    Anthony_24100
    Participant
    New

    Bonjour,

    Grand débutant sur ProBuilder, j’essaie simplement grâce à un screener de repérer les actions qui contiennent 4 (ou plus) bougies rouges de suite.
    Je ne comprends pas pourquoi le code ci-dessous ne fonctionne pas…
    Merci par avance pour votre aide.

    Anthony

    NbreJours = 100
    
    FOR i=NbreJours TO 0 DO
    BougieClose1 = close[i+3] // N°1 en partant de la gauche
    BougieClose2 = close[i+2] // N°2 en partant de la gauche
    BougieClose3 = close[i+1] // N°3 en partant de la gauche
    BougieCloseNow = close[i] // N°4 en partant de la gauche
    IF (BougieClose1 > BougieClose2) AND (BougieClose2 > BougieClose3) AND (BougieClose3 > BougieCloseNow) THEN
    VarResult = 1
    ENDIF
    NEXT
    
    Screener[VarResult](VarResult AS "VarResult")
    #63621 quote
    Nicolas
    Keymaster
    Master

    Le problème se situe dans la boucle, dans ce code tu essaies de décrémenter NbreJours jusqu’à 0, dans ce cas il faut utiliser DOWNTO et non TO:

    NbreJours = 100
    
    FOR i=NbreJours DOWNTO 0 DO
    BougieClose1 = close[i+3] // N°1 en partant de la gauche
    BougieClose2 = close[i+2] // N°2 en partant de la gauche
    BougieClose3 = close[i+1] // N°3 en partant de la gauche
    BougieCloseNow = close[i] // N°4 en partant de la gauche
    IF (BougieClose1 > BougieClose2) AND (BougieClose2 > BougieClose3) AND (BougieClose3 > BougieCloseNow) THEN
    VarResult = 1
    ENDIF
    NEXT
    
    Screener[VarResult](VarResult AS "VarResult")

    Je n’ai pas testé le screener, mais il faut considérer que puisque on part de 100 jours dans le passé jusqu’à la barre actuelle, il est possible que le résultat renvoyé soit très ancien, puisque VarResult n’est jamais remis à zéro, ne sachant pas si cela est volontaire ou non, je te laisse le soin d’ajouter ce RAZ ou non.

    Anthony_24100 thanked this post
    #63661 quote
    Anthony_24100
    Participant
    New

    Merci Nicolas !

    Je vais tenter d’être plus attentif la prochaine fois.

    Questions d’ordre générale :

    J’ai vu dans ta formation que pour afficher le contenu d’une variable, il fallait l’afficher sous la forme d’un graph en dessous du graphique de l’action.

    Y a t’il d’autres  moyens de DEBUG ? du genre faire afficher le contenu d’une variable OU console.log() comme en javascript, etc.

    Puis-je dessiner une flèche ou une ellipse là où les bougies ont été détectées ? J’ai regardé, il faut spécifier un barIndex que je ne connais pas…
    Peut-être fallait-il que je programme d’une autre manière ?
    Merci et bonne journée
    Anthony
    #63666 quote
    Nicolas
    Keymaster
    Master

    La fonction GRAPH n’est utile qu’avec ProBacktest. Il n’y a malheureusement pas de console de debug dans ProRealTime. On ne peut rien afficher avec un screener, hormis modifier le critère de tri qui peut nous renseigner en y incluant une variable.

    Pour débugger, j’ai coutume d’utiliser un indicateur qui reprendra toutes les conditions et qui les affichera sur le graphique, comme tu souhaiterais le faire avec des éléments graphiques (ellipse, flèches, etc.). Le barindex sera différent entre ProScreener et ProBuilder toutefois car celui-ci s’incrémente à partir du premier chandelier de l’historique et ProScreener n’en inclut que 254.

    Anthony_24100 thanked this post
    #63718 quote
    Anthony_24100
    Participant
    New

    Merci Nicolas.

    J’ai modifié mon screener en indicateur.

    Je souhaite y ajouter l’affichage de flèches. Elles s’affichent bien mais sont trop nombreuses. Je souhaite juste une flèche pour chaque PIC.

    Peux-tu m’aider STP ?

    NbrePeriodes = 20
    
    FOR i=NbrePeriodes DOWNTO 0 DO
    BougieClose1 = close[i+3] // N°1 en partant de la gauche
    BougieClose2 = close[i+2] // N°2 en partant de la gauche
    BougieClose3 = close[i+1] // N°3 en partant de la gauche
    BougieCloseNow = close[i] // N°4 en partant de la gauche
    IF (BougieClose1 > BougieClose2) AND (BougieClose2 > BougieClose3) AND (BougieClose3 > BougieCloseNow) THEN
    VarResult = 1
    DRAWARROWUP(barindex,low) COLOURED(0,155,10)
    ELSE
    VarResult = 0
    ENDIF
    
    NEXT
    
    RETURN VarResult
    #63722 quote
    Nicolas
    Keymaster
    Master

    Je n’ai pas testé, mais puisque tu es dans ta boucle, il faut afficher la flèche au moment précis dans le passé où tu détectes ton signal:

    DRAWARROWUP(barindex[i],low[i]) COLOURED(0,155,10)

    Tant que VarResult=1 alors tu afficheras une flèche, il faut réfléchir à comment limiter l’information..

    #63726 quote
    Anthony_24100
    Participant
    New

    Merci Nicolas !

    Bon WE

Viewing 7 posts - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.

Actions qui contiennent une suite de bougies rouges


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
Anthony_24100 @adeg Participant
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by Anthony_24100
8 years ago.

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 02/22/2018
Status: Active
Attachments: No files
Logo Logo
Loading...