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

 

Agrego estas líneas al código fuente del indicador:

#property version             "1.00"
#property description         "This indicator looks for two consecutive fractal and puts signal pointers"
#property description         "Flag DrawArrowSig : true = Set signal arrow, false = No set signal arrow"
#property icon                "\\files\\FindTwoFractals32x32.ico";

Esto es lo que tenemos al final:


De ahí la pregunta:

  1. ¿Es posible utilizar los recursos en los indicadores?
  2. ¿Se ha especificado correctamente la ruta del archivo de iconos "\files\findTwoFractals32x32.ico"; si la ubicación real del archivo es D:\NNNewMT4\MQL4\files y se lanza el terminal con ME /portable
  3. ¿Qué tamaño en píxeles es aceptable para un icono?
Gracias.
 
artmedia70:

Agrego estas líneas al código fuente del indicador:

Esto es lo que tenemos al final:


De ahí la pregunta:

  1. ¿Es posible utilizar los recursos en los indicadores?
  2. ¿Se ha especificado correctamente la ruta del archivo de iconos "\files\findTwoFractals32x32.ico"; si la ubicación real del archivo es D:\NNNewMT4\MQL4\files y se lanza el terminal con ME /portable
  3. ¿Qué tamaño de píxel es aceptable para un icono?
Gracias.


1. es posible. cambiaremos la ventana al mismo tamaño que MT5

2. Mira en "Archivo - Abrir directorio de datos". Aquí es donde se leerá la ruta de acceso

3. es mejor utilizar un conjunto completo (varios iconos en un solo archivo) de 16x16 a 64x64 (128x128) archivos .ico. Pronto los programas se mostrarán con sus iconos nativos directamente en la interfaz del sistema operativo.

También puede leer más sobre los recursos:

 

Has hecho un truco muy práctico a la hora de crear parámetros externos y de entrada, sustituir la variable por su descripción después de //.

Es posible reemplazar las descripciones de las funciones personalizadas, ahora hago una inicialización vacía de una variable de tipo cadena en mis funciones para ver todos los parámetros de valores pasados

 
double  iBands(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          period,           // период
   int          deviation,        // отклонение
   int          bands_shift,      // сдвиг относительно цены
   int          applied_price,    // тип цены
   int          mode,             // индекс линии
   int          shift             // сдвиг
   );
У deviation тип double должен быть.
 

La mayor parte del problema se resuelve nombrando explícitamente las variables en el prototipo. Es decir, no tipo1, tipo2, sino tipo_transacción, operación_comercial, etc.

Si hay valores enumerados, es mejor describirlos con enum, lo que permite la sustitución automática durante la edición.

 
Renat:
Estamos poniendo todo en la misma vista por el bien de la compatibilidad UAC. La migración de directorios en la compilación 534 se ha completado.

Es decir, ¿hay más de un 534 construido? La pregunta surge por sí misma, porque tengo 534 build, Terminal se instala no en X:\Program Files (x86) y no en X:\Program Files, OS Windows 7, los derechos en el sistema de administrador, por si acaso me puse el acceso completo en los directorios y subdirectorios de Terminal, pero "basura" todavía se crea en X:\\\xAppData\Roaming\MetaQuotes\. Al mismo tiempo también se crea "basura" en X:\ProgramData\MetaQuotes. En la compilación 529 con todo lo mencionado anteriormente, no se creaba la basura en X:\N-Universidadesxxx\N-Data\N-Roaming\N-MetaQuotes.

Se me olvidaba, el parámetro /portable está activado.

 
¿Qué es este misterioso parámetro "/portable"? ¿Dónde debe incluirse? ¿O no?
 
Zhunko:
¿Qué es este misterioso parámetro "/portable"? ¿Dónde debe incluirse? ¿O no?
El parámetro inicia forzosamente el terminal en su caja de arena y se habilita cuando se inicia el terminal o unitor. En teoría, debería evitar que el programa cree basura en el sistema. He creado un archivo por lotes - start terminal.exe /portable
 
Barbarian:

Es decir, ¿hay más de un 534 construido? La pregunta surge por sí misma, porque tengo 534 build, terminal se instala no en X:\Program Files (x86) y no en X:\Program Files, OS Windows 7, los derechos en el sistema de administrador, por si acaso he establecido el acceso completo en los directorios y subdirectorios de terminal, pero "basura" todavía se crea en X:\\sersxxx\AppData\Roaming\MetaQuotes\. Al mismo tiempo también se crea "basura" en X:\ProgramData\MetaQuotes. En la compilación 529 con todo lo mencionado anteriormente, no se creaba la basura en X:\N-Universidadesxxx\N-Data\N-Roaming\N-MetaQuotes.

Se ha olvidado, el parámetro /portable está activado.

Construye uno.

Las aplicaciones de 32 bits en Windows de 64 bits se instalan exclusivamente en Archivos de Programa (x86) - este es el requisito de compatibilidad de Microsoft.

Los directorios de datos en el área de Users/AppData ya no son basura, y ya no son recomendaciones de Microsoft (que a todos los desarrolladores no les importó durante muchos años), sino la dura verdad de la vida. En los últimos sistemas operativos, Microsoft ha dado un mazazo a todo el mundo para que funcione correctamente, porque no hay otra forma de hacer frente al UAC. En el mercado de masas es la única forma que queda. Piensa en ello como si tuvieras el UAC activado en todas partes y nunca estuviera desactivado.

Para forzar al terminal a guardar la mayor parte de los datos en un directorio local, o para trabajar en modo portátil/transportable (por ejemplo, en un flash), es necesario utilizar la bandera /portable. Pero esto todavía no se aplica al almacenamiento de datos generales no personalizados en Users/AppData.

 
Barbarian:
El parámetro obliga al terminal a ejecutarse en su caja de arena y se activa cuando se inicia el terminal o la unicast. Se supone que evita que el programa cree basura en el sistema. He creado un archivo por lotes - start terminal.exe /portable
Extraño... ¿No debería ser esto lo predeterminado, como solía ser?