Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 325
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Ven y ayúdame.
La tarea consiste en encontrar el elemento mínimo en el array[].
El problema se resuelve, pero lo mínimo me mata. Lo he intentado todo, las matrices de entrada están llenas - miré a través de la depuración, ¿qué hacer?
¿Quizás haya algunos matices?
declarado a través de
Ven y ayúdame.
La tarea consiste en encontrar el elemento mínimo en el array[].
El problema se resuelve, pero lo mínimo me mata. Lo he intentado todo, las matrices de entrada están llenas - miré a través de la depuración, ¿qué hacer?
¿Quizás haya algunos matices?
declarado a través de
Prueba con ArraySort y comprueba lo que muestra el primer índice.
Hasta aquí la noosfera, en cuanto dejé la pregunta, se me ocurrió una corazonada: tengo 0 en el array, por lo que da min = 0. Pero aún hay tramos con valores distintos de cero, y el min sigue siendo 0, bueno, Dios no lo quiera, la pregunta está resuelta)) Gracias a los que simplemente leen, la noosfera te dio
Atención a la pregunta))
¿Cómo se establece la barra del indicador a partir de la cual se empieza a procesar?
if(prev_calculated>rates_total-Bmax)
{ ... то что нужно обрабатывать начиная с бара[rates_total-Bmax]
}
Probado esto, el resultado es que el indicador hace un solo movimiento.
Hola de nuevo, ¿podríais decirme si conozco el índice de un elemento del array y qué función se utiliza para averiguar su valor?
int Total=Total de pedidos();
double Precio; // Precio de la orden seleccionada
double Mas[]; //array para ordenar todos los pedidos
for(int i=0; i<OrdersTotal(); i++) /bucle de pedidos
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{Price=OrderOpenPrice(); //Rellenar la matriz con los precios
Mas[i] = Precio;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Ahora los precios de apertura están ordenados de forma descendente
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) // Se determina el índice del elemento más cercano en valor al precio actual
Como he encontrado antes de estudiar las clases, de nuevo hay matices que no se describen en los artículos o en algún lugar tan oculto que no es posible encontrar a través de un motor de búsqueda. Todo un día en vano buscando explicaciones. Por ejemplo, qué significa este símbolo y cómo afecta si no. Como se ve a continuación en el ejemplo de stati, primero está y luego no: &
Además, no está claro qué significa este símbolo: ~
*
Las funciones mql4, mql5 siempre pasan un array por referencia solamente (& == ampersand)
En primer lugar - en los parámetros formales de una función - hay un ampersand que indica que no es la propia matriz la que se pasa a la función, sino un enlace a ella. Y entonces -dentro de la función- ya estás trabajando con la referencia, lo que significa que no tienes que especificarla de nuevo.
La tilde (~) se escribe antes del nombre del destructor de la clase - el constructor y el destructor tienen el mismo nombre que la propia clase, pero el destructor tiene ~.
Lee este artículo sobre cuándo usar referencias y cuándo usar punteros.
Aunque, de todos modos, hay que leer lo básico.
Hola de nuevo, ¿podríais decirme si conozco el índice de un elemento del array y qué función se utiliza para averiguar su valor?
int Total=Total de pedidos();
double Precio; // Precio de la orden seleccionada
double Mas[]; //array para ordenar todos los pedidos
for(int i=0; i<OrdersTotal(); i++) /bucle de pedidos
{
if(OrderSelect(i,SELECT_BY_POS)) // If(OrderSelect(i,SELECT_BY_POS)) // Si hay un siguiente
{Price=OrderOpenPrice(); //Rellenar la matriz con los precios
Mas[i] = Precio;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Ahora los precios de apertura están ordenados de forma descendente
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) // Se determina el índice del elemento más cercano en valor al precio actual
Matriz_de_valores = Matriz[índice];
Por favor, aconsejadme, tengo un EA y lo he estado probando en el trabajo en un ordenador normal, windows hp. Todo funciona bien y así sucesivamente.
Llego a casa, en el macbook de los portátiles de casa, y absolutamente con los mismos parámetros en la misma herramienta con el mismo marco de tiempo muestra un resultado completamente diferente en el probador, cualquier sugerencia o ideas por qué así?
Array_elemento_valor = Array[índice];
Gracias, ahora hay un nuevo problema. Al escribir la siguiente condición se produce un error 'PriceBlizko1' - identificador no declarado. Explique por qué, por favor.
doble precio; // Precio de la orden seleccionada
doble Mas[]; //array para ordenar todos los pedidos
for(int i=0; i<OrdersTotal(); i++) // Bucle de pedidos
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{
Precio=Precio de apertura del pedido(); //Llenar la matriz con los precios
Mas[i] = Precio;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Ahora los precios de apertura están ordenados de forma descendente
int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND); //Se determina el índice del elemento más cercano en valor al precio actual
double PrecioBlizko1=Mas[Blizko1];
}
if (PriceBlizko1-Bid>=30*Point) //si la orden inferior está más allá de 30 puntos !!!!!! EN ESTA CALLE!!!!!
OrderSend(Symbol(),OP_SELL,LtsS,Bid,2,0,Bid+30*Point); //Abrir orden de venta
Alerta (GetLastError()); /Mensaje de error.
Utilice el botón para insertar el código.