MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 50

 
alexvd:

¿Lo has probado en la versión 541?

He intentado reproducirlo basándome en sus fuentes, hasta ahora sin éxito. ¿Puedes publicar todas las fuentes y los detalles (sistema operativo, símbolo, broker, carpeta de instalación, permisos, etc.) en el servicedesk


Además, por favor, dígame la configuración del gráfico utilizado en el terminal (número de barras en el historial y en el gráfico)
 
alexvd:

Es mejor ir directamente a Service Desk con todas las fuentes y la descripción.

Reduje y reduje el código guardando el problema y llegué a una cosa curiosa:

#property indicator_chart_window
#property indicator_buffers 1    
//+------------------------------------------------------------------+
int start(){
    int x,i; 
    i = Bars - IndicatorCounted()-1; 
    
    BetterHighLow    a;
    for(x=i; x>=0; x--){  
        a.PereborFunc();
    }   
    return(0);
}
//+------------------------------------------------------------------+
class BetterHighLow{
public:
   BetterHighLow(){};
   void PereborFunc(){};
  };
//+------------------------------------------------------------------+

Llamo a 1 indicador - todo está bien, otro con el mismo código pero con un nombre diferente - todo está también bien.

Si llamo a dos indicadores con el mismo nombre y el mismo código, el terminal se bloquea.

 
ALXIMIKS:

Reduje y reduje el código guardando el problema y llegué a una cosa curiosa:

Llamo a 1 indicador - todo está bien, otro con el mismo código pero con un nombre diferente - todo está también bien.

Pero si llamo a dos indicadores con el mismo nombre y el mismo código, el terminal se bloquea.


Entonces ve a servicedesk: no hay métodos virtuales en tu código, significa que son llamados por algún constructor en el código del propio terminal.


/Y en general me pregunto, ¿quién persigue transferir sus programas a las nuevas construcciones? Si funciona, no lo toques, ¿verdad?

 
alsu:

Entonces ve a servicedesk: no hay métodos virtuales en tu código, significa que son llamados por algún constructor en el propio código del terminal.

//En definitiva, me pregunto quién persigue trasladar sus programas a las nuevas construcciones. Si funciona, no lo toques, ¿verdad?


El invierno (las realidades de tm5 en mt4) se prepara mejor en otoño.

+ traducir tus propios códigos a OOP como forma de aprendizaje, en términos de fijar el material, no es tan malo.

 
alsu:

Entonces ve a servicedesk: no hay métodos virtuales en tu código, significa que son llamados por algún constructor en el código del propio terminal.


/Y en general me pregunto, ¿quién persigue transferir sus programas a las nuevas construcciones? Si funciona, no lo toques, ¿verdad?


Ya he reproducido el problema. El billete no es necesario.
 
HIDDEN:

¿La optimización en el probador de estrategias no funciona?

Pruebo los Asesores Expertos estándar para la optimización, los resultados son cero para todas las ejecuciones.

Optimizo mi Asesor Experto, obtengo el mismo resultado en cada ejecución, aunque los parámetros cambian.

Terminal de construcción 241


Gracias por su mensaje. Hemos encontrado y solucionado el problema.

Más adelante se publicará una versión actualizada

 
stringo:

El lienzo no funciona (se compila, pero no se muestra) desde hace varias compilaciones. ¿Es por diseño? ¿O un descuido?

// hace cinco construcciones funcionaba.

 
MetaDriver:

El lienzo no funciona (se compila, pero no se muestra) desde hace varias compilaciones. ¿Esta es la forma en que se supone que funciona? ¿O un descuido?

En realidad, estaría bien que cada compilación incluyera una lista de correcciones y funcionalidades implementadas. No tendrías que hurgar a ciegas en busca de uno nuevo.
 

El terminal de nuevo no encuentra el editor. Presiono F4 en la terminal, aparece la entrada de registro que el editor no se encuentra:


El terminal se ejecuta de forma portátil, el editor también debe ejecutarse de forma portátil. En la captura de pantalla, el directorio de datos del terminal está abierto.

Después de un corto tiempo, presiono F4 por segunda vez en la terminal y el editor se inicia.


1. ¿Cómo puedo trabajar con el repositorio en mi perfil de mql5.com?

2. ¿Funciona MQL Storage desde el nuevo editor?

En la configuración de la pestaña Comunidad mi nombre de usuario y contraseña están rellenados. Selecciono el archivo necesario en el navegador del Editor y elijo MQL5 Storage -> Add, y el nombre del archivo en el navegador se marca con "+" azul. Parece que se ha añadido. Incluso aquellos archivos que fueron añadidos previamente, pero que fueron modificados posteriormente, están marcados con "!" en un círculo rojo. Parece que hay una diferencia. Pero no encuentro ningún archivo añadido en el propio repositorio:



¿Qué tiene de malo?

 
MetaDriver:

El lienzo no funciona (se compila, pero no se muestra) desde hace varias compilaciones. ¿Esta es la forma en que se supone que funciona? ¿O un descuido?

// hace cinco construcciones funcionaba.

¿Has probado otras clases? ¿Tampoco funcionan?

He mirado la clase Canvas, y las funciones de MQL5 se utilizan en sus métodos. Lo más probable es que esta sea la causa del problema. Por ejemplo, ¿método?

//+------------------------------------------------------------------+
//| Set font                                                         |
//+------------------------------------------------------------------+
bool CCanvas::FontSet(void)
  {
   return(TextSetFont(m_fontname,m_fontsize,m_fontflags,m_fontangle));
  }

utiliza TextSetFont de MQL5, que probablemente no ha sido implementado en MQL4 todavía. Sin embargo, ya está presente en las descripciones de ayuda. Tal vez, se olvidaron de implementarlo.

Por cierto, los desarrolladores han hecho un gran trabajo con el resaltado de sintaxis en el editor. Realmente ayuda a distinguir los métodos de la clase de las funciones del lenguaje.