Publi |
Publi |
Puede que lo hayas solucionado ya, pero de todos modos, es un problema muy comun y igual que te ha pasado le pasa y pasara a mucha gente.
MetaTrader 4 solo tiene un "hilo" de comunicacion con el servidor. Por lo que si dos eas o scripts o indicadores intentan mandar al broker al mismo tiempo ordenes, estas fallaran.
La solucion con la que no te va a fallar es tener en tu terminal un solo ea. Y si quieres tener el ea en varios pares, o varios eas, abrirte nuevos terminales.
Asi no te fallara el ea y no tienes que tocar el codigo.
El problema es el posible consumo excesivo de recursos de los distintos terminales...Foro de Forex Trading United
Gracias yokinfx, el problema es que a veces tengo 30-40 EAs (sets) en 4 demos, con lo cual creo que es inviable la solucion que propones y tambien por esto es mas comun el error. De momento lo "único" que me supone es 1 o como mucho 2 seg de retardo en la orden, que en la mayoría de mis sets no lo considero demasiado (si van a por muchos pips).
Sl2Foro de Forex Trading United
Buscando alguna solucion por internet y si saber nada de programacion te pongo esto a ver si tu le encuentras sentido:Hola a todos, a ve si me podeis echar una mano con este error que me dan algunos EA´s.
Én este link viene explicado el porqué del error y lo entiendo, lo que no domino muy bien es si se puede evitar y como, pq mi ingles es escaso y mi conocimiento de codigo peor.....
Error 146 ("Trade context busy") and How to Deal with It - MQL4 Articles
Si alguno me podeis hacer una traduccion entendible, os lo agradezco.
Sl2
Una solución es:
1. elimine o "comment out" las líneas 8,9,29
2. File -> Save As: TradeContext.mqh en el directorio ... \ experts \ include
3. Ningun archivo . mq4 necesita estas tres funciones, poner en la parte superior del archivo de origen . mq4:
"#include <TradeContext.mqh>"
otra solución es:
1. tomar las tres funciones copiando y pegando en su documento el archivo .mq4 de origen que necesita su funcionalidad. Digamos que usted pegue en el fondo de la. Mq4 archivo ...
Esto me ha costado mas traducirlo:
1. take the three functions via copy and paste into your .mq4 source file which needs their functionality. Let's say you paste at the bottom of the .mq4 file...4
2. ahora se consideran funciones locales al archivo de origen. mq4 ... al igual que lo son init (), deinit () y start (). Recordando que la función está en la parte superior del archivo (alcance global).Foro de Forex Trading United
Comenta mis temas y yo comentare en los tuyos:
Cuanto dinero hay que ganar para poder vivir del Forex?
¿Te afecta aumentar el riesgo y el lotaje en forex?
Pon fecha a tu éxito en Forex
Hola a todos, a ve si me podeis echar una mano con este error que me dan algunos EA´s.
Én este link viene explicado el porqué del error y lo entiendo, lo que no domino muy bien es si se puede evitar y como, pq mi ingles es escaso y mi conocimiento de codigo peor.....
Error 146 ("Trade context busy") and How to Deal with It - MQL4 Articles
Si alguno me podeis hacer una traduccion entendible, os lo agradezco.
Sl2Foro de Forex Trading United
Gracias elcctroo, probaré a ver si me aclaro.
Foro de Forex Trading United
Probaré la solución que comentas elcctroo, lo veo simple y seguramente solucione los problemas que estoy teniendo con la apertura y cierre de operaciones.
Foro de Forex Trading United
Hola, yo el problema lo soluciono haciendo una pregunta al inicio del "star" para ver si el context esta ocupado y si esta ocupado no ejecuto en este tick el código, hago un return, al siguiente tick volveremos a realizar la comprobación.
Para más claridad os adjunto el codigo:
int start()
{
if( IsTradeContextBusy()==true ) return(0);
CODIGO DEL EA A UTILIZAR
return(0);// Final del int start()
}
Un saludo.Foro de Forex Trading United
Buenas!
Por lo que he podido leer, significa que no se puede usar el mismo script al mismo tiempo con varios EA's.
Salu2!Foro de Forex Trading United
Gracias por el interes.
Pues la verdad es que como no tengo ni idea de programación, todo esto me suena a chino, y no se si lo que hay que modificar el EA, hacer un nuevo archivo, o que....
Lo unico que deduzco despues de intentar leer varias veces ese doc es que hay un EA que esta intentando realizar una accion (apertura, modificacion de orden, o lo que sea) y se devuelve un error porque, creo que es la "plataforma", esta ocupada gestionando otra orden.
Y por lo que veo da varias soluciones pero que todas ellas pueden generar problemas.
Así que voy a mirar a ver si este error lo suele dar un EA en concreto, o algunas ordenes en concreto y tiene incompatibilidad con algun otro, o ver exactamente que ordenes se cruzan, a ver si lo puedo soucionar "de otra manera" mas casera (por ejemplo separandolos en varias plataformas)
En fin se veo alguna solucion os comento....
Sl2Foro de Forex Trading United
Aviso Legal Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal |