Détermination de l'index de certaines bougies

Forums ProRealTime forum Français Support ProBuilder Détermination de l'index de certaines bougies

Viewing 10 posts - 1 through 10 (of 10 total)
  • #39718

    Bonjour Nicolas,

    Tout d’abord, je me suis aperçu  assez récemment que le site proposait une traduction instantanée en diverses langues. Alors bravo pour cette amélioration. Mes mimines se fatigueront moins en évitant tout un tas de “control C et control V” et on gagne un temps fou à suivre les forums autres que ceux en français.

    Ensuite, je vous soumets deux bouts de code qui me laissent perplexe et depuis un bout de temps. Ils sont censés faire la même chose, c’est à dire déterminer les index des plus hauts et des plus bas de n périodes.

    Sauf que celui intitulé “RangH et RangL” calcule apparemment par boucle itérative correctement ces index. Mais il comporte un gros inconvénient : il est très long à s’exécuter (à cause des boucles donc) déjà comme indicateur et puis incorporé à un screener et ce d’autant plus qu’il doit être complété par la détermination d’un certain nombre d’autres index de bougies.

    Le bout de code “Rang H et L Barindex” est en accord sur les dernières bougies (36 périodes environ) avec le code précédent et dans les périodes plus anciennes, il ne détermine correctement les index que sur les plus bas.

    QUESTIONS

    1- Pouvez-vous m’éclairer en me donnant les raisons de ces distorsions ?

    2- Y aurait-il une autre méthode de calcul d’une succession d’index de bougies ?

     

    Par avance MERCI

     

     

     

     

     

    #39719

    Désolé, j’ai oublié de préciser que mon test des 2  bouts de code  porte sur l’action CRME Cardiome pharma   Nasdaq.

    Je pense que sur d’autres actions d’autres marchés on observera les mêmes distorsions (à moins que ce soit un coup des américains !!!)

    #39766

    Le problème vient de ton premier code. Pour trouver le barindex que tu cherches, tu utilises une incrémentation “perso” entre 0 et 200, hors le barindex que tu trouveras sera nécessairement compris entre ces 2 bornes, ce qui n’est pas forcément le cas de la vrai valeur du barindex dans l’historique (il pourrait être bien supérieur).

    Si j’ai bien compris ce  que tu cherches à faire, tu devrais plutôt enregistrer le barindex de l’itération de ta boucle lorsque tu as trouvé que le High[i] = highest[200](high), comme dans ce code:

    J’ai aussi allégé un peu le code pour les calculs. Je pense qu’on pourrait aussi faire mieux avec une seule boucle. Les boucles, c’est l’un des sujets principaux de la nouvelle formation sur la programmation prorealtime (niveau avancée). Une fois qu’on maîtrise les boucles, on peut vraiment faire presque tout ce que l’on souhaite 😉

    J’ai peut être mal interprété ta question, merci de m’indiquer si tout est ok 🙂

    #40280

    Bonjour Nicolas,

    Tout d’abord Merci pour tes rectifications. J’ai tardé à te répondre car j’ai essayé, sans succès, de ne faire qu’une seule boucle.

    Ceci dit, ce petit bout de code incorporé dans un screener est beaucoup plus rapide que celui que j’avais initialement commis alors que pour l’indicateur “es igual”.

    Par ailleurs, j’ai modifié le code de manière à obtenir par simple différence d’index ce que j’appelle le rang de la bougie déterminé à partir la dernière bougie. Mon but, en fait, est de déterminer à partir du highest200 le plus bas. Et là, le système n’aime pas du tout. Il produit une erreur “un paramètre de type entier positif est attendu avec lowest”. Pourtant Rangh1 contient bien un entier positif.

    Alors pourquoi cette erreur ?

    Dois-je abandonner cette piste ?

    Je joins 2 images.

    Merci anticipé.

    Ruddy

    #40283

    Tu dois sans doute faire une soustraction qui résulte à une période égale ou inférieure à 0. Sans ton code, je vais avoir du mal à t’aider davantage.

    #40388

    J’étais persuadé de l’avoir joint par la méthode habituelle. Donc, au temps pour moi !

    Toutefois, ce code donne des résultats identiques à ceux du premier indicateur  que je t’ai soumis. Lequel indicateur développé un peu plus donnait exactement la même erreur.

    Dès que je peux, je te fais passer le code.

    Merci d’avance.

    Ruddy

    #40569

    Bonjour Nicolas,

    Voici le code manquant.

    A bientôt.

     

    #40958

    Voilà le code corrigé, j’ai ajouté une vérification pour adapter la période de ton instruction LOWEST pour la variable ll2, cette valeur ne pourra jamais être inférieure à 1 désormais, donc hop plus d’erreur ! 🙂

     

     

    #41037

    Bonsoir Nicolas.

    J’aurais encore pu chercher très longtemps et encore je ne suis pas sûr que j’eusse trouvé. Alors, respect. Ça fonctionne impec.

    Comme quoi, rien ne remplace la bouteille. Au sens informatique du terme bien sûr. Quoique…mais avec modération comme le veut maintenant l’usage sérieusement établi.

    Encore merci.

    Ruddy

     

    #41966

    Message modération:

    Avec retard (désolé) topic déplacé du forum “proscreener” (pour les screeners) au forum “probuilder” la demande semblant orientée “indicateur” seulement

Viewing 10 posts - 1 through 10 (of 10 total)

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