Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1404
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
Hola.
Quiero hacer un archivo de inclusión universal que pueda ser incluido con cualquier EA. Y debería limitarse a una inclusión sin ningún código adicional.
El problema es que el archivo utiliza OnTimer() como punto de entrada.
¿Qué pasa si EA (al que se conecta mi archivo de inclusión) también utiliza OnTimer()? ¿Hay alguna solución?
Buenas tardes. Opero en el mercado de valores de Moex. Broker Otkritie. Si hay posiciones abiertas para varios instrumentos, el robot las confunde al enviar una solicitud para cerrarlas parcialmente (puede enviar una solicitud con el precio de las acciones de Sberbank para las acciones de Magnit, por ejemplo. Es decir, el instrumento en la solicitud se especifica para Magnit, pero los precios se especifican para Sberbank) o simplemente no envía la solicitud. Código del algoritmo de cierre de la posición larga (se ejecuta cuando el precio del instrumento alcanza Price_Close_1_Buy):
Hola.
Quiero hacer un archivo de inclusión universal que pueda ser incluido con cualquier EA. Y debería limitarse a una inclusión sin ningún código adicional.
El problema es que el archivo utiliza OnTimer() como punto de entrada.
¿Qué pasa si EA (al que se conecta mi archivo de inclusión) también utiliza OnTimer()? ¿Hay alguna solución?
Nunca hagas esto.
Sólo un consejo. No voy a cambiar de opinión.
No lo hagas nunca.
Sólo un consejo. No voy a hacerte cambiar de opinión.
Estos son los requisitos del proyecto.
¿Cómo puedo anular la función predeterminada OrderSend()?
He añadido una línea en la parte superior.
En mi MyOrderSend() hago algunos cálculos y llamo de nuevo a OrderSend(). Quiero llamar a OrderSend() nativo, pero en su lugar obtengo recursión y MyOrderSend() es llamado de nuevo.
Y esta llamada tampoco ayuda ::OrderSend()En mi MyOrderSend() hago algunos cálculos y llamo de nuevo a OrderSend(). Quiero llamar a la función nativa OrderSend(), pero en su lugar obtengo una recursión y se vuelve a llamar a MyOrderSend().
Esto no funciona en absoluto. #define sustituye la primera (la llamada) por la segunda en el código del programa, ya que OrderSend(..) se sustituye por MyOrderSend(..) cada vez que ocurre.
Esto no funciona en absoluto. #define sustituye la primera (llamada) por la segunda en el código del programa, ya que OrderSend(...) se sustituye por MyOrderSend(...) cada vez que ocurre.
Sí, y lo tengo funcionando... Yo #definir sólo ponerlo bajo mi MyOrderSend().
¿Pueden decirme cómo reescribir algunos métodos de clase de la biblioteca estándar?
En el buen sentido, debería hacerse a través de clases para niños. Pero no sé cómo usarlos.
Por ejemplo, necesito cambiar algo en Graphic.mqh
He creado mi clase CGraphicCustom : CGraphic y he reescrito algunos métodos virtuales, como CreateAxis(). Se define como virtual en el CGraphic original.
Ahora, por ejemplo, declaro CGraphicCustom en lugar de CGraphic en mi código. Pero entonces necesito llamar a otros métodos de CGraphic que no están definidos como virtuales:
Y me da errores:
'CGraphic::BackgroundColor' - cannot access private member function
ver declaración de 'CGraphic::BackgroundColor' Graphic.mqh 162 22