Bouble dans boucle

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #102090 quote
    MrCrous
    Participant
    Average

    Bonjour,

    Je fais face à un petit problème dans PROSCREENER.

    J’aimerai pouvoir  comparer LES valeurs d’une condition A avec LES valeurs d’une autre condition B, sous plusieurs timeframe.

    Afin de pouvoir comparer une valeur de A avec l’ensemble des valeurs de B je fais une boucle pour A puis dans cette boucle une boucle pour B.

    Voici un exemple :

    While i <> 20 do
    n = 0
    while n <> 20 do
    Cond = ConditionAdaily[i] = ConditionBdaily[n] OR ConditionAdaily[i] = ConditionB4h[n] OR ConditionAdaily[i] = ConditionB3h[n] OR ConditionAdaily[i] = ConditionB2h[n] OR ConditionAdaily[i] = ConditionB1h[n] OR ConditionAdaily[i] = ConditionB30m[n] OR ConditionAdaily[i] = ConditionB15m[n] OR ConditionAdaily[i] = ConditionB10m[n] OR ConditionAdaily[i] = ConditionB5m[n]
    
    n= n +1
    wend
    i= i+1
    wend

    Le problème c’est que proscreener me retourne :

    Ce ProScreener ne peut pas s’exécuter parce que son code contient une boucle sans fin.
    Une boucle sans fin est une séquence d’instructions qui est répétée à l’infini lorsque le code est exécuté. Ceci peut arriver si :
    – une boucle n’a pas une condition d’arrêt
    – la condition d’arrêt ne peut jamais se réaliser
    – l’arrêt provoque le redémarrage de la boucle
    Optimisez le code de votre ProScreener.

     

     

     

    En vous remerciant de votre aide,

    #102114 quote
    Nicolas
    Keymaster
    Master

    Est-ce que tu remets i à 0 quelque-part ? (avant le premier while).

    Tu devrais aussi tester tes incréments tant qu’ils sont inférieurs à une valeur et non différent, ça pourrait créer ce genre de problème:

    i = 0
    while i < 20 do 
    
     // code
    
     i=i+1
    wend
    #102205 quote
    MrCrous
    Participant
    Average

    Bonjour Nicolas,

    Oui j’ai oublié de le mettre sur ce post mais j’initialise bien i=0 avant la boucle.

     

    J’ai tenté de mettre <21 pour i et n, mais même erreur.

    Je ne comprends pas car ma boucle n’est pas infinie… Y a t il des limitations liées à proscreener sur l’usage des boucles ?

    #102244 quote
    Nicolas
    Keymaster
    Master

    Malheureusement oui,  les boucles ont cet effet assez souvent,  surtout lorsqu’elles sont imbriquées. Ton code n’est pas incriminé, le message d’erreur que tu obtiens est générique, il survient quand le moteur commence à caler.. 🙁

    J’ai parfois eu de meilleure performances avec une boucle ForNext, à voir..

    #102302 quote
    MrCrous
    Participant
    Average

    Bonjour Nicolas,

    J’ai testé avec 2 boucles FOR imbriquées … Pas mieux :s

    J’ai testé 2 boucles WHILE … KO.

    J’ai testé une boucle whie puis FOR et vice versa … KO.

     

    Ya un soucis avec les boucles imbriquées qui demandent un peu trop de calcul.

     

    En tout cas merci pour les idées 🙂

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

Bouble dans boucle


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
MrCrous @mrcrous Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by MrCrous
6 years, 8 months ago.

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