Una pregunta para los expertos en MQL - página 9

 

Buenas tardes, ayúdame a encontrar un error en el código.

Este es el programa inicial del tutorial.

No cuenta las garrapatas. ¿Por qué es así?

Gracias

//+------------------------------------------------------------------+
//| función de inicialización experta |
//+------------------------------------------------------------------+
int Count=0; // Variable global.
//--------------------------------------------------------------------
int init() // Special init()
{
Alert ("La función init() ha funcionado al inicio"); // Mensaje
return; // Salir de init()
}
//--------------------------------------------------------------------
int start() // Special init()
{
double Price = Ask; // Variable local Count.
Count++; // Contador de ticks
Alert("Nuevo tick ",Count," Precio = ",Precio);// Mensaje
return; // Salir de start()
}
//--------------------------------------------------------------------
int deinit() // Función especial deinit()
{
Alert ("Deinit() activado durante la carga"); // Mensaje
return; // Salir deinit()
}
//--------------------------------------------------------------------

 

Esto es lo que va a salir

 

Buenos días.

El servidor de la empresa de corretaje donde tengo una cuenta real está configurado de tal manera que si no se reciben cotizaciones en el gráfico del instrumento durante más de 3 minutos (tiempo diferente para diferentes símbolos) entonces se genera una prohibición de comercio y en lugar de ejecutar una orden para abrir/cerrar o actualizar, el servidor responde SIN PRECIO (hasta que se reciba una cotización). Al mismo tiempo, en el registro aparece un mensaje:

2012.04.20 13:42:07 '245---00': orden de compra de 0,2 JOK2 abriendo a 0,00 sl: 0,00 tp: 0,00 fallida [Fuera de cotización]

-------------------

Así que resulta que trabajar con el EA multidivisa de esta empresa de corretaje en MT4 es imposible. Especialmente durante las horas nocturnas de baja liquidez, una o dos posiciones siguen abiertas y otras 2-3 son rechazadas.

No entiendo por qué lo han hecho. El soporte no responde realmente, se retuercen como gusanos bajo la bota, y fobbed a los desarrolladores de mql - a menudo afirmando que esto es (literalmente:) una característica glitchy de la plataforma mt4. Muy bien, déjalo a su conciencia.

Por favor, aconséjeme cómo devolver al terminal esta extraña prohibición " apertura a 0.00 sl: 0.00 tp: 0.00 falló [Off quotes]" - ¡así podría comprobar las 3-4 divisas que necesito para "NO PRECIO" en forma programática antes de abrir y sólo entonces el EA enviaría órdenes para abrir/cerrar posiciones! Su servicio técnico no da respuesta a esta pregunta...

 
Rita:

No entiendo por qué se hace así.

Esto es una muleta. Suele ser una muleta para los DC que tienen problemas con los retrasos en las cotizaciones.

Si quiere controlarlo usted mismo, tiene que controlar todos los ticks de todos los símbolos negociados e introducir una prohibición en el Asesor Experto por adelantado.

 
greysoldier:

Buenas tardes, ayúdame a encontrar un error en el código.

Este es el programa inicial del tutorial.

No cuenta las garrapatas. ¿Por qué es así?

Gracias

//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int Count=0; // Variable global.
//--------------------------------------------------------------------
int init() /función especial init()
{

}
//--------------------------------------------------------------------
int start() // función especial start()
{
double Precio = Precio; // Variable local.

Count++; // Contador de ticks

Alert("Nuevo tick ",Count," Precio = ",Precio);// Mensaje
return; // Salir de start()
}
//--------------------------------------------------------------------
int deinit() // Función especial deinit()
{

}
//--------------------------------------------------------------------

así que
 
TheXpert:

Esto es una muleta. Por lo general, esto se introduce en las empresas de corretaje que tienen problemas con los retrasos en las cotizaciones.

Si queremos controlarlo nosotros mismos, deberíamos controlar todos los ticks de todos los símbolos negociados e introducir la prohibición en el Asesor Experto por adelantado.


Entonces, ¿resulta que no podemos programar el funcionamiento correcto del EA multidivisa - para la apertura/cierre simultáneo de posiciones de varias divisas?

¡Especialmente porque hay un intervalo diferente para diferentes monedas (¡y hay cientos de instrumentos en MT4!) - en el servidor hay un intervalo diferente antes de la prohibición "NO PRECIO" y estos intervalos cambian durante el día!

¿Qué dicen los desarrolladores de la plataforma mt4? ¿Cómo puede un EA multidivisa funcionar normalmente en tales condiciones con frecuentes [cotizaciones en off], especialmente por la noche ( ver mi post anterior)?

 
Rita:

Especialmente, para diferentes divisas (¡y hay varios cientos de instrumentos en MT4!) - el servidor establece diferentes intervalos al momento de la prohibición de "NO PRECIO"

Es cierto.

¡y estos intervalos cambian durante un día!

Eso es poco probable. Parece que están integrados en la herramienta.

 

He preguntado a los novatos y no me han contestado, quizás alguien de aquí pueda ayudar.

Hola, ayuda consejo, escribí un búho, periódicamente tiene que abrir 2 órdenes a la vez el problema es que no siempre se abre las dos órdenes, deslizamiento puse y 3 y 5 y 10, pero todavía no no sí y abrir un solo. No sé cómo organizar un guardián que lleve la cuenta de las aperturas y, en su caso, abra un pedido "olvidado" que falte...

 
Muéstrame la parte del código donde estableces las condiciones para abrir estas dos órdenes al mismo tiempo...
 
Abrir una orden, comprobar si se abre, si se abre, abrir una segunda orden con un cheque...
Razón de la queja: