Indicateur en Screener

Forums ProRealTime forum Français Support ProScreener Indicateur en Screener

Viewing 9 posts - 1 through 9 (of 9 total)
  • #231549

    Bonjour, j’ai fait plusieurs tentatives infructueuses pour transformer cet indicateur (code ci-joint) en Screener. Quelque chose m’échappe dans la reformulation !!!

    Cet indicateur a été initialement développé par @JC_Bywan , donc si jamais tu étais dans le coin?!

    Un peu d’aide serait apprécié, merci.

     

    #231550

    Bjr,

    J’imagine qu’il y avait eu un sujet probuilder dont l’enjeu était de créer une phase de surveillance d’achat en attendant une validation pour avoir choisi ce nom de variable intermédiaire… Tout dépend du critère de sélection souhaité, l’achat validé, ou juste la surveillance qui le précède…

    Si tu veux filtrer seulement les actions où un achat est déclenché via validation, tu peux essayer avec:

    SCREENER[achat=2]

    alors que si tu veux une sélection des actions pour lesquelles il y a phase de surveillance en cours:

    SCREENER[surveillerachat=1]

    Il faudrait aussi supprimer (ou mettre en // si on veut s’en resservir plus tard) les 2 lignes signal=0 et signal1.5 qui ne servent à aucun des 2 screeners

    Et dans le cas du SCREENER[surveillerachat=1] il faudrait supprimer (ou mettre en // si on veut s’en resservir plus tard) les 2 lignes achat=…

    #231551

    Ok je tente les modifs et je te tiens au courant demain!

    Et en effet c’est la partie “Validation” qui m’intéresse tant que l”Invalidation” n’a pas eu lieu!

    Merci

    #231552

    Alors ça devrait donner:

     

    #231568

    Bonjour, bon je patauge… Une petite explication et deux images pour t’expliquer là où je veux aller. Et une ébauche du code que je n’arrive pas à faire fonctionner correctement!

    Je souhaite faire ressortir des configurations en Harami haussier et baissier(image jointe), mais comme je n’aime pas les choses simples, ils doivent être pris sur des chandeliers de 2 jours, soit une bougie = 2 séances. Comme il est impossible de screener des bougies 2 jours sur ProScreener, je passe par l’écriture du code suivant!

    Lorsque toutes les conditions sont validées, je souhaiterais que le screener me retourne une indication 2 ou -2, selon la détection haussiere ou baissiere et ce sur la close[1].

     

    #231574

    J’ai pas vérifié si ce qui est codé correspond à ce qui est écrit pour ta simulation de harami en 2d, mais un premier truc qui interpelle en lisant le code, c’est que si on suppose que ce qui s’appelait avant priceactionsignal est maintenant représenté par le groupement “e1 and e2 and e3” (resp. e4 and e5 and e6), alors attention que “not(e1 and e2 and e3)” qu’on s’attendrait à voir en ligne 37 n’est pas équivalent à ce qui a été écrit “not e1 and e2 and e3” (où le not ne s’applique qu’à e1 quand écrit ainsi), il faut des parenthèses à l’ensemble auquel on applique le “not”. De même, en ligne 53 il faudrait remplacer:  not e4 and e5 and e6  par: not(e4 and e5 and e6). Puis de là reessayer… un bug après l’autre s’il y en a plus qu’un.

    Aussi, par discipline, même quand c’est codé de sorte que ça ne gêne pas (ce qui semble être le cas ici), il vaut mieux changer de nom de variable si on réutilise qq chose pour le sens opposé (ici validation et invalidation à la fois en 35-36 et 51-52). Histoire d’éviter qu’avec des améliorations futures, on se retrouve à faire appel à l’état de l’un des 2 avant la ligne 35, ce qui résulterait en l’utilisation de leur état en version “vente” de la fin du chandelier précédent dans le cas “achat”, et créer involontairement un bug plus tard qu’on aurait pu éviter si les noms avaient été différents dès le départ.

    #231576

    J’ai simplifié le Harami et reformulé en suivant tes directives pour éviter les doublons, mais il n’y a aucun changement sur les résultats ! Photo jointe le Screener ne retourne que la colonne “Achat” et renvoie un 0, je ne comprends pas !!! J’ai l’impression que les bougies [3], [2], [1] sont à leurs places mais que le screener est en phase surveillance et pas en déclenchement d’un “Achat” ou d’une “Vente” Validée …once surveillerachat=0

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Harami haussier
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Détermine la force de la tendance baissière
    TrendH = (HIGHEST[20](HIGH) – CLOSE) / AVERAGETRUERANGE[10]
    //
    HaramiHaussier = TrendH > 0 and open[3]>close[3] and open[2]>close[2] and open[3]>open[2] and close[3]>close[2] and open[1]<=close[1] and open[1]>close[2] and close[1]<open[3]
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Harami baissier
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //Détermine la force de la tendance haussière
    TrendB = (CLOSE – LOWEST[20](LOW)) / AVERAGETRUERANGE[10]
    //
    HaramiBaissier = TrendB > 0 and open[3]<close[3] and open[2]<close[2] and open[3]<open[2] and close[3]<close[2] and open[1]>=close[1] and open[1]<close[2] and close[1]>open[3]
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Achat = 0
    Vente = 0

    // Détection Harami haussier
    IF HaramiHaussier THEN
    hautvouluH = open[3]
    basvouluH = close[2]
    SurveillerAchat = 1
    endif
    validationH = close[1]>hautvouluH
    invalidationH = -(close[1]<basvouluH)
    if SurveillerAchat = 1 and validationH and not HaramiHaussier THEN
    Achat = 2
    SurveillerAchat = 0
    elsif SurveillerAchat = 1 and InvalidationH = -1 then
    SurveillerAchat = -1

    ENDIF

    //Détection Harami baissier
    IF HaramiBaissier THEN
    basvouluB = open[3]
    hautvouluB = close[2]
    SurveillerVente = -1
    endif
    validationB = close[1]<basvouluB
    invalidationB = +(close[1]>hautvouluB)
    if SurveillerVente = -1 and validationB and not HaramiBaissier THEN
    Vente = -2
    SurveillerVente = 0
    elsif SurveillerVente = -1 and InvalidationB = 1 then
    SurveillerVente = 1

    ENDIF

    Screener[HaramiHaussier Or HaramiBaissier ](Achat as “Achat”,Vente as “Vente”)

    #231580

    j’ai modifié le code

    si tu a achat et vente j’ai des signal achat et les vente sont a zero

    si je remplace achat et vente par signal c’est ok

     

    1 user thanked author for this post.
    #231589

    @fifi743 En effet cela a l’air de fonctionner correctement, je ne comprends pas tout, mais cela retourne une information qui me semble correcte. A voir sur plusieurs séances, si il ne resterait pas un bug quelque part.

    Je reposte ici le code complet, en ayant rajouté la première ligne. Avec quelques explications, si jamais cela intéressait d’autres membres.

    J’ai intitulé ce code Harami en trois temps, mais en définitive il s’agit d’identifier une accélération du cours de bourse après la sortie d’une phase de congestion! Les bougies [3] et [2] marquent une impulsion franche du cours, puis la bougie[1] une indication de congestion au sein de la gamme de prix donné par open[3] jusqu’à la close[2], la clôture d’une bougie en dehors de cette gamme de prix(sortie de range court terme) peut donner une indication de l’évolution des cours à venir, voir définir une zone de Throwback ou Pullback pour se repositionner dans un futur proche! Cette approche ne se suffit pas à elle-même et doit être filtrée par des outils complémentaires…

    @ JC_Bywan @fifi743 merci à tous les deux pour votre aide à la résolution de ma problématique…

     

     

    1 user thanked author for this post.
Viewing 9 posts - 1 through 9 (of 9 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login