Erreurs, bugs, questions - page 1909

 
Stanislav Korotky:
Je comprends votre point de vue. La question suivante, pourquoi OnDeinit n'est pas déclenché lorsque la fenêtre de test visuel est fermée ? Comment déboguer quelque chose qui se trouve dans le OnDeinit de l'indicateur et qui est lié au traitement des informations collectées du processus d'exécution (en particulier, le profilage qui ne peut pas être effectué rapidement et sur les données de l'historique long sur le graphique en ligne) ?

Réfléchissons-y.

Lors du profilage sur l'historique, vous pouvez appeler OnDeinit juste après la fin des données. Pour le profilage, les artefacts indicateurs ne sont généralement pas nécessaires.

 
Slava:

Réfléchissons-y.

Lors du profilage sur l'historique, il est possible d'appeler OnDeinit immédiatement après la fin des données. Pour le profilage, les artefacts indicateurs ne sont généralement pas nécessaires.

J'ai écrit une demande au SD.
 
Stanislav Korotky:
J'ai rédigé une demande pour le SD.
Merci. J'ai déjà écrit l'application moi-même.
 
Slava:
Merci. J'ai déjà écrit l'application moi-même.
Avant d'écrire au SR, j'ai vérifié s'il n'y avait pas de réponse ici ;-), et il n'y en avait pas à ce moment-là. En tout cas, peut-être que certaines de mes suggestions de l'application pourraient fonctionner.
 
Alexandr Bryzgalov:

Comme ils disent à Jeopardy - il n'y a pas de tel thème. corrigée, elle sera comme ceci


 
Un EA est sélectionné dans le testeur. Chaque fois, après l'avoir compilé, le testeur sélectionne un EA différent. Il y a une erreur !
 

Lorsque vous appuyez sur la touche Home et effectuez un zoom arrière sur le graphique dans MT5, les objets graphiques et le(s) indicateur(s) s'éloignent - vous pouvez le voir dans l'illustration par le Zigzag.


 

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

Bugs, bugs, questions

Renat Fatkhullin, 2017.05.13 17:07

C'est vrai, vous ne pouvez pas être conduit de bas en haut, seulement de haut en bas. C'est pour des raisons de sécurité.

Vous ne pouvez pas comparer avec le C++ - tout peut être réduit à n'importe quoi là-bas.

Pourquoi compile-t-il ?
class A {};

class B : public A
{
public:  
  int i;
};

void OnStart()
{
  A* a = new B;
  
  ((B*)a).i = 1;
  
  dynamic_cast<B*>(a).i = 1;
  
  delete a;
}
 

En général, il existe trois possibilités.

1. C'est un bug.

2. ce cast permet de faire un cast comme reinterpret_cast qui n'est pas sûr en principe. Si c'est le cas, vous pouvez lancer tous les pointeurs les uns vers les autres avec le risque d'obtenir une exception d'accès plus tard.

3. ce cast permet de faire un cast en tant que dynamic_cast, mais alors se pose la question de savoir comment distinguer les castings dynamiques et statiques et alors probablement tous les castings sont faits au moment de l'exécution.

 

Cochez une situation étrange - qu'est-ce que cela signifie - pourquoi y a-t-il une sous-peinture mais pas de volume ?


Raison: