Es mucho más sencillo. Cree un botón de visualización (o utilice uno de los botones existentes). Más adelante - todos los objetos necesarios están marcados con la bandera de visibilidad en todos los TFs. Cuando se suelta el botón, todos los objetos se fijan para mostrar la propiedad en todos los TFs (o es necesario si es necesario). No es necesario borrar/reorganizar nada. Lo único que hay que hacer es volver a dibujar el gráfico después de esta operación.
¿Me pueden decir cómo obtener los datos del indicador en un array? Es decir, está claro que tengo que declarar un array
doble matriz_de_números[];
No sé muy bien qué hacer a continuación...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // la matriz con el índice [0] es igual a MA, pero si cambiamos el índice a [1], entonces resulta que num_array[1] es igual
los mismos datos del indicador que num_array[0]. Este no debería ser el caso. La matriz debe llenarse secuencialmente. Lo único que se me ocurre es dividir el día en 24
horas, declare una matriz bidimensional y asigne un índice a cada hora con su propia cadena etc....
¿Quizás haya una forma más sencilla o menos engorrosa?
¿Me pueden decir cómo obtener los datos del indicador en un array? Es decir, está claro que tengo que declarar un array
doble matriz_de_números[];
No sé muy bien qué hacer a continuación...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // la matriz con el índice [0] es igual a MA, pero si cambiamos el índice a [1], entonces resulta que num_array[1] es igual
los mismos datos del indicador que num_array[0]. Este no debería ser el caso. La matriz debe llenarse secuencialmente. Lo único que se me ocurre es dividir el día en 24
horas, declare una matriz bidimensional y asigne un índice a cada hora con su propia cadena etc....
¿Quizás haya una forma más sencilla o menos engorrosa?
Ah, resulta que hay que establecer el número máximo de índices en el array a través deArrayResize y pasarlos por un bucle. Muchas gracias, pero entonces hay una pregunta, cuando todos los índices se llenan con los datos del indicador, deben ser borrados a través deArrayFree, o se reescribirá a sí mismo? O después de 24x todo se detendrá en absoluto? Perdón por la pregunta tonta, pero los arrays son una especie de caballo negro con funciones desconocidas.
Corvin85: Oh, puedo establecer el número máximo de índices en el array a través deArrayResize y pasarlos por el bucle. Muchas gracias, pero entonces me surge una duda, cuando todos los índices estén llenos de datos del indicador, ¿debo borrarlos a través deArrayFree, o se reescribirá solo? o después del 24 se detendrá todo? Perdón por la pregunta tan contundente, pero los arrays son una especie de caballo negro con funciones desconocidas.
Bueno, depende del objetivo que persigas. Escribí el código para llenar el array con los datos mA de las últimas 24 barras. Se actualizará continuamente.
Corvin85: Oh, puedo usarArrayResize para establecer el número máximo de índices en el array y pasarlos por el bucle. Muchas gracias, pero entonces me surge una duda, cuando todos los índices estén llenos de datos del indicador, ¿debo borrarlos a través deArrayFree, o se reescribirá solo? o después del 24 se detendrá todo? Perdón por la pregunta tan contundente, pero los arrays son una especie de caballo negro con funciones desconocidas.
Array = un conjunto de variables simples alineadas en una fila para una conveniente referencia de índice. El índice es una variable entera para acceder a los elementos del array por número para organizar un bucle. Índice = contador de números. ArrayFree = destrucción de arrays - como arrasar con casas destartaladas. Pero se puede restaurar de nuevo con ArrayResize. Bueno ,ArrayResize es una valla alrededor de un array residencial. El nuestro está aquí, pero los extraños están detrás de la valla, y está prohibido entrar allí. Puedes introducir cada casa muchas veces (asignar un nuevo valor a un elemento del array). Una matriz es muy simple y conveniente para muchos propósitos. Y los que tienen miedo de las matrices - los ... Por lo tanto, es mejor que los conozcas.
¿Existe una función que devuelva el tipo de variable?
Por ejemplo, usted escribe.
int a=10;
y luego escribes:
functia(a);
y dice: ¡INT!
:)
string functia(double a) { devuelve "¡DABLE!"; } // también inesperadamente
¿Hay alguna función que devuelva un tipo de variable?
Por ejemplo, usted escribe.
int a=10;
y luego escribes:
functia(a);
y dice: ¡INT!
:)
De la ayuda:
Es mucho más sencillo. Cree un botón de visualización (o utilice uno de los botones existentes). Más adelante - todos los objetos necesarios están marcados con la bandera de visibilidad en todos los TFs. Cuando se suelta el botón, todos los objetos se fijan para mostrar la propiedad en todos los TFs (o es necesario si es necesario). No es necesario borrar/reorganizar nada. Lo único que hay que hacer es volver a dibujar el gráfico después de esta operación.
Propiedad del objeto OBJPROP_TIMEFRAMES.
¿Me pueden decir cómo obtener los datos del indicador en un array? Es decir, está claro que tengo que declarar un array
doble matriz_de_números[];
No sé muy bien qué hacer a continuación...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // la matriz con el índice [0] es igual a MA, pero si cambiamos el índice a [1], entonces resulta que num_array[1] es igual
los mismos datos del indicador que num_array[0]. Este no debería ser el caso. La matriz debe llenarse secuencialmente. Lo único que se me ocurre es dividir el día en 24
horas, declare una matriz bidimensional y asigne un índice a cada hora con su propia cadena etc....
¿Quizás haya una forma más sencilla o menos engorrosa?
¿Me pueden decir cómo obtener los datos del indicador en un array? Es decir, está claro que tengo que declarar un array
doble matriz_de_números[];
No sé muy bien qué hacer a continuación...
num_array[0] = iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i); // la matriz con el índice [0] es igual a MA, pero si cambiamos el índice a [1], entonces resulta que num_array[1] es igual
los mismos datos del indicador que num_array[0]. Este no debería ser el caso. La matriz debe llenarse secuencialmente. Lo único que se me ocurre es dividir el día en 24
horas, declare una matriz bidimensional y asigne un índice a cada hora con su propia cadena etc....
¿Quizás haya una forma más sencilla o menos engorrosa?
Yo lo veo así:
Yo lo veo así:
Oh, puedo establecer el número máximo de índices en el array a través deArrayResize y pasarlos por el bucle. Muchas gracias, pero entonces me surge una duda, cuando todos los índices estén llenos de datos del indicador, ¿debo borrarlos a través deArrayFree, o se reescribirá solo? o después del 24 se detendrá todo? Perdón por la pregunta tan contundente, pero los arrays son una especie de caballo negro con funciones desconocidas.
Oh, puedo usarArrayResize para establecer el número máximo de índices en el array y pasarlos por el bucle. Muchas gracias, pero entonces me surge una duda, cuando todos los índices estén llenos de datos del indicador, ¿debo borrarlos a través deArrayFree, o se reescribirá solo? o después del 24 se detendrá todo? Perdón por la pregunta tan contundente, pero los arrays son una especie de caballo negro con funciones desconocidas.
Array = un conjunto de variables simples alineadas en una fila para una conveniente referencia de índice. El índice es una variable entera para acceder a los elementos del array por número para organizar un bucle. Índice = contador de números. ArrayFree = destrucción de arrays - como arrasar con casas destartaladas. Pero se puede restaurar de nuevo con ArrayResize. Bueno ,ArrayResize es una valla alrededor de un array residencial. El nuestro está aquí, pero los extraños están detrás de la valla, y está prohibido entrar allí. Puedes introducir cada casa muchas veces (asignar un nuevo valor a un elemento del array). Una matriz es muy simple y conveniente para muchos propósitos. Y los que tienen miedo de las matrices - los ... Por lo tanto, es mejor que los conozcas.
//+------------------------------------------------------------------+ //| Проверка массива | //+------------------------------------------------------------------+ #property strict int m[10]; int n; void OnStart() { ArrayInitialize(m,7); Вывод(); // Заполнить семерками ArrayResize(m,7); Вывод(); // Удалить 3 последних элемента ArrayResize(m,9); Вывод(); // Увеличить размер m[1]=1; m[7]=1; Вывод(); // Изменить 2 элемента for(n=0; n<9; n++) m[n]=n*n; Вывод(); // Заполнить квадратами номеров ArrayCopy(m,m,0,2,7); Вывод(); // Копирование со сдвигом ArrayResize(m,ArraySize(m)-2); Вывод(); // Удалить 2 последних элемента } void Вывод() { string s=""; for(n=0; n<ArraySize(m); n++) s+=" " + string(m[n]); Alert(ArraySize(m), ":", s); }Pruebe a ejecutar un script como este - y practiqueDe la referencia: