Preguntas de un "tonto" - página 67

 
sergeev:

el número de elementos se especifica mediante una constante

si no se conoce de antemano el número de 'elementos, utilice ArrayResize.

Estos son los fundamentos de c++

const int elements=4;
Si es así, no ha servido de nada.
 
x100intraday:
Si es así, no ha servido de nada.

#define  elements 4
 
sergeev:

Gracias.
 

Hola.

¿Pueden decirme cómo configurar una zona resaltada en MetaTrader 5 para poder seguir las órdenes actuales?

Véase la captura de pantalla adjunta.

Gracias de antemano.

Archivos adjuntos:
uf2mcfxvni.JPG  285 kb
 
Dimm-ua:

Hola.

¿Pueden decirme cómo configurar una zona resaltada en MetaTrader 5 para poder seguir las órdenes actuales?

Véase la captura de pantalla adjunta.

Gracias de antemano.


La ventana "Caja de herramientas", pestaña "Comercio".
 
Karlson:
Ventana de herramientas.Pestaña de comercio.
Debo ser un completo tonto, pero no existe tal cosa
 
 
Karlson:

OK, muchas gracias - solucionado
 

Pregunta a los desarrolladores: ¿un cambio de posición modifica la hora de apertura de una posición? Si no es así, ¿cómo se obtiene el tiempo de renovación de la posición?

Resulta que una posición sólo puede invertirse en dos solicitudes: para cerrar la posición actual y abrir una nueva en sentido contrario, entonces el tiempo de apertura de la posición será igual al tiempo de inversión. ¿Y si volteamos por una solicitud, entonces no podemos obtener el tiempo de rollover de la posición usando la función PositionGetInteger...?

 

Tomemos el ejemplo más simple de un indicador interno - Fractales: https://www.mql5.com/ru/code/viewcode/30/5540/fractals.mq5. Ahí están esas pilas de código:

ExtUpperBuffer[i]=High[i];
ExtLowerBuffer[i]=Low[i];

Estos buffers son dinámicos de tipo doble.

Además, la necesidad de almacenar no sólo los datos del precio - Alto y Bajo - sino también el HighTime y LowTime especificados de las barras extremas (como usted sabe, todos los TFs, excepto M1, tienen valores de tiempo aproximados, por lo tanto tuve que calcular el tiempo exacto para mí para agregarlo en los búferes de tiempo para su uso posterior). El Capitán Hindsight sugiere que necesitamos declarar arrays apropiados de tipo datetime, y luego llenarlos de manera similar:

ExtUpperTimeBuffer[i]=exactTime[0]; // правая часть - элемент массива, вычисленный заранее
ExtLowerTimeBuffer[i]=exactTime[0]; // правая часть - элемент массива, вычисленный заранее

y si no:

ExtUpperTimeBuffer[i]=EMPTY_VALUE;
ExtLowerTimeBuffer[i]=EMPTY_VALUE;

pero antes de eso, ve a la ayuda de datetime y descubre:

"Constantes de fecha y hora... " y "...puede representarse como una cadena literal". Además, no podemos asociar arrays de este tipo con buffers indicadores (y no lo necesitamos...), no podemos aplicar SetIndexBuffer a arrays de este tipo de datos por razones bien conocidas. Y no lo hacemos. Reflexionamos sobre ello durante mucho tiempo y llegamos a la conclusión de que está bien. Compilamos el código resultante. Obtenemos una advertencia"truncamiento del valor constante" con respecto a las cadenas con =EMPTY_VALUE(nos sentimos tristes) y un error en el informe del Asesor Experto: "Array out of range " con respecto a las mismas cadenas (nos sentimos tristes al final). Parece queEMPTY_VALUE no quiereentrar en el tipo datetime , mientras que el tamaño del array sigue siendo cero. CambiandoEMPTY_VALUE a 0, el error desaparece pero el tamaño del array sigue siendo cero. También es extraña otra cosa: los tamaños de los buffers ExtUpperBuffer y ExtLowerBuffer son distintos de cero, lo que significa que se llenan sin embargo los fractales no aparecen. ¿Por qué ocurre esto de repente?

Lo que más me interesa es: ¿es posible llenar los buffers de tiempo directamente como los buffers de precio (sin recurrir a CopyTime y otras funciones regulares de copia a array) y cómo, y si no, por qué? Realmente, para ello debería hacer otro par de buffers para almacenar los segundos desde el inicio de 1970, pero con tipo no datetime, sino algún double o long, por ejemplo, y en los momentos necesarios convertir a través de TimeToString al formato de tiempo como cadena literal?

P.D.: quien sea demasiado perezoso para reproducir el código completo de Fractals.mq5, sólo dígame, ¿cómo almacena los datos específicos del tiempo calculado (sin llamar a los manejadores de los indicadores incorporados y trabajar con ellos)?

Gracias.