Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1940

 
Bonjour à tous. Pourriez-vous me dire comment fonctionne l'appel d'indicateur dans mql4. Je change la période pour le CCI dans la boucle, mais si le nombre d'itérations devient supérieur à 205, alors le CCI commence à dessiner des zéros, et dans un autre tampon. Si num=204, alors la période peut être même 500, mais si num=205, alors la période maximale peut être 207, et alors elle contiendra zéro. Il y a plusieurs milliers de barres sur le graphique. Si nous ne changeons pas la période dans la boucle, tout est OK, bien sûr. Quelle peut en être la raison ? Je suis constamment confronté à des problèmes d'appels d'indicateurs multiples. Veuillez me conseiller sur la façon d'y faire face, peut-être en lisant des articles ?
   if(rates_total>prev_calculated)
   {
      int num=205;
      period =2;   

         for(int i=0; i<=num; i++)
         {
            cci[i] = iCCI(NULL,0,period,PRICE_CLOSE,i);   
            period++;
         }
      ////////////
      period=208;

      for(int i=0; i<100; i++)
      {
         CCI[i] = iCCI(NULL,0,period,PRICE_CLOSE,i);
      }
    
   }
Si num=300, la période maximale est de 66 ans.
Dossiers :
iCCI.mq4  10 kb
 
De temps en temps, j'essaie d'exécuter l'indicateur et il fonctionne, mais le terminal se bloque.
 
Dites-moi au moins dans quel sens creuser comme on dit ?
 
Aleksandr Kononov #:
Dites-moi au moins dans quel sens creuser comme on dit ?

et pourquoi faites-vous ce genre de recherche ? Cela a-t-il un sens pratique ? Ou juste par intérêt ?

 
Aleksandr Kononov #:
Dites-moi au moins dans quel sens creuser comme on dit ?

.

 
Il ne s'agit pas d'une étude, mais d'un problème pratique. C'est juste que, dans cet exemple, tout l'intérêt a été enlevé, laissant la chose la plus importante. Je rencontre constamment ce problème et je suis fatigué de le résoudre à l'instinct. Je veux expliquer pourquoi nous manquons de mémoire et ensuite j'ai ce problème, lorsque les fonctions d'appel d'indicateur sont utilisées plus d'une fois. Si vous les appelez sans changer la période, tout est OK. Mais si je change de période, je commence à avoir des problèmes.
 
Aleksandr Kononov appel d'indicateur sont utilisées plus d'une fois. Si vous les appelez sans changer la période, tout est OK. Mais si je change de période, je commence à avoir des problèmes.

C'est une chose de calculer 200 barres d'un indicateur. C'est une autre chose de calculer une barre pour 200 indicateurs... On ne voit pas bien où vous pouvez rencontrer le besoin de charger 200 indicateurs... il est possible qu'il y ait une limite à de telles "expériences" et que cela finisse en mémoire...

 
Quant à savoir "où postuler", c'est une question d'imagination. Beaucoup d'endroits
 
Y a-t-il un moyen de vérifier la mémoire ? Comment est-il consommé ou autre chose ?
 
Aleksandr Kononov #:
Quant au lieu d'application, c'est une question d'imagination. Beaucoup d'endroits.

le code du pendu ne peut être appliqué nulle part... Vous devez fixer des objectifs réalisables. Et c'est plus facile de bousiller le code... Les indicateurs doivent fonctionner rapidement ; il n'y a pas de temps pour des calculs super longs.

Raison: