Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 1125
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
Ya lo tengo, y en esto gracias, antes de cualquier orden he prescrito la función de manejo de errores en todas partes, pero ahora estoy atascado en un bucle y cómo frenar la EA, si habrá errores sólo por mi error, y donde exactamente para prescribir. Es decir, he intentado abrir un pedido, pero se ha producido un error, ¿cómo conseguirlo? Por ejemplo, OrderSend(....); ha realizado una transacción, ¿cómo puedo obtener información sobre si ha funcionado correctamente?
¿Puedes abrir la ayuda de la función y ver lo que devuelve? ¿Y _LastError?
En concreto, OrderSend devuelve un ticket de pedido o -1. Adivina en qué caso será -1 por tu cuenta ;)
¿Puedes abrir la ayuda de la función y ver lo que devuelve? ¿Y _LastError?
En concreto, OrderSend devuelve un ticket de pedido o -1. Adivina en qué caso será -1 tú mismo ;)
Llevo 10 minutos leyendo sobre esto :)
Aquí como ejemplo es bastante adecuado
Y ya he empezado a resolver mis códigos de error, gracias :) Y casi he terminado con mi EA sobre cómo frenarlo)
¡En este ejemplo, no puedo encontrar el valor de"Slippage" está en el OrderSend, puede que no sea tan importante u obligatorio, me pregunto!
Y ya he empezado a resolver mis códigos de error, gracias :) Y casi he terminado con mi EA sobre cómo frenarlo)
¡En este ejemplo, no puedo encontrar el valor de"Slippage" está en OrderSend, puede que no sea tan significativo u obligatorio, me pregunto!
Y esto es para coger el código 135 o 129 y aumentar el valor de deslizamiento para el siguiente intento. O, si el aumento del deslizamiento no resulta atractivo, simplemente cuente un número determinado de segundos hasta el siguiente intento. Además, vigila la dispersión, si la dispersión aumenta en este momento, espera a que disminuya y vuelve a intentarlo. También, es deseable no usar Sleep(), ciertamente simplifica la codificación y no trae mucho daño, cuando hiberna por medio segundo o un segundo, pero si el Asesor Experto es un Pipsier rápido, para el cual cada milisegundo es importante, o una pausa en decenas de segundos es necesaria, es mejor no usar el sueño, durante el sueño el Asesor Experto está paralizado y no puede sólo operar, sino también monitorear el ambiente de comercio o realizar otros cálculos, no responde a las acciones del usuario, etc.
Puede fijar la hora actual, hacer la cuenta atrás del número de segundos (o milisegundos) necesarios y actuar.
Y ya he empezado a resolver mis códigos de error, gracias :) Y casi he terminado con mi EA sobre cómo frenarlo)
¡En este ejemplo, no puedo encontrar el valor de"Slippage" está en OrderSend, puede que no sea tan significativo u obligatorio, me pregunto!
Hoy en díael deslizamiento no es tan relevante como solía ser y se suele utilizar en cuentas con spreads fijos, pero sólo hay unas pocas cuentas de este tipo y sólo 5-7 personas operan en ellas. Si el spread es flotante, no haySlippage, es mejor monitorear el spread en sí, y si es demasiado amplio, entonces abstenerse de entrar, pero de nuevo, todo depende de la estrategia, lo crítico que es un spread grande.
Mentira...
En los ECNs muy populares el deslizamiento en las noticias es descomunal. A veces cientos de pepitas (5ozn). O simplemente siguen atormentando los pedidos durante un minuto entero, diciendo "nuevo precio", "sin precio", etc.
Esto es para capturar el código 135 o 129 y aumentar el valor de deslizamiento para el siguiente intento. O, si el aumento del deslizamiento no resulta atractivo, simplemente cuente un número determinado de segundos hasta el siguiente intento. Además, vigila la dispersión, si la dispersión aumenta en este momento, espera a que disminuya y vuelve a intentarlo. Además, es deseable no utilizar Sleep(), esto, por supuesto, simplifica la escritura de código y no causa ningún daño especial, cuando se hiberna durante medio segundo o un segundo, pero si el Asesor Experto es un Pipsier rápido, para el que cada milisegundo es importante, o se requiere una pausa de decenas de segundos, es mejor no utilizar el sueño, durante el sueño el Asesor Experto se paraliza y no sólo puede operar, sino también supervisar el entorno de comercio o realizar otros cálculos, no responde a las acciones del usuario, etc.
Es posible fijar la hora actual, hacer una cuenta atrás del número de segundos (o milisegundos) necesarios y luego actuar.
Ya he empezado a buscar los códigos de error, gracias :) Y ya casi he terminado de frenar mi Expert Advisor)
¡En este ejemplo, no puedo encontrar el valor de"Slippage" está en el OrderSend, puede que no sea tan significativo u obligatorio, me pregunto!
Durante la hibernación del comando de sueño, el EA está efectivamente paralizado. Incluso en el caso de un terminal, es necesario proporcionar el trabajo de veinte hilos diferentes, es decir, dejar que cada uno de ellos ocupe el tiempo de la CPU. Por lo menos para mostrar algo en la pantalla, por no hablar de la tarea crucial para el pipser de milisegundos de aceptar ticks entrantes. En realidad hay decenas de otros servicios del sistema operativo que también quieren trabajar, es decir, ocupar el procesador con sus propias necesidades. Si el comando Sleep no lo hace, el programador de hilos del sistema operativo lo hará a la fuerza, pero según sus propias consideraciones a quién hay que darle tiempo. También puedes confiar en él y cargar el procesador casi al 100% todo el tiempo con sólo este asesor. Pero no le conviene a nadie. Si el programador no planifica la asignación de recursos del procesador, en la mayoría de los casos, el enfoque implementado en MQL donde el Asesor Experto recibe la CPU en la recepción de un símbolo y después del procesamiento de esta llegada, el Asesor Experto "paraliza" y no toma la CPU hasta el siguiente tick.
El parámetro Slippage en OrderSend (no confundir con el slippage real en caso de modo de ejecución de órdenes "Market execution", por mercado) tiene sentido establecerlo sólo en el modo "Instant execution", ejecución inmediata, cuando la orden se ejecuta al precio declarado o se rechaza, es decir, se rechaza. La desviación máxima permitida del precio de ejecución con respecto al precio indicado en la orden puede establecerse como no nula. En el modo "Ejecución de mercado", este parámetro no significa nada, en este caso el precio de ejecución es fijado por el centro de negociación, la desviación del precio indicado en la orden no está limitada de ninguna manera.
Mentira...
En los ECNs muy populares el deslizamiento en las noticias es descomunal. A veces cientos de pepitas (5ozn). O simplemente siguen atormentando los pedidos durante un minuto entero, diciendo "nuevo precio", "sin precio", etc.
Есть условие для открытия ордера BUY. Открывается ордер, как сделать переход к SELL условию после закрытия BUY ордера?
if(High[1]-Close[1]>=NormalizeDouble(xbs1*_Point,_Digits))
{
int b_tik=OrderSend(_Symbol,OP_BUY,Lots,Ask,Slip,Low[2]-sl,High[1]+ tp,"",Magic,0,clrBlue)==true; //открытие ордера
GlobalVariableSet("B_order",0); // Больше не ищем вход Buy
//-----?????
GlobalVariableSet("S_order",1); // Переходим к поиску Sell
return;
}