¿Qué diablos está pasando? - página 7

 

Si SHARE_READ resolvió el problema, entonces usted estaba abriendo exactamente el mismo archivo desde copias paralelas de EA.

Y tu afirmación de "no compartir" era falsa, como señalé más arriba.

En definitiva, te da miedo.

 
Renat Fatkhullin:

Si SHARE_READ resolvió el problema, entonces usted estaba abriendo exactamente el mismo archivo desde copias paralelas de EA.

Y tu afirmación de "no compartir" era falsa, como señalé más arriba.

En definitiva, te da miedo.

No te he entendido bien.

En el optimizador aparecieron copias paralelas del EA. Es lógico esperar que el optimizador también haga copias paralelas de los archivos a los que acceden estos EAs.

Mi Asesor Experto en sí mismo no necesita SHARE_READ a priori en absoluto. ¿Así que aquí tenemos qué? Si el Asesor Experto maneja un archivo, tiene que "tantear" específicamente para el optimizador.

Lo tendré en cuenta, pero creo que esto no es correcto. )))

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

Es lógico esperar que el optimizador también haga copias paralelas de los archivos a los que se refieren estos expertos.
Te da miedo.
 
Renat Fatkhullin:
Te da miedo.

Vamos ))))

Basta con escribir en la documentación "cuando un EA accede a un archivo,SHARE_READ es obligatorio para optimizarlo".

 
Andrey Dik:

¿Crees que la variable global EA conserva su valor de las anteriores ejecuciones del optimizador y se traslada a las siguientes?

Sí,Andrey F. Zelinsky, lo ha dicho bien. durante la optimización, todo lo que se inicializa globalmente (no en OnInit) se inicializa sólo una vez.

p/s/ La razón del problema de TC es divertida - Redes neuronales, IA y demás... y trabajar con archivos no es importante ))

 
Aleksey Mavrin:

Sí, Andrey F. Zelinsky, lo ha dicho bien. Durante la optimización todo lo que se inicializa globalmente (no en OnInit) se inicializa sólo una vez.

p/s/ La razón del problema de TC es divertida - Redes neuronales, IA y demás... y el trabajo con los archivos no es importante ))

No es malo tener un mal hábito también.

 

Querido, sólo una palabra, porque nadie para quien el trabajo con archivos es importante hasta que lo imprimí sugirió que este podría ser el problema también ;) :) De todos modos, eso está resuelto.

Ahora una pregunta distraída: ¿cuál es la diferencia entre las siguientes líneas?

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

Y, si es posible, una explicación: ¿por qué?

 

si el archivo se escribe en COMMON, se requiere que tenga SHARE_READ y un control de carrera de escritura bastante complicado. Es un poco decente no disparar el talón en público.

En general, es una buena práctica que los asesores no escriban nada en el común. Pueden leerlo, pero lo escribe o lo copia allí el comerciante, que es el responsable personal de ello. Para todos los Asesores Expertos en todos los terminales, estas son palabras dadas desde arriba.

Si se escribe un archivo en un directorio común sin SHARE_XXX, pero el optimizador genera errores de acceso compartido, se trata de un error de los desarrolladores del terminal
 
Se puede probar sin optimización.
 
Сергей Таболин:

Querido, sólo una palabra, porque nadie para quien el trabajo con archivos es importante, hasta que lo imprimí, tampoco, sugirió que este podría ser el problema ;) :) De todos modos, eso está resuelto.

Ahora una pregunta distraída: ¿cuál es la diferencia entre las siguientes líneas?

Y, si puede explicarlo, ¿por qué?


en el segundo caso siempre dará .tst