Que diable se passe-t-il ? - page 7

 

Si SHARE_READ a résolu le problème, alors vous ouvriez exactement le même fichier à partir de copies parallèles d'EA.

Et votre affirmation "pas de partage" était fausse, comme je l'ai souligné ci-dessus.

Tout compte fait, c'est effrayant pour vous.

 
Renat Fatkhullin:

Si SHARE_READ a résolu le problème, alors vous ouvriez exactement le même fichier à partir de copies parallèles d'EA.

Et votre affirmation "pas de partage" était fausse, comme je l'ai souligné ci-dessus.

Dans l'ensemble, c'est effrayant pour vous.

Je ne vous ai pas bien compris.

Des copies parallèles de l'EA sont apparues dans l'optimiseur. Il est logique de s'attendre à ce que l'optimiseur fasse également des copies parallèles des fichiers auxquels ces EA accèdent.

Mon conseiller expert lui-même n'a pas du tout besoin de SHARE_READ a priori. Alors, qu'avons-nous là ? Si le conseiller expert manipule un fichier, il doit "tâtonner" spécifiquement pour l'optimiseur.

Je vais en tenir compte, mais je pense que ce n'est pas correct. )))

 
Сергей Таболин:

Il est logique de penser que l'optimiseur fera également des copies parallèles des fichiers auxquels ces experts font référence.
C'est effrayant pour toi.
 
Renat Fatkhullin:
C'est effrayant pour toi.

Allez ))))

Il suffit d'écrire dans la documentation "lorsqu'une EA accède à un fichier,SHARE_READ est obligatoire pour l'optimiser!".

 
Andrey Dik:

Vous pensez qu'une variable globale de l'EA conserve la valeur des exécutions antérieures de l'optimiseur et qu'elle est reportée sur les exécutions suivantes ?

Oui,Andrey F. Zelinsky, il l'a bien dit. Lors de l'optimisation, tout ce qui est initialisé globalement (pas dans OnInit) est initialisé une seule fois.

p/s/ La raison du problème de TC est amusante - Réseaux neuronaux, IA et ainsi de suite... et le travail avec les fichiers n'est pas important ;)

 
Aleksey Mavrin:

Oui, Andrey F. Zelinsky, il l'a bien dit. Pendant l'optimisation, tout ce qui est initialisé globalement (pas dans OnInit) est initialisé une seule fois.

p/s/ La cause du problème de TC est amusante - Réseaux neuronaux, IA et ainsi de suite... et la gestion des fichiers n'est pas importante ;))

Ce n'est pas une mauvaise chose quand on est un vieil homme.

 

Chéri, juste un mot, parce que personne pour qui travailler avec des fichiers est important, jusqu'à ce que je l'imprime, non plus, n'a suggéré que cela pourrait être le problème ;) :) Bref, c'est réglé.

Maintenant une question distraite : quelle est la différence entre les lignes suivantes ?

   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_OPTIMIZATION) ? ".opt" : ".tst");
   filename = "ERR_dir\\"+filename+(MQLInfoInteger(MQL_TESTER) ? ".tst" : ".opt");

Et, si possible, une explication - pourquoi ?

 

si le fichier est écrit dans COMMON, il doit avoir SHARE_READ et un contrôle de course en écriture plutôt délicat. C'est plutôt décent de ne pas tirer sur le talon en public.

En général, il est de bonne pratique que les conseillers n'écrivent rien dans le commun. Ils peuvent le lire, mais il est écrit ou copié là par le commerçant qui en est personnellement responsable. Pour tous les conseillers experts dans tous les terminaux, ce sont des mots donnés d'en haut.

Si un fichier est écrit dans un répertoire commun sans SHARE_XXX, mais que l'optimiseur génère des erreurs d'accès partagé, il s'agit d'un bug des développeurs du terminal.
 
Vous pouvez tester sans optimiser.
 
Сергей Таболин:

Chéri, juste un mot, parce que personne pour qui travailler avec des fichiers est important, jusqu'à ce que je l'imprime, non plus, n'a suggéré que cela pourrait être le problème ;) :) Bref, c'est réglé.

Maintenant une question distraite : quelle est la différence entre les lignes suivantes ?

Et, si vous pouvez expliquer - pourquoi ?


dans le second cas, donnera toujours des .tst