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
Donde cometí un error. ¿Por qué tengo una posición ampliada?
Existe un concepto llamado red. Según la filosofía del NETTING, todas las operaciones unidireccionales aumentan la posición, mientras que las multidireccionales la cierran, la disminuyen o la invierten.
Si sacamos una conclusión de la línea, entendemos que con una venta existente una nueva posición de compra cerrará o cortará la posición existente.
PS
Por cierto, el TP y el SL en MT5 se fijan en función de la última operación, por lo que deben ser controlados también...
¿Cuál es la forma correcta de eliminar todos los pedidos con un determinado modo?
Tengo dos funciones para esto, check_orders comprueba los pedidos con un determinado modo, y remove_sl los elimina:
El problema es que en el diario de mi EA me salen líneas como esta:
2011.05.11 21:40:19 Operaciones '726238' : falló la orden de cancelación #4375237 comprar 0.00 a 0.00000 [Solicitud inválida]
Es decir, se envían peticiones innecesarias al servidor de comercio con una solicitud de eliminación de la orden ya solicitada.
Debería recorrer la lista de pedidos de arriba a abajo, por ejemplo
ЗЫ Если вы знаете инструмент то для поиска позиции совсем не нужно перебирать все позиции, достаточно воспользоваться вот этой функцией:
Gracias. Lo intentaré.
Por cierto, uso un símbolo.
Según la filosofía de este mismo NETTING, todas las operaciones unidireccionales aumentan la posición y las multidireccionales se cierran, disminuyen o invierten.
¡Exactamente!
Concluimos de la línea que entendemos que con una Venta existente una nueva Compra cerrará o recortará una posición existente.
PS
Por cierto, el TP y el SL en MT5 se fijan en función de la última operación, por lo que deben ser controlados también...
Por sus palabras, Sr.Interesante , entiendo que he comprendido todo correctamente.
Estoy utilizando los mismos lotes. Estoy utilizando los mismos topes. Todo es como debe ser. ¡Pero algo está mal!
De acuerdo. Prometió hacer dos EAs y mostrar la diferencia. Yo lo haré. No quiero poner la mejor para que la vea todo el mundo.
Entonces, ¿quién de los respetados expertos puede enviarme por correo electrónico dos EAs para la misma estrategia en mql4 y en mql5?
Sólo necesito averiguar qué estoy haciendo mal, eso es todo. Bueno, las diferentes estadísticas de precios no pueden cambiar los resultados de las pruebas por 2-3 veces. Se trata de programar.
Lizar,Renat,sergeev, Ayúdenme. Puedo darles a todos los expertos para que revisen el código. El Asesor Experto es sencillo pero eficaz. Todavía puedo mejorarlo, pero lo he simplificado al máximo, para que quede más clara la esencia del problema.
También pido disculpas a todos por haber sido destemplado en sus declaraciones. Estoy avergonzado. ¡Pero tengo MUCHAS ganas de entenderlo todo!
Hay que recorrer la lista de pedidos de arriba a abajo, por ejemplo, así:
No sirve de nada, aparentemente el pedido se borra con éxito y luego se envía otra solicitud:
2011.05.12 16:42:57 Operaciones '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700 hecho
2011.05.12 16:42:57 Operaciones '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700
2011.05.12 16:42:58 Operaciones '726238' : falló la cancelación de la orden #4388299 de compra de 0,00 a 0,00000 [Solicitud no válida] - ya se había realizado una compra mientras el stop de compra era
similar, pero en mql4:
Bueno, mira y compara. He metido la pata en alguna parte... La diferencia es sustancial.
No sirve de nada, aparentemente el pedido se borra con éxito y luego se envía otra solicitud:
2011.05.12 16:42:57 Operaciones '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700 hecho
2011.05.12 16:42:57 Operaciones '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700
2011.05.12 16:42:58 Operaciones '726238' : falló la cancelación de la orden #4388299 de compra de 0,00 a 0,00000 [Solicitud no válida] - ya se había realizado una compra mientras el stop de compra era
Me avergüenza admitir que aún no domino el arte de la telepatía.
Repetiré la pregunta:
¿Cómo puedo eliminar correctamente todos los pedidos con un determinado cargador?
Tengo dos funciones para esto, check_orders comprueba los pedidos con un determinado modo y remove_sl los elimina:
El problema es que en el diario de EA aparecen estas líneas:
2011.05.11 21:40:19 Operaciones '726238' : falló la orden de cancelación #4375237 comprar 0.00 a 0.00000 [Solicitud inválida]
Es decir, se envían solicitudes innecesarias al servidor de comercio para eliminar la orden que ya se había solicitado.
Ha aconsejado lo siguiente:
Hay que recorrer la lista de pedidos de arriba a abajo, por ejemplo, así:
He intentado hacer lo que me has dicho, pero el problema sigue siendo que primero se elimina la orden pendiente y luego se envía otra solicitud para eliminar la misma orden. Este es un ejemplo de las líneas de registro:
2011.05.12 16:42:57 Operaciones '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700 hecho - eliminado con éxito la orden
2011.05.12 16:42:57 Operaciones '726238' : cancelar orden #4388299 comprar stop 0.02 EURUSD a 1.41700 - Se está enviando otra solicitud
2011.05.12 16:42:58 Operaciones '726238' : falló la cancelación de la orden #4388299 de compra de 0,00 a 0,00000 [Solicitud no válida] - era de compra por alguna razón.
Esto no ocurre siempre, sino a veces, y no afecta al funcionamiento del Asesor Experto. Sólo quiero hacerlo todo correctamente, no cargar el servidor de comercio con peticiones vacías, y solucionar el problema.
Gracias por sus respuestas y por su disposición a ayudar.