Bug de la boucle For ?

Forums ProRealTime forum Français Support ProScreener Bug de la boucle For ?

Viewing 13 posts - 1 through 13 (of 13 total)
  • #131913

    Bonjour,

    J’ai créé ce screener qui fonctionne pour la 1ère clause et la deuxième mais lorsque je rajoute la 3ème  j’ai un message d’erreur qui me dit que ma boucle est sans fin.
    Je pensais que c’était ma 3ème clause qui posait problème, mais si je supprime la deuxième, donc en n’en laissant que 2, je n’ai plus de message d’erreur:

    Merci par avance pour vos retours.

     

    Marc

    #131918

    Écrivez 253 à la ligne 9. Si vous écrivez 254 + 1 pour CLOSE [1], vous dépassez la limite maximale.

    #131929

    Non, je pense que le problème en est un autre. Peut-être.

    Aux lignes 12, 19 et 26, vous faites référence à [barres] qui est un index à l’intérieur du TF 4H, mais vous l’appliquez à une donnée appartenant au TF Weekly (MedianWeek).

    #131952

    Ce qui veut dire qu’on ne peut pas mélanger des TimeFrame ?

    Pourtant c’est l’idée de base, comparer une valeur d’une unité supérieure dans une unité inférieure.

    Ce qui est étrange c’est que ça marche pour les 2 premiers calcul, puis lors de l’ajout du troisième ça plante..

    #131960

    Entre la ligne 8 et 9, ajoutez:

    puis, à la ligne 12, remplacez HIghWeek [ Barre ] par HW [Barre], à la ligne 19, remplacez LowWeek [Barre] par LW [Barre] et à la ligne 26, remplacez MedianWeek [Barre] par MW [Barre].

    Je pense que ça pourrait marcher.

    Il faut utiliser également 253 ou 252 au lieu de 254.

    #131998

    Vous aviez raison à ce sujet :

    Aux lignes 12, 19 et 26, vous faites référence à [barres] qui est un index à l’intérieur du TF 4H, mais vous l’appliquez à une donnée appartenant au TF Weekly (MedianWeek).

    Alors j’ai réécrit mon code :

     

    Plus propre et j’ai enlevé les Max et Min pensant que cela était le problème.

    Mais pareil. Mon Code fonctionne lorsque je met seulement 2 Blocs de calcul, mais dès que j’insère le 3ème Bloc ça plante

    En fait je viens de m’apercevoir que c’est ce 3 ème bloc qui pose problème

    Si je ne fait que 2 comparaison cela fonctionne. Mais dès que j’insère la 3ème comparaison, c’est le plantage.

    #131999

    Essayez de supprimer ONCE de la ligne 1, cela a déjà causé des problèmes avec ProScreener.

    Si ce n’est pas le problème, essayez de créer 3 boucles FOR … NEXT différentes, au lieu de faire 3 calculs en un seul cycle.

    #132001

    Code réécrit avec ajout de boucle For et suppression de Once au début, mais le problème persiste

     

    #132002

    C’est le dernier problème auquel je peux penser.

    En une semaine, il y a 30 bougies de 4 heures, donc quand vous arrivez à la répétition n. 9 (30×9 = 270) dépasse la limite de 254 TF bar à 4 heures. Mais je doute que ce soit une erreur même avec un seul cycle!

    Essayez de remplacer 253 par 5, puis d’augmenter de 5 à 5 pour vérifier s’il existe une limite interne.

    #132023

    Effectivement Roberto, c’était un problème de Seuil. En incrémentant mon programme de 5 à chaque fois, celui-ci cesse de fonctionner à 215

    Par contre, ce que je ne comprend plus c’est qu’il devrait me retourner un écart en pourcentage mais à chaque fois il me retourne Zéro sur l’ensemble des résultats.
    Je comprendrais qu’il  y a quelques fois où la clôture serait égal au plus haut, un produit par zéro serait retourné dans ce cas Ecart1=100/MaxVal*(MaxVal-MinVal) mais pas tous mes résultats
    Surtout que j’ai mis un garde fou : If Ecart1<Distance And Ecart1<>0

    Je vois vraiment pas où ça cloche

    #132043

    Votre premier message, avec 174 sur la ligne 9, fonctionne parfaitement.

    Il ne renvoie pas de valeur car la dernière ligne est incomplète, la condition est manquante. Essayez avec:

    2 users thanked author for this post.
    #132067

    Si il n’y a pas de condition entre crochets, logiquement ProScreener devrait restituer l’ensemble des valeurs de la liste, et je pense que c’est ce que @Player cherche à faire ?

    1 user thanked author for this post.
    #132191

    Effectivement je recherche toutes les valeurs.

    Votre premier message, avec 174 sur la ligne 9, fonctionne parfaitement.

    Merci à toi Roberto pour l’idée.
    Je vais prendre prendre mon calcul de ma première fonction pour l’intégrer à mon nouveau code dont la  boucle For est de meilleure performance et le code me semble plus logique.

    Merci pour le temps consacré..

    Marc

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

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