Problème avec IntradayBarIndex ?

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

    Bonjour,

    Pour mon screener, je cherche à récupérer le prix le plus haut du jour ainsi que le n° de la barre en question.

    Je viens de le tester sur l’action GAUSSIN et il me donne une valeur pour HighestValue (==> 0.49800) que je ne retrouve pas dans les graphiques.

    Pourriez-vous m’aider à comprendre d’où vient le problème ?

    Merci d’avance,

    NbreDeBarres = IntradayBarIndex
    
    c0 = volume > 1000
    
    // Je cherche le prix le + haut depuis l'ouverture de marché
    HighestBarIndex = 0
    FOR i = NbreDeBarres DOWNTO 0 DO
    IF ((high[i] > HighestValue)) THEN
    HighestValue = high[i]
    ENDIF
    HighestBarIndex = HighestBarIndex + 1 // Comme je ne peux pas récupérer la valeur de 'i'
    NEXT
    
    screener [c0] SORT BY (HighestValue)

    Merci d’avance

    Anthony

    #64893 quote
    Nicolas
    Keymaster
    Master

    Pourquoi ne pas utiliser Dhigh(0) ? Ou alors tu voudrais connaître le moment précis ou le High du jour a eu lieu ? Si oui, il faudra faire avec la limitation des 255 barres, tout dépend du timeframe, mais au delà de 255, tu ne pourras pas aller plus loin en arrière.

    Tu peux récupérer la valeur de “i” dans ta boucle, mais ta variable “HighestBarIndex”, je ne vois pas à quoi elle sert, puisque tu l’incrémentes même si tu n’as pas trouver que le high de la boucle est bien le plus haut. Tu devrais faire comme ceci :

    NbreDeBarres = IntradayBarIndex
    
    c0 = volume > 1000
    
    // Je cherche le prix le + haut depuis l'ouverture de marché
    HighestBarIndex = 0
    FOR i = NbreDeBarres DOWNTO 0 DO
     IF ((high[i] > HighestValue)) THEN
      HighestValue = high[i]
      HighestBarIndex = i
     ENDIF 
    NEXT
    
    screener [c0] SORT BY (HighestValue)

    Mais cette variable n’étant pas utilisé ailleurs (?), tu auras une erreur sur sa “non utilisation”..

    #64895 quote
    Anthony_24100
    Participant
    New

    Bonjour Nicolas et merci pour te réponse.

    En fait, je l’utilise en le matin et en unité de temps “1 minute”. Je me suis donc dit qu’il faut que je l’utilise dans les 254 premières minutes de la journée pour que ça marche. Tu es d’accord ?

    Concernant le ‘i’ à récupérer, j’avais déjà essayé ce code ci-desosus pour l’afficher, mais j’ai un ‘0’ (zéro) à l’affichage. J’ai donc conclu que je ne pouvais pas le récupérer. J’ai tort ?

     

    // Unité de temps : 1 minute
    
    NbreDeBarres = IntradayBarIndex
     
    c0 = volume > 1000
     
    // Je cherche le prix le + haut depuis l'ouverture de marché
    HighestBarIndex = 0
    FOR i = NbreDeBarres DOWNTO 0 DO
    IF ((high[i] > HighestValue)) THEN
    HighestValue = high[i]
    HighestBarIndex = i
    ENDIF
    NEXT
     
    screener [c0] SORT BY (HighestBarIndex)

    Merci de ton aide.

    #64896 quote
    Nicolas
    Keymaster
    Master

    Pour une raison que j’ignore, si on test uniquement en strictement supérieur, le screener retourne systématiquement 0, alors qu’il fonctionnera si on test le High[i] en strictement supérieur ou égal, voir le code:

    // Unité de temps : 1 minute
    
    NbreDeBarres = IntradayBarIndex
     
    c0 = volume > 1000
     
    // Je cherche le prix le + haut depuis l'ouverture de marché
    HighestBarIndex = 0
    FOR i = 0 to NbreDeBarres DO
    IF high[i] >= HighestValue THEN
    HighestValue = high[i]
    HighestBarIndex = i
    ENDIF
    NEXT
     
    screener [c0] (HighestBarIndex)
    #64897 quote
    Nicolas
    Keymaster
    Master

    En déclarant HighestValue à 0 avant la boucle, le symbole égal n’est pas nécessaire. J’en conclut donc que dans la boucle, à la première itération, ProScreener ne sait pas qu’il vaut 0 puisque jamais renseigné..

    // Unité de temps : 1 minute
    
    NbreDeBarres = IntradayBarIndex
     
    c0 = volume > 1000
     
    // Je cherche le prix le + haut depuis l'ouverture de marché
    HighestBarIndex = 0
    highestvalue=0
    FOR i = NbreDeBarres downto 0 DO
    IF high[i] > HighestValue THEN
    HighestValue = high[i]
    HighestBarIndex = i
    ENDIF
    NEXT
     
    screener [c0] (HighestBarIndex)
    Anthony_24100 thanked this post
    #64906 quote
    Anthony_24100
    Participant
    New

    Merci Nicolas !

    #68819 quote
    Nicolas
    Keymaster
    Master

    Pour info, ce problème va être traité dans un prochain update.

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

Problème avec IntradayBarIndex ?


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 Nicolas
7 years, 10 months ago.

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