Errores, fallos, preguntas - página 1065

 
vlad_123:

Una cosa más: he encontrado un truco "útil"...

Declara un array, por ejemplo, 'int arrTemp[5];'.

Bajo el depurador todos sus elementos son iguales a 0, mientras que durante las pruebas no lo son.

Me he pasado medio día intentando averiguar por qué la función connect() de la librería WinSock portado de MQL4 no funciona.

En mql5 todas las variables deben ser inicializadas explícitamente, por ejemplo:

int arrTemp[5] = {0};  // допускается такая сокращённая форма, вместо {0,0,0,0,0}

No hay una inicialización por defecto con ceros, es normal, acostúmbrate.

 
Resulta que tanto en MT4 como en MT5 en los gráficos semanales las barras tienen fecha a partir de un domingo. ¿Es el estilo pro-occidental? Si es así, ¿qué sentido tiene que las sesiones semanales de todo el mundo se abran el lunes?
 
MetaDriver:

En mql5 todas las variables deben ser inicializadas explícitamente.

No hay una inicialización por defecto con ceros, es normal, acostúmbrate.

No me importa, pero funcionaría de la misma manera. En el depurador la inicialización con ceros es automática.

Por cierto, ¿y nadie se enfrentó al hecho de que durante la optimización de EA, el terminal no puede conectarse a los agentes remotos accesibles a través de VPN?

Estoy intentando utilizar los agentes remotos en mi ordenador del trabajo desde casa conectado a la red corporativa a través de una VPN estándar de Windows. Los propios agentes en mi ordenador de trabajo están manejando las tareas de MQL5 Cloud Network bastante bien, puedo conectarme a mi ordenador de trabajo a través de un terminal RDP desde casa y el terminal en mi ordenador de casa puede utilizar los agentes de MQL5 Cloud.

Lo único que no puedo utilizar es el uso de los agentes en el PC del trabajo desde el PC de casa. Incluso he intentado ejecutar agentes en el puerto 443 en el PC de la oficina para evitar (en teoría) posibles filtros/firewalls, pero no ha funcionado. El terminal registra "conectando con el agente... - y eso es todo.

Tracert de casa al trabajo pasa. 'netstat -na' en el ordenador de casa muestra:

TCP    10.6.XXX.XXX:1744       10.6.YYY.YYY:2000       SYN_SENT

es decir, no hay más SYN_SENT

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
vlad_123:

Lo único que no funcionará es conseguir agentes en el ordenador del trabajo desde el ordenador de casa. Incluso he probado a ejecutar el agente en el puerto 443 del ordenador del trabajo para evitar (teóricamente) posibles filtros/firewalls, pero no ha funcionado. El terminal registra "conectando con el agente... - y eso es todo.

Tracert de casa al trabajo pasa. 'netstat -na' en casa muestra:

profundizar en la configuración de la conexión VPN, el brandmauer de barlovento,
 
vlad_123:

No me importa, pero me gustaría que funcionara de manera uniforme. En caso contrario, el depurador se inicializa con ceros automáticamente.

No sé por qué, pero está ahí. A veces me ayuda, a veces me impide encontrar las cosas buenas.
 
micle:
Mira más profundamente en la configuración de la conexión VPN, el Brandmauer de Windows,

Es un asunto de chamanismo...

El cortafuegos del ordenador de casa está totalmente desactivado.

El terminal del ordenador del trabajo puede utilizar los agentes del ordenador de casa, pero no a la inversa.

No he encontrado nada malo en la conexión VPN.

 
vlad_123:

Es un asunto de chamanismo...

El cortafuegos del ordenador de casa está totalmente desactivado.

El terminal del ordenador del trabajo puede utilizar los agentes del ordenador de casa, pero no a la inversa.

No pude encontrar nada malo en la conexión VPN.

En caso de que tengas win7, añade una regla para las conexiones de entrada/salida. Hay un asistente allí, agrega. En el caso de win XP, también hay una opción para añadir una excepción para un programa o puerto. Hace tiempo que no uso XP.
 
micle:
En caso de que tengas win7, añade una regla para las conexiones entrantes/salientes. Hay un asistente allí, complementos. En el caso de win XP también hay una opción para añadir una excepción para un programa o puerto. Hace tiempo que no uso XP.

¡Aleluya!

Por fin lo he descubierto...

El caso es que hay 2 instancias de MetaTrader 5 instaladas en directorios diferentes en mi ordenador de trabajo (Win7) (donde están los agentes que quiero utilizar).

No recuerdo el orden de instalación/desinstalación de los agentes, pero resulta que los agentes se inician desde la instancia N1, y la regla de entrada en el Firewall de Windows para el "Agente del Probador de Estrategias de MetaTrader 5" estaba apuntando a la pieza EXE de la instancia N2. He añadido una regla para el ejemplo N1 - todo funciona.

Sería útil que al hacer la desinstalación/instalación de agentes en el Gestor de Agentes se actualizara la regla en el Firewall de Windows.

Todavía hay una cuestión sin resolver. Se trata de la resolución de host_name -> IP_address usando la función getaddrinfo() de WinSock. ¿Puede alguien construir un código de ejemplo en MQL5?

No es realmente cuestionable utilizar la IP en lugar del nombre de host ;-). Y el uso del nombre de host es una necesidad en mi caso.

 
vlad_123:
...

Atención - pregunta: ¿cómo en MQL5 para obtener datos en esta dirección?

hacer una función en la dll que vaya a esta dirección y devuelva los datos requeridos ))
 
kazakov.v:
Quiero hacer una función en dll que vaya a esta dirección y devuelva los datos requeridos ))

No, no encaja.

El Asesor Experto está desarrollado para el procesamiento distribuido de información financiera y no quiero molestarme con las DLL's x86/x64. Es decir, necesito implementarlo utilizando las herramientas MQL5.

Razón de la queja: