El tipo int tiene un tamaño de 4 bytes (32 bits). El valor mínimo es -2 147 483 648, el valor máximo es 2 147 483 647.
MiiBarShift no quiere dar un valor superior a 99999
Dibujo una línea de tendencia en el gráfico, el siguiente script obtiene el tiempo de inicio de la línea y emite el número de barra de ese tiempo.
Cuando la línea se desplaza hacia atrás en la historia en algún momento el valor de salida se detiene en 99999, y si
boolexact=false// modo
cambiarlo a true, imprime -1, y GetLastError = 0
voidOnStart()
{
int total = ObjectsTotal(0, 0, -1); // Общее кол-во объектов на: /текущий график/главное окно/все типы объектовdatetime time0 = 0; // Время соответствующее началу трендовой линииstring objname = ""; // Имя объекта (трендовой линии)int shift = 0; // Номер бара, соответствующего времени начала трендовой линии time0for(int i = total - 1; i >= 0; i--)
{
objname = (string)ObjectName(0, i, 0, OBJ_TREND);
time0 = ObjectGetInteger(0, objname, OBJPROP_TIME, 0);
shift = iBarShift(NULL, PERIOD_M1, time0, false);
Comment("shift: ", shift, " Error: ", GetLastError());
Sleep(2000);
}
}
¿Qué pasa?
He probado diferentes gráficos de diferentes brokers, el tiempo de la línea se lee correctamente, si cambio PERIOD_M1 a M5, por ejemplo, entonces necesito moverme más en el historial para llegar a 99999
Целый тип char занимает в памяти 1 байт (8 бит) и позволяет выразить в двоичной системе счисления 2^8 значений=256. Тип char может содержать как положительные, так и отрицательные значения. Диапазон изменения значений составляет от -128 до 127. uchar # Целый тип uchar также занимает в памяти 1 байт, как и тип char, но в отличие от него, uchar...
El tipo int tiene un tamaño de 4 bytes (32 bits). El valor mínimo es -2 147 483 648, el valor máximo es 2 147 483 647.
MiiBarShift no quiere dar un valor superior a 99999
Dibujo una línea de tendencia en el gráfico, el siguiente script obtiene el tiempo de inicio de la línea y emite el número de barra de ese tiempo.
Cuando la línea se desplaza hacia atrás en la historia en algún momento el valor de salida se detiene en 99999, y si
boolexact=false// modo
cambiarlo a true, imprime -1, y GetLastError = 0
¿Qué pasa?
He probado diferentes gráficos de diferentes brokers, el tiempo de la línea se lee correctamente, si cambio PERIOD_M1 a M5, por ejemplo, necesito moverme más en el historial para llegar a 99999.
En primer lugar, comprueba el número máximo de barras en los ajustes del terminal.
intOnInit()
{
//-создадим хэндл индикатораhandle=iAO(name,period);
//-если не удалось создать хэндлif(handle==INVALID_HANDLE)
{
...
return(INIT_FAILED);
}
Pregunta: ¿A partir de qué parámetros se asigna el número (dígitos) de una manilla? ¿Puede ser diferente después de reiniciar el terminal? ¿Puede ser diferente después de una reinicialización del gráfico? ¿En qué casos puede cambiar?
Pregunta: ¿A partir de qué parámetros se asigna el número (dígitos) de una manilla? ¿Puede ser diferente después de reiniciar el terminal? ¿Puede ser diferente después de una reinicialización del gráfico? ¿En qué casos puede cambiar?
Si sólo hay un indicador, siempre tiene un mango de 10. Cada una de las sucesivas es igual a la anterior+1 y todo depende del orden de creación de las asas. Sólo puede cambiar si uno de los anteriores obtiene un error.
Si tiene un indicador, siempre tiene un mango de 10. Cada una de las siguientes es igual a la anterior+1 y todo depende del orden en que se crearon las asas. Sólo puede cambiar si uno de los anteriores obtiene un error.
Pregunta: ¿A partir de qué parámetros se asigna el número (dígitos) de una manilla? ¿Puede ser diferente después de reiniciar el terminal? ¿Puede ser diferente después de una reinicialización del gráfico? ¿En qué casos puede cambiar?
Предположим, что нам вдруг наскучил классический MQL5-доступ к индикаторам и захотелось сравнить скорость доступа в сравнении с альтернативными вариантами. Например, сравним его с доступом к индикаторам в стиле MQL4 без кэширования и с кэшированием. Идеи с доступом в MQL4-стиле были взяты из статьи LifeHack для трейдера: готовим фастфуд из...
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
Si simplemente especifico MyFun( &Mas[][] ) en la cabecera, el compilador genera un error al acceder a un elemento del array Mas[j][k] en el cuerpo de la función... ¿Pero cómo?
Parece que no hay problema con los unidimensionales.
Si simplemente especifico MyFun( &Mas[][] ) en la cabecera, el compilador genera un error al acceder a un elemento del array Mas[j][k] en el cuerpo de la función... ¿Pero cómo?
No parece haber ningún problema con las matrices unidimensionales.
Las dimensiones del segundo y del siguiente array no pueden ser dinámicas. En consecuencia, debe ser MyFun(int &Mas[][7]) declarada como un array, por ejemplo, int Mas[][7]; por lo que debe ser recibida.
MQL5 iBarShift
Según la documentación de mql5, la función iBarShift devuelve un valor de tipo int.
int#
El tipo int tiene un tamaño de 4 bytes (32 bits). El valor mínimo es -2 147 483 648, el valor máximo es 2 147 483 647.
MiiBarShift no quiere dar un valor superior a 99999
Dibujo una línea de tendencia en el gráfico, el siguiente script obtiene el tiempo de inicio de la línea y emite el número de barra de ese tiempo.
Cuando la línea se desplaza hacia atrás en la historia en algún momento el valor de salida se detiene en 99999, y si
boolexact=false// modo
cambiarlo a true, imprime -1, y GetLastError = 0
¿Qué pasa?
He probado diferentes gráficos de diferentes brokers, el tiempo de la línea se lee correctamente, si cambio PERIOD_M1 a M5, por ejemplo, entonces necesito moverme más en el historial para llegar a 99999
MQL5 iBarShift
Según la documentación de mql5, la función iBarShift devuelve un valor de tipo int.
int#
El tipo int tiene un tamaño de 4 bytes (32 bits). El valor mínimo es -2 147 483 648, el valor máximo es 2 147 483 647.
MiiBarShift no quiere dar un valor superior a 99999
Dibujo una línea de tendencia en el gráfico, el siguiente script obtiene el tiempo de inicio de la línea y emite el número de barra de ese tiempo.
Cuando la línea se desplaza hacia atrás en la historia en algún momento el valor de salida se detiene en 99999, y si
boolexact=false// modo
cambiarlo a true, imprime -1, y GetLastError = 0
¿Qué pasa?
He probado diferentes gráficos de diferentes brokers, el tiempo de la línea se lee correctamente, si cambio PERIOD_M1 a M5, por ejemplo, necesito moverme más en el historial para llegar a 99999.
En primer lugar, comprueba el número máximo de barras en los ajustes del terminal.
Primero comprueba el número máximo de barras en los ajustes del terminal.
Gracias.
Era 10000, lo cambié a ilimitado y funcionó.
Aunque no es algo obvio...
Ayuda a la creación de asas
Esto es lo que pasa
Pregunta: ¿A partir de qué parámetros se asigna el número (dígitos) de una manilla?
¿Puede ser diferente después de reiniciar el terminal?
¿Puede ser diferente después de una reinicialización del gráfico?
¿En qué casos puede cambiar?
Ayuda a la creación de asas
Esto es lo que pasa
Pregunta: ¿A partir de qué parámetros se asigna el número (dígitos) de una manilla?
¿Puede ser diferente después de reiniciar el terminal?
¿Puede ser diferente después de una reinicialización del gráfico?
¿En qué casos puede cambiar?
Si sólo hay un indicador, siempre tiene un mango de 10. Cada una de las sucesivas es igual a la anterior+1 y todo depende del orden de creación de las asas. Sólo puede cambiar si uno de los anteriores obtiene un error.
Si tiene un indicador, siempre tiene un mango de 10. Cada una de las siguientes es igual a la anterior+1 y todo depende del orden en que se crearon las asas. Sólo puede cambiar si uno de los anteriores obtiene un error.
Ya veo, se entiende más o menos. Gracias.
Ayuda a la creación de asas
Hay una cosa así
Pregunta: ¿A partir de qué parámetros se asigna el número (dígitos) de una manilla?
¿Puede ser diferente después de reiniciar el terminal?
¿Puede ser diferente después de una reinicialización del gráfico?
¿En qué casos puede cambiar?
Respuestas encontradas
Por favor, indíqueme cómo pasar correctamente un array multidimensional a una función.
Si simplemente especifico MyFun( &Mas[][] ) en la cabecera, el compilador genera un error al acceder a un elemento del array Mas[j][k] en el cuerpo de la función... ¿Pero cómo?
Parece que no hay problema con los unidimensionales.
Por favor, indíqueme cómo pasar correctamente un array multidimensional a una función.
Si simplemente especifico MyFun( &Mas[][] ) en la cabecera, el compilador genera un error al acceder a un elemento del array Mas[j][k] en el cuerpo de la función... ¿Pero cómo?
No parece haber ningún problema con las matrices unidimensionales.
Las dimensiones del segundo y del siguiente array no pueden ser dinámicas. En consecuencia, debe ser MyFun(int &Mas[][7]) declarada como un array, por ejemplo, int Mas[][7]; por lo que debe ser recibida.