El problema se resuelve asignando las variables auxiliares a los últimos números de orden del buffer, pero sin prescribir los ajustes de visualización. Antes de esto, los topes innecesarios estaban en la mitad de la lista.
Quiero colocar órdenes pendientes en posiciones que han sido cerradas por el día.
La función coloca la orden al precio de la última posición cerrada.
¿Qué debo hacer para poner órdenes pendientes en los precios de todas las posiciones cerradas en un día?
Recorre la lista de posiciones cerradas en el bucle, seleccionando aquellas cuya hora de cierre es mayor que la hora de inicio del día requerido (y menor que la hora de inicio del día siguiente, si fue anteayer por ejemplo).
Añade todos los precios de cierre (precios de apertura - no sabe a qué quiere ajustarlos exactamente) de todas las posiciones encontradas a un simple array o a un array de estructuras.
Recorrer el array creado en el bucle y colocar las órdenes pendientes a los precios del array (comprobando si existe una orden a este precio - no es necesario colocar varias órdenes al mismo precio)
También puede eliminar los precios de los pedidos ya realizados de la matriz mientras tanto, pero es un poco complicado...
Empecé a estudiar MQL4 por el libro de S. Kovalev. Kovalev, hay algunas inconsistencias en el código, ya que el libro fue escrito para builds antiguos de MT4.
Por favor, indique cómo procesar este código para evitar errores.
#property strictint Count=0;
int init()
{
Alert ("Сработала ф-ия init() при запуске"); // Сообщениеreturn; // Выход из init()
}
//--------------------------------------------------------------------int start() // Спец. ф-ия start()
{
double Price = Bid; // Локальная перемен.
Count++; // Счётчик тиковAlert("Новый тик ",Count," Цена = ",Price); // Сообщениеreturn; // Выход из start()
}
int deinit() // Спец. ф-ия deinit()
{
Alert ("Сработала ф-ия deinit() при выгрузке"); // Сообщениеreturn; // Выход из deinit()
}
#property strictint Count=0;
int init()
{
Alert ("Сработала ф-ия init() при запуске"); // Сообщениеreturn(0); // Выход из init()
}
//--------------------------------------------------------------------int start() // Спец. ф-ия start()
{
double Price = Bid; // Локальная перемен.
Count++; // Счётчик тиковAlert("Новый тик ",Count," Цена = ",Price); // Сообщениеreturn(0); // Выход из start()
}
int deinit() // Спец. ф-ия deinit()
{
Alert ("Сработала ф-ия deinit() при выгрузке"); // Сообщениеreturn(0); // Выход из deinit()
}
2. Pregunta, ¿qué tan problemático es escribir código para nuevas construcciones usando los conocimientos dados en el tutorial (me refiero al factor de antigüedad de la información)?
Empecé a estudiar MQL4 por el libro de S. Kovalev. Kovalev, hay algunas inconsistencias en el código, ya que el libro fue escrito para builds antiguos de MT4.
Por favor, indique cómo procesar este código para evitar errores.
2. Pregunta, ¿hasta qué punto es un problema escribir código para nuevas construcciones utilizando los conocimientos dados en el tutorial (me refiero al factor de antigüedad de la información)?
Utilice OnInit(), OnDeinit(), OnTick(), y otros de la lista:
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
Empecé a estudiar MQL4 por el libro de S. Kovalev. Kovalev, hay algunas inconsistencias en el código, ya que el libro fue escrito para builds antiguos de MT4.
Por favor, indique cómo procesar este código para evitar errores.
2. Pregunta, ¿hasta qué punto es un problema escribir código para nuevas construcciones utilizando los conocimientos del tutorial (me refiero al factor de antigüedad de la información)?
Tienes razón al devolver valores de funciones no vacías, pero es mejor cambiar a nuevas construcciones - no hay nada complicado allí.
Escriba, no se olvide de insertar la directiva #property strict al principio del código - donde se escriben todas las directivas, lea los códigos de error - sus descripciones están en la documentación, y todo estará bien y no complicado.
Recorrer la lista de posiciones cerradas, seleccionando las que tienen una hora de cierre mayor que la hora de inicio del día que se desea
Gracias, encuentro los precios abiertos de las posiciones cerradas en el momento requerido en el primer ciclo. Todos aparecen en la impresora y tengo que hacer pedidos sobre ellos.
La matriz me resulta un poco complicada, por favor, aconséjeme cómo insertar los ciclos para comprobar y ponerlos al precio de apertura en el primer ciclo de búsqueda de estos precios.
Entonces, pone en el precio de la más antigua que necesito, ¿cómo voy al siguiente precio encontrado?
Gracias, encuentro los precios de apertura de las posiciones cerradas en el momento adecuado en el primer ciclo. Todos aparecen en la impresora y tengo que hacer pedidos sobre ellos.
El array es un laberinto para mí, dime cómo poner los ciclos para comprobar y establecer al precio de apertura en el primer bucle para encontrar estos precios.
Es más rápido entender y comprender lo que son los arrays, que corregir lo que has hecho.
Sobre todo porque las matrices no son simples, sino muy simples.
El cargador del AK tiene capacidad para 30 cartuchos. Y los cartuchos son los datos almacenados en la matriz.
Hay que reconocer que no es un buen ejemplo: no se puede conseguir el tercero a menos que se consiga el 0, el 1 y el 2.
Pues imagina una hoja de cálculo:
Índice 0
Índice 1
Índice 2
Índice 3
Índice 4
Índice5.
Índice6.
Índice 7
Índice 8
Índice 9
Valor 1
Valor del índice 2
Valor 3
Valor 4
Valor 5
Valor 6
Valor 7
Valor 8
Valor 9
Valor 10
Aquí tenemos un simple array unidimensional de tamaño 10.
El valor 1 se almacena en la celda con índice 0, el valor 2 se almacena en la celda con índice 1, el valor 3 se almacena en la celda con índice 2, ... ... El valor 8 se almacena en la celda índice 7, el valor 9 se almacena en la celda índice 8, el valor 10 se almacena en la celda índice 9
Es tan sencillo como eso. Para obtener el valor 3, tienes que referirte al array - su celda 2: Valor3=Array[2];
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Hace poco publiqué aquí una plantilla de indicadores multiplataforma. Compruébalo.
necesitas un blog y publicar las respuestas a las mismas preguntas allí.... Ya me gustaría tener esa paciencia.
Aquí estáhttps://www.mql5.com/ru/forum/160683/page670#comment_9054670
deberías publicar en tu blog las respuestas a las mismas preguntas .... Ya me gustaría tener esa paciencia.
Ayuda.
Quiero colocar órdenes pendientes en posiciones que han sido cerradas por el día.
La función coloca la orden al precio de la última posición cerrada.
¿Qué debo hacer para poner órdenes pendientes sobre el precio de todas las posiciones cerradas durante el día?
Ayuda.
Quiero colocar órdenes pendientes en posiciones que han sido cerradas por el día.
La función coloca la orden al precio de la última posición cerrada.
¿Qué debo hacer para poner órdenes pendientes en los precios de todas las posiciones cerradas en un día?
Empecé a estudiar MQL4 por el libro de S. Kovalev. Kovalev, hay algunas inconsistencias en el código, ya que el libro fue escrito para builds antiguos de MT4.
Por favor, indique cómo procesar este código para evitar errores.
error
'return' - la función debe devolver un valor
1. ¿Es correcto hacerlo?
2. Pregunta, ¿qué tan problemático es escribir código para nuevas construcciones usando los conocimientos dados en el tutorial (me refiero al factor de antigüedad de la información)?
Empecé a estudiar MQL4 por el libro de S. Kovalev. Kovalev, hay algunas inconsistencias en el código, ya que el libro fue escrito para builds antiguos de MT4.
Por favor, indique cómo procesar este código para evitar errores.
error
'return' - la función debe devolver un valor
1. ¿Es correcto hacerlo?
2. Pregunta, ¿hasta qué punto es un problema escribir código para nuevas construcciones utilizando los conocimientos dados en el tutorial (me refiero al factor de antigüedad de la información)?
Utilice OnInit(), OnDeinit(), OnTick(), y otros de la lista:
Empecé a estudiar MQL4 por el libro de S. Kovalev. Kovalev, hay algunas inconsistencias en el código, ya que el libro fue escrito para builds antiguos de MT4.
Por favor, indique cómo procesar este código para evitar errores.
error
'return' - la función debe devolver un valor
1. ¿Es correcto hacerlo?
2. Pregunta, ¿hasta qué punto es un problema escribir código para nuevas construcciones utilizando los conocimientos del tutorial (me refiero al factor de antigüedad de la información)?
Gracias, encuentro los precios abiertos de las posiciones cerradas en el momento requerido en el primer ciclo. Todos aparecen en la impresora y tengo que hacer pedidos sobre ellos.
La matriz me resulta un poco complicada, por favor, aconséjeme cómo insertar los ciclos para comprobar y ponerlos al precio de apertura en el primer ciclo de búsqueda de estos precios.
Entonces, pone en el precio de la más antigua que necesito, ¿cómo voy al siguiente precio encontrado?Gracias, encuentro los precios de apertura de las posiciones cerradas en el momento adecuado en el primer ciclo. Todos aparecen en la impresora y tengo que hacer pedidos sobre ellos.
El array es un laberinto para mí, dime cómo poner los ciclos para comprobar y establecer al precio de apertura en el primer bucle para encontrar estos precios.
Es más rápido entender y comprender lo que son los arrays, que corregir lo que has hecho.
Sobre todo porque las matrices no son simples, sino muy simples.
El cargador del AK tiene capacidad para 30 cartuchos. Y los cartuchos son los datos almacenados en la matriz.
Hay que reconocer que no es un buen ejemplo: no se puede conseguir el tercero a menos que se consiga el 0, el 1 y el 2.
Pues imagina una hoja de cálculo:
Aquí tenemos un simple array unidimensional de tamaño 10.
El valor 1 se almacena en la celda con índice 0, el valor 2 se almacena en la celda con índice 1, el valor 3 se almacena en la celda con índice 2, ...
...
El valor 8 se almacena en la celda índice 7, el valor 9 se almacena en la celda índice 8, el valor 10 se almacena en la celda índice 9
Es tan sencillo como eso. Para obtener el valor 3, tienes que referirte al array - su celda 2: Valor3=Array[2];