[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 294
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
Tengo una pregunta sobre la red de arrastre, que me puede decir. Parece ser el arrastre correcto para alcanzar el punto de equilibrio, pero no funciona.
Aquí hay una búsqueda: https://www.mql5.com/ru/forum/131859
Para insertar el código en el texto, pulse el botón SRC encima del campo de entrada de texto.
Aquí hay una búsqueda: https://www.mql5.com/ru/forum/131859
Para insertar el código en el texto, pulse el botón SRC encima del campo de entrada de texto.
Gracias.
Tengo una pregunta sobre la red de arrastre, quién me puede decir. Parece que el arrastre es correcto hasta el punto de equilibrio, pero no funciona.
Lista de razones en orden descendente de importancia:
1. El ordenador no está encendido
2. Metatrader no está activado.
3. El script de la carta no está instalado
4. Asesores expertos no habilitados
5. No hay nada que arrastrar.
6. Algo en el código está mal.
Enumerar las razones en orden descendente de importancia:
1. El ordenador no está encendido
2. Metatrader no está activado.
3. El script de la carta no está instalado
4. Asesores expertos no habilitados
5. No hay nada que arrastrar.
6. Algo en el código está mal.
Usar OrderOpenTime()
Para - ¿por qué lo necesitamos entonces?
Entonces, sí, pero el número de orden lo tengo bastante corto, pero con OrderOpenTime no entiendo qué hacer, tengo que poner la hora de apertura en algún sitio, comparar con la siguiente orden de la lista, si el tiempo es mayor, reescribir la variable, etc. Todavía no entiendo el algoritmo.
Gran respuesta, Roger, pero el ordenador está habilitado, también lo está MetaTrader, el EA está unido al gráfico, los EAs están habilitados, las operaciones están abiertas y, por tanto, ¡hay algo que rastrear! Pero lo que está mal en el código, esa era la pregunta.
Al principio no había código, lo adjuntaste después.
Probablemente porque has puesto trailing en la función de apertura de la orden, es decir, las condiciones para la apertura de una orden llegan, la orden se abre, pero no puede llegar más lejos.
Entonces, sí, pero por número de orden me quedé bastante corto, pero con OrderOpenTime no entiendo qué hacer, tengo que poner la hora de apertura en algún sitio, comparar con la siguiente orden de la lista, si el tiempo es mayor, reescribir la variable, etc. Todavía no entiendo el algoritmo.
El número de serie no es fiable, nada está garantizado en esta numeración, sólo para el probador. Un par de páginas antes, había escrito un código para buscar la última orden cerrada. Es muy sencillo, hemos mirado el billete, luego hemos elegido el orden o la posición según el billete, y ya está:
El número de pedido no es fiable, nadie garantiza nada en esta numeración, sólo para el probador. Un par de páginas antes escribí un código para encontrar la última orden cerrada, lo mismo para las abiertas. Todo es sencillo, hemos pasado por él, recordamos el billete, luego elegimos una orden o una posición por el billete, y ya está:
Al principio no había código, lo añadieron después.
Probablemente porque has puesto trailing en la función de apertura de la orden, es decir, las condiciones para la apertura de la orden se dan, la orden se abre, pero no puede llegar más lejos.
El número de pedido no es fiable, nadie garantiza nada en esta numeración, sólo para el probador. Un par de páginas antes escribí código para encontrar la última orden cerrada, lo mismo para las abiertas. Es muy sencillo, hemos mirado el ticket, luego hemos elegido una orden o una posición por el ticket y ya está:
El código está mal.
En primer lugar, aquí está esto:
Si el símbolo de orden es igual al símbolo dado en la variable de símbolo o la magia de orden es igual a la magia... Por lo tanto, si se selecciona cualquier orden con el símbolo y el magik es diferente o falta, se cumplirá la condición. Porque es esto o aquello. En consecuencia, deberíamos sustituir o por o, o mejor, separar las comprobaciones en cadenas separadas - el bucle será más rápido, lo que es crucial para la optimización.
Además... Pick by ticket: El parámetro pool se ignora, es decir, no tiene sentido escribirlo aquí.
Una vez que la orden ha sido seleccionada con éxito por ticket, debemos comprobar de qué lista de órdenes ha sido seleccionada: las de mercado o las cerradas. Para ello, tenemos que comprobar la hora de cierre de la orden, y si es superior a cero, entonces la orden se ha cerrado definitivamente. Este parámetro es siempre igual a cero para las posiciones abiertas. En mi opinión, después de elegir la última orden, deberíamos comprobar su tipo inmediatamente y escribirlo en la variable.
La función tendrá ahora este aspecto:
Ahora, si queremos comprobar sólo la compra o la venta del gráfico actual y cuál de ellas fue la última cerrada, debemos llamar a esta función de la siguiente manera:
Para el manejo de errores podemos, en principio, crear una variable global, por ejemplo int err; y en el cuerpo de la propia función almacenar el número de error en esta variable:
A continuación, para procesar el error después de llamar a la función ...
GetTypeLastClosePos(Symbol(), Magic);
... y se produce un error, su número se almacenará en la variable err y en el bloque de procesamiento se procesará este número.
Mejor aún, utilice el interruptor