¿Qué es toda esta tontería del carácter de tabulación{t}? - página 7

 
Andrei, te dije que no debías hacer versiones paralelas. Ahora tú tienes una función y yo otra... Deberíamos haber mantenido un único proyecto.
 
Zhunko:
Andrey, te dije que no era necesario multiplicar las versiones paralelas. Ahora tú tienes una función y yo otra... Deberías haberte quedado con un proyecto.

Realmente no importa :-). Si el proyecto es sencillo, puede mantener 2 proyectos :-).
Para añadir otras funciones - 5 minutos de tiempo.

 
jartmailru:
Ya sabes, si el vídeo no te inspira, no lo edites :-).
Y personalmente no podré escribir mis asesores sin tal cosa ;-)...
La idea es que yo busque manualmente algo en el registro.

No funciona así. El script (mi Asesor Experto) abre la segunda ventana.


¿Tienes alguna idea de cómo solucionarlo? No tengo ninguna.

Archivos adjuntos:
 

MetaDriver:

¿Alguna idea de cómo tratarlo? Todavía no tengo ninguno.

Yo tengo uno. Es un poco complicado, pero funcionará.

El esquema de trabajo es el siguiente:

1. tester expert escribe un archivo de registro, no una ventana.

2. Después de las pruebas, tomamos el archivo MyTesterLog.log y lo copiamos manualmente en la carpeta ..metaTrader 5\MQL5\Files

3. ShowLog-expert en Inite lleva todo del archivo a la ventana de depuración...

4. ...y posiciona los clics en la misma ventana según lo previsto.

Es aburrido escribirlo todavía, pero debería funcionar al 100%.

 
Yo mismo me sorprendí: ¡¡¡terminé con el mismo 1:1!!!
.
Así que...
La cuestión es que todos los archivos Mql deben referirse explícitamente al mismo índice dll.
De lo contrario, los carga desde diferentes lugares, y obtienes dos ventanas.
 
jartmailru:
Yo mismo me sorprendí: ¡¡¡terminé con el mismo 1:1!!!
.
Bueno...
La cuestión es que todos los archivos Mql deben referirse explícitamente a una dll-ina.
De lo contrario, los carga desde diferentes lugares y se obtienen dos ventanas.

No me interesa saber de quién es la culpa. // Yo mismo lo sé. ))

Dígame lo que tiene que hacer.

;)

 
MetaDriver:

No me interesa saber de quién es la culpa. // Yo mismo lo sé. ))
Dígame lo que tiene que hacer.
;)

Te lo dije:
todos los archivos Mql deben hacer referencia al mismo dll-in.
.
Compruebe que las importaciones se refieren al mismo dll-in.
 
jartmailru:
Te lo dije:
todos los archivos Mql deben referirse explícitamente a un índice dll.
.
Asegúrese de que las importaciones se refieren al mismo dll-in.

No hay duda de ello.

Creo (en realidad estoy seguro) que MT5 crea una nueva instancia para cada proceso. Creo que incluso encontré esto en la documentación hace algún tiempo. Incluso me pregunto por qué todas las diferentes instancias de EAs escriben todo en una ventana durante la optimización. Tal vez todos ellos existan dentro de un mismo hilo, por lo que es posible. De todos modos, este problema está más allá de mi comprensión. Si no puedes hacer que diferentes instancias de DLL escriban todo en una ventana, paso.

Probablemente pueda hacerlo utilizando el segundo dll-in (llamado desde el primero) como anfitrión de la ventana. En cualquier caso, la ventana debe ser un singleton.

// Corrige los botones al mismo tiempo, ¡Bomba! ;)

 
MetaDriver:

No hay duda de ello.

Creo (en realidad estoy seguro) que MT5 crea una nueva instancia para cada proceso. Creo que incluso encontré esto en la documentación hace algún tiempo. Incluso me pregunto por qué todas las diferentes instancias de EAs escriben todo en una ventana durante la optimización. Tal vez todos ellos existan dentro de un mismo hilo, por lo que es posible. De todos modos, este problema está más allá de mi comprensión. Si no se puede forzar a las diferentes instancias de DLL a escribir todo en una ventana, paso.

Tal vez esto se puede hacer, si se utiliza el segundo DLL-ino (llamado desde el primero), como la anfitriona de la ventana. En cualquier caso, la ventana debe ser un singleton.

// Corrige los botones al mismo tiempo, ¡Bomba! ;)

Hmmm... Si hay un proceso separado para cada instancia, es un fastidio...
y no hay una cura sencilla.
.
> Incluso me pregunto por qué DIFERENTES instancias de EAs escriben todo en una ventana durante la optimización.
Si son de un proceso, escriben todo en una ventana.
.
> Si no se puede forzar que las diferentes instancias de DLL escriban todo en una sola ventana, paso.
Es relativamente fácil de hacer, pero tendría que rehacerlo todo :-).
Qué bien que aún no esté usando MT5 :-D.
.
Si los procesos son diferentes, el segundo dllin no resolverá el problema.
Necesita un proceso separado con una ventana para recibir mensajes
y los comandos de varios otros procesos.
.
La forma más fácil es encontrar una ventana y enviarle WM_COPYDATA de algún tipo.

 

Todo es malo... :)

Todos los expertos en diferentes gráficos normales + todos los scripts (allí) listos para escribir en la misma ventana.

Sólo tiene que ejecutar en el probador - abre otro y escribe en él. Menudo lío.

Probablemente porque el probador es en realidad un programa separado (MetaTester.exe), que es lo que abre una copia adicional. No puedes interponerte en su camino.

Razumo: Creo que necesitamos el desacoplamiento/vinculación a nivel de dll.

--

El trailer es una versión corregida de EA + lib intermedia en µl (trató de hacer que utilice una instancia de dll)

Archivos adjuntos: