Erreurs, bugs, questions - page 2371

 

MT5, build 1971, exemple synthétique (script).

Si nous le faisons, la valeur erronée dans la deuxième sortie dans le journal :

class TestAccumulation
{
   private:
      double m_sum;
            
   public:
      TestAccumulation(double value)
      {
         m_sum += value;
         Print("sum = ", m_sum);
      }
};

class AClass
{
   public:
      void Run()
      {
         TestAccumulation a(0.1);
      }
};

class BClass
{
   public:
      void Run()
      {
         TestAccumulation b(0.2);
      }
};

void OnStart()
{
   AClass AInstance;
   BClass BInstance;

   AInstance.Run(); // gives the output as '0.1' when expected '0.1' -> right
   BInstance.Run(); // gives the output as '0.3' when expected '0.2' -> wrong
}

Et si nous le faisons de cette façon, c'est correct :

class TestAccumulation
{
   private:
      double m_sum;
            
   public:
      TestAccumulation(double value)
      {
         m_sum += value;
         Print("sum = ", m_sum);
      }
};

class AClass
{
   public:
      void Run()
      {
         TestAccumulation a(0.1);
      }
};

class BClass
{
   public:
      void Run()
      {
         TestAccumulation b(0.2);
      }
};

void OnStart()
{
   AClass AInstance;   
   AInstance.Run(); // gives the output as '0.1' when expected '0.1' -> right
   
   BClass BInstance;
   BInstance.Run(); // gives the output as '0.2' when expected '0.2' -> right
}

P.S. est apparu à la suite d'un oubli - nous avons oublié d'initialiser un membre avec une valeur vide dans le constructeur (dans l'exemple, ce serait m_sum). Mais cela n'annule pas la non-pertinence de l'influence mutuelle de deux classes l'une sur l'autre.

 
Maternelle.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Nettoyage d'un tableau d'éléments donnés

Sergey Dzyublik, 2018.11.13 11:38

Devinette : Combien de pommes Pinocchio aura-t-il si Malvina lui en donne deux et Papa Carlo lui en donne trois ?
Réponse : dix. Les variables sources doivent être initialisées.


 

Sergey Eremin:

Mais cela n'invalide pas la non-pertinence de l'influence mutuelle des deux classes l'une sur l'autre.

D'où viennent ces informations ? Ce que vous faites est de l'UB, l'EA peut afficher un mot obscène à l'écran et aura raison, toute hypothèse sur la logique de cet algorithme est sans fondement.

 

Bonjour !

Lorsque vous créez un indicateur dans mql4, vous pouvez spécifier le paramètre de la fenêtre dans laquelle il sera affiché : #property indicator_chart_window ou #propertyindicator_separate_window.

Pouvez-vous faire en sorte que l'indicateur soit affiché à la fois dans la fenêtre principale et dans une fenêtre séparée ?

Par exemple, un indicateur de glissement dans la fenêtre principale et un histogramme dans une fenêtre séparée.

 
giros:

Bonjour !

Lorsque vous créez un indicateur dans mql4, vous pouvez spécifier le paramètre de la fenêtre dans laquelle il sera affiché : #property indicator_chart_window ou #propertyindicator_separate_window.

Pouvez-vous faire en sorte que l'indicateur soit affiché à la fois dans la fenêtre principale et dans une fenêtre séparée ?

Par exemple, un indicateur de glissement dans la fenêtre principale et un histogramme dans une fenêtre séparée.

NON.
 

Courriels de la place de marché MQL5 : les mises à jour du site Web sont les mêmes, les produits ne changent pas du tout.....


Les notifications d'articles de blog dans mon compte personnel se présentent comme suit

Blogs :
Ajouté un nouveau commentaire à l'article Conseiller VR Smart Grid avec modes automatique et semi-automatique + algorithme de réseau multi-niveaux.. :
vladmedd : <div class="fquote"><strong><span><span title="VOLDEMAR" style="color:#42639c ;">Vladimir Pastushak</span> :</strong><br /> <p>Paire euro-dollar, timeframe H1</p></div><p>Merci !</p>
https://www.mql5.com/ru/blogs/post/716698

 

Dans quels cas l'optimisation génétique peut-elle déclencher le calcul de n'importe quelle combinaison de paramètres, si une optimisation complète a été effectuée auparavant, et qu'une nouvelle exécution (optimisation complète) reprend instantanément tous les résultats du cache ?

Pourquoi la génétique recalculerait-elle quelque chose ?

Construction 1970

 
Andrey Khatimlianskii:

Dans quels cas l'optimisation génétique peut-elle déclencher le calcul de n'importe quelle combinaison de paramètres, si une optimisation complète a été effectuée auparavant, et qu'une nouvelle exécution (optimisation complète) reprend instantanément tous les résultats du cache ?

Pourquoi la génétique recalculerait-elle quelque chose ?

Construire 1970.

Il est logique que la génétique renvoie la totalité du cache plein dans de telles situations.

 
fxsaber:

Il serait logique que, dans de telles situations, la génétique renvoie le cache complet.

Il est logique qu'il fonctionne selon son propre algorithme, mais qu'il ne recalcule pas les données finies, mais se contente de broyer les chiffres du cache.

 

Et il est également très suspect que chaque approche successive de la génétique donne de meilleurs résultats. C'est comme s'il avait une mémoire (entre les optimisations individuelles).

Bruteforce : le meilleur résultat sur 15223 passages est 158.38 (critère castum).

Parcours génétique #1 - 126.24, #2 - 126.24, #3 - 137.06, #4 - 137.06, #5 - 137.06, #6 - 137.06, #7 - 137.06, #8 - 137.06

Coïncidence ?