Problème avec critère de tri sur fraicheur de signal

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #152924 quote
    semoi69
    Participant
    Average
    MA8 = ExponentialAverage[8](close)
    MA20 = ExponentialAverage[20](close)
    cFinal = MA8 crosses over MA20
    
    fraicheur = 10
    
    if cFinal[10] then
    fraicheur = 10
    endif
    if cFinal[9] then
    fraicheur = 9
    endif
    if cFinal[8] then
    fraicheur = 8
    endif
    if cFinal[7] then
    fraicheur = 7
    endif
    if cFinal[6] then
    fraicheur = 6
    endif
    if cFinal[5] then
    fraicheur = 5
    endif
    if cFinal[4] then
    fraicheur = 4
    endif
    if cFinal[3] then
    fraicheur = 3
    endif
    if cFinal[2] then
    fraicheur = 2
    endif
    if cFinal[1] then
    fraicheur = 1
    endif
    
    cScreener = cFinal[1] or cFinal[2] or cFinal[3] or cFinal[4] or cFinal[5] or cFinal[6] or cFinal[7] or cFinal[8] or cFinal[9] or cFinal[10]
    
    SCREENER[cScreener] (fraicheur as "Fraicheur")

    Bonjour,

    J’ai le code ci-dessus.
    Le but est d’avoir un screener des actions dont la MA8 a croisé à la hausse sa MA20, entre hier et il y a 10 jours.

    Je voudrais trier les résultats par la fraicheur du signal.
    Avec ce code, actuellement, j’ai par exemple 94 résultats, et uniquement les 50 premiers sont affichés (fraicheur de 10 à 5).
    J’aimerais plutôt voir les 50 premiers ayant une fraicheur de 1 à xx.

    En changeant l’ordre de la colonne Fraicheur dans les résultats du screener, cela me laisse les 50 même lignes (fraicheur de 5 à 10).

    En changeant l’ordre au niveau du “critère de tri” (dans la fenêtre de Gestion Proscreeners), cela ne change rien du tout.

    Merci d’avance pour votre aide

    #152935 quote
    Nicolas
    Keymaster
    Master

    Un exemple de code plus simple pour renvoyer la fraicheur d’une condition :

    MA8 = ExponentialAverage[8](close)
    MA20 = ExponentialAverage[20](close)
    cFinal = MA8 crosses over MA20
    
    if cFinal then
     startbar=barindex
    endif 
    
    maxFraicheur = 10
    
    screener[barindex-startbar<=maxFraicheur] (barindex-startbar as "Fraicheur")

    Non testé, on fait une différence entre le BARINDEX courant et celui de la condition testée (le croisement de moyenne mobile). La condition générale du screener est de ne renvoyer que les Fraicheur de 10 au maximum.

    #153011 quote
    semoi69
    Participant
    Average

    Bonjour,

    En relançant la plateforme aujourd’hui, mes valeurs étaient bien triées, avec des fraicheurs de 1 à xx.
    Bizarre qu’on doivent relancer pour prendre en compte ce changement dans l’écran…

    Merci pour ton code modifié, ça renvoie les mêmes valeurs, mais c’est beaucoup plus propre !

    J’ai juste remplacer le code de la condition par [barindexstartbar>0 and barindexstartbar<=maxFraicheur] car je veux vraiment que les signaux passés.
    Merci encore.

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

Problème avec critère de tri sur fraicheur de signal


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
semoi69 @semoi69 Participant
Summary

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

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