SCREENER TEST BREAKOUT

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #154428 quote
    Roland57800
    Participant
    Veteran

    Bonjour,

    J’ai repris un code existant dans la bibliothèque

    // https://www.prorealcode.com/topic/resistance/

    et j’ai rajouté les lignes de code nécessaire pour me calculer à quelle distance

    du breakout le cours de l’action se situe.

    J’obtiens qui est juste en euros, mais qui dépasse ma limite de test entre 0.98 et 1

    je joins le code

    Je n’arrive pas à comprendre pourquoi ?

    une idée, pour que je trouve

    Merci d’avance

    Cordialement

    RESISTANCE = HIGHEST[9](HIGH)
     
    
    
    IF RESISTANCE>RESISTANCE[1] AND CLOSE>RESISTANCE[1] THEN
    RES = RESISTANCE[0]
    ELSE
    RES = RESISTANCE[1]
    ENDIF
     
    
    
    
    res = ( CLOSE - resistance )
    
    if CLOSE >= 0.98  and close <1 then
    
    TOP = 1
    
    endif
    
    
    
    
    SCREENER [ top ] ( Res as"ÉCART / RES")
    

     

    ???

    #154491 quote
    Daniele Maddaluno
    Participant
    Master

    Avec cette condition “CLOSE> = 0.98 et close <1” vous vérifiez si le prix (close) est compris entre 0,98 et 1, est-ce ce que vous avez l’intention de faire?
    Si c’est le cas, écrire à la place:

    top = CLOSE >= 0.98 and close <1 // votre condition de filtre
    SCREENER [ top ] ( Res as "ÉCART / RES")

    sinon, donnez-nous plus d’informations sur ce que vous vouliez faire.
    Un accueil et une bonne soirée.

    #154523 quote
    Roland57800
    Participant
    Veteran

    Bonjour,

    merci pour la réponse. En effet, je veux la liste des actions entre – 2% et 0 du point de breakout.

    en effet, ça me paraît plus pertinent écris ainsi.

    Je vais corriger et tester les actions que me donnent la liste

    Je reviendrais pour confirmer le résultat, Je vous souhaite une agréable journée.

    Cordialement

    #154525 quote
    Roland57800
    Participant
    Veteran

    Je viens de modifier le code, et en vérifiant les résultats j’ai toujours le même problème

    en H1 j’ai une liste de 9 actions, mais le test ne correspond pas à la limite des 2%

    je prend l’exemple de OREGE qui est donné par le screener

    Clôture de vendredi soir 1.175 et BREAKOUT à venir 1.20  soit à une distance de – 2.13%

    Pour DOLFINES l’écart est de -8.81%  clôture 1.93 niveau du breakout 2.10

    Je vais y réfléchir.

    si une idée je suis preneur pour comprendre

    Cordialement

    #154526 quote
    Roland57800
    Participant
    Veteran

    Je crois avoir compris mon erreur

    en fait le screener me sort non pas  le % mais la valeur en euros

    pour DOLFINNES = -0.17 , c’est l’écart en euros et non en %

    doit manquer une conversion du résultat en %

    je vais regarder ça mais une aide est toujours acceptée

    Cordialement

    #154547 quote
    Daniele Maddaluno
    Participant
    Master

    En attendant, il est étrange que vous créiez une variable “res” et que vous ne l’utilisiez pas dans les étapes suivantes … (avec le code “IF RESISTANCE> RESISTANCE [1] AND CLOSE> RESISTANCE [1] THEN RES = RESISTANCE [0] ELSE RES = RÉSISTANCE [1] ENDIF “).

    Pour les prochaines fois, je vous suggère de procéder par étape, d’écrire d’abord l’indicateur pour probuilder, puis de l’amener au proscreener, il est plus facile de visualiser les erreurs.

    Je peux écrire un code de ce que je pense que vous aimeriez faire …
    En supposant que la variable res que vous créez (que vous avez copiée à partir de ce lien que vous avez mis dans le premier article) est votre niveau de référence:

    resistance = highest[9](high)
    
    if resistance>resistance[1] and close>resistance[1] then
      res = resistance[0]
    else
      res = resistance[1]
    endif
    
    // (close : res = x : 100) - 100
    // percentage variation from res
    perc = ( ( close*100 )/res ) - 100 
    filter = perc >= 0.98  and perc < 1
    
    screener [ filter ]( perc as "perc" )

    Je ne suis pas sûr que ce soit ce dont vous aviez besoin, mais pour passer de “a”, “b” au pourcentage de changement de “a” à “b”, tapez simplement:

    // perc = (b : a = x : 100) - 100
    // percentage variation from a to b
    perc = ( ( b*100 )/a ) - 100

    où “a” et “b” sont vos deux variables à considérer.

    #154574 quote
    Roland57800
    Participant
    Veteran

    Daniele,

    Merci je vais regarder votre code, et je vais modifier avec le code en % de vos lignes

    je fais un test mais je crois savoir d’où viens l’erreur puisque je ne convertissais pas en %, mais en

    euros

    Le code fonctionne et me donne les bons résultats par rapport à mes limites en euros

    Merci, mille fois pour votre aide

    Bonne journée

    Cordialement

    #154595 quote
    Roland57800
    Participant
    Veteran

     

    Help,

    j’ai tout essayé, je n’arrive pas à convertir en % le résultat afin que le test fonctionne correctement limité à 2%

    J’obtiens le résultat ci-dessous qui est exprimé en euros

    merci pour une aide complémentaire

    cordialement

    resultat-screener.png resultat-screener.png
    #154603 quote
    Daniele Maddaluno
    Participant
    Master

    Pardonne-moi mais je ne comprends toujours pas.
    Pouvez-vous s’il vous plaît réexpliquer, point par point:
    1) ce que votre code doit faire (et dans quelle mesure est-il correct pour le moment)
    2) comment vous souhaitez filtrer vos titres
    3) quelle valeur voulez-vous afficher pour les titres filtrés

    Si vous décrivez bien ces trois points, nous résolvons le problème immédiatement.
    L’avez-vous fait avant comme je l’ai suggéré? Autrement dit, commencez à écrire un code fonctionnel dans probuilder avant de le transformer en filtre sur le proscreener.

    #154607 quote
    Roland57800
    Participant
    Veteran

    Merci pour la réponse

    J’ai effectivement recopié votre code.

    Voilà ce que je veux en prenant les éléments de départ du screener

    Je veux une liste qui  me donne les actions à 2% maxi du BREAKOUT

    Exemple à vendredi sur DOLFINNES

    Le BREAKOUT avec le code situe à 2.10 et le cours de clôture est de 1.93

    Sur mon image cette valeur ressort à 0.17  mais ce montant est exprimé en euros soit 2.10 – 1.93  = 0.17 soit 8.83% du BREAKOUT

    Donc avec ma liste          >= .98 il ne devrait pas sortir sur ma liste.

    En fait la ligne dans mon code,

    RES = (CLOSE – résistance ) me donne le résultat qu’il faut convertir % pour que le screener puisse ne pas en tenir compte puisqu’il représente 8%

    supérieur à la limite de 2% que je fixe.

    en espérant que mes explications sont claires.

    Merci

    #154661 quote
    Daniele Maddaluno
    Participant
    Master

    Désolé, je n’ai toujours pas assez d’informations pour vous amener à coder.
    Pour le moment, je ne peux que vous suggérer de prendre le code et d’essayer de l’écrire d’abord avec le probuilder, et “return” valeurs clés …
    Une fois que cela fonctionne, il sera très facile de le transformer en proscreener.
    Assurez-vous que “filtre” est défini sur 1 lorsque vous souhaitez que le titre soit visible, 0 sinon.

    resistance = highest[9](high)
    
    if resistance>resistance[1] and close>resistance[1] then
      res = resistance[0]
    else
      res = resistance[1]
    endif
    
    // (close : res = x : 100) - 100
    // percentage variation from res
    perc = ( ( close*100 )/res ) - 100
    diffVal1 = ( close - res )
    diffVal2 = ( close - resistance )
    
    filter = perc >= 0.98  and perc < 1.00 // like this filter is +1 when the variation from the res is between +0.98% and 1.00%
    
    return perc as "perc", diffVal1 as "diffVal1", diffVal2 as "diffVal2", filter as "filter"
    // screener [ filter ]( xyz as "xyz" ) // replace xyz with perc/diffVal1/diffVal2 or whatever you want

    À bientôt!

    #154688 quote
    Roland57800
    Participant
    Veteran

    Bonjour,

    Désolé j’ai repris votre code mais ça ne fonctionne pas.

    Je n’obtiens aucun résultat.

    Je vais reformuler ma demande plus clairement

    #154690 quote
    Roland57800
    Participant
    Veteran

    Ma nouvelle demande

    J’utilise le code ci-dessous que j’ai repris dans la bibliothèque de PRT ( voir le lien au début de mon message )

    Ce code fonctionne parfaitement sur le Graphique

    Il m’affiche correctement le niveau de breakout

    RESISTANCE = HIGHEST[9](HIGH)
     
    res = highest[max(1,barindex)](close)
    
    IF RESISTANCE>RESISTANCE[1] AND CLOSE>RESISTANCE[1] THEN
    RES = RESISTANCE[0]
    ELSE
    RES = RESISTANCE[1]
    ENDIF
     
    
    
    
    
    
    RETURN RES

    Ce que je recherche à partir de ce code, c’est de créer un screener qui me donne toutes les actions qui

    entre -2% et le niveau du breakout

    RESISTANCE = HIGHEST[9](HIGH)
     
    
    
    IF RESISTANCE>RESISTANCE[1] AND CLOSE>RESISTANCE[1] THEN
    RES = RESISTANCE[0]
    ELSE
    RES = RESISTANCE[1]
    ENDIF
     
    
    
    
    RES = ((  resistance*100 / CLOSE*100) /100 ) - 100
    
    IF CLOSE >= 0.98  and CLOSE <1 THEN
    
    TOP = CLOSE >= 0.98 and CLOSE < 1
    
    ENDIF
    
    
    
    
    SCREENER [ TOP ] ( RES as"ECART / RES")
    
    
    

    Donc suite à cela, le test n’est pas correct puisque le screener me donne des valeurs

    dont l’écart entre le breakout et la close est supérieure à 2% alors que je veux limiter la liste

    aux valeurs qui sont maxi à 2% du breakout.

    En espèrant que ma formulation est plus claire

    Merci

    Cordialement

    #154703 quote
    Daniele Maddaluno
    Participant
    Master

    “entre -2%” voulez-vous dire une variation entre 0 et -2% par rapport au niveau res (de votre indicateur)?
    Vous remplacez la valeur de res dans votre code.
    “res = highest[max(1,barindex)](close)” cette ligne n’a aucun sens … vous la remplacez dans le prochain “ifelse”.

    Sur le probuilder, vous pouvez imprimer la distance en pourcentage de votre résistance comme ceci:

    resistance = highest[9](high)
    
    if resistance>resistance[1] and close>resistance[1] then
      res = resistance[0]
    else
      res = resistance[1]
    endif
    
    
    // percentage variation from res
    perc = ( ( close*100 )/res ) - 100
    
    return perc

    Si cette valeur de pourcentage est correcte et que vous ne voulez que des titres à une distance comprise entre 0% et -2% de res vous pouvez écrire le proscreener comme ceci:

    resistance = highest[9](high)
    
    if resistance>resistance[1] and close>resistance[1] then
      res = resistance[0]
    else
      res = resistance[1]
    endif
    
    // percentage variation from res
    perc = ( ( close*100 )/res ) - 100
    
    filter = perc <= 0  and perc >= -2 // between 0% and -2% from res
    screener [ filter ]( perc as "Perc distance from res" )
    #154726 quote
    Roland57800
    Participant
    Veteran

    C’est parfait,

    je viens de vérifier tous les résultats du screener.

    Mille  mercis d’avoir passé du temps pour faire avancer mon idée et de m’avoir aidé à comprendre mon erreur.

    J’en profite pour vous souhaiter de bonnes fêtes de fin d’année

    Cordialement

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

SCREENER TEST BREAKOUT


ProScreener : Scanners de Marché & Détection

New Reply
Author
Summary

This topic contains 15 replies,
has 2 voices, and was last updated by Daniele Maddaluno
5 years, 2 months ago.

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 12/19/2020
Status: Active
Attachments: 1 files
Logo Logo
Loading...