Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 804

 
fxsaber:

Imprime el resultado de OrderCheck y su estructura completa. Haga lo mismo con OrderSend.

Configurar cuentas de demostración en diez servidores de negociación diferentes. Y prueba tu código allí. Lo más frecuente es que no se tenga en cuenta alguna característica particular del servidor de operaciones, que se reproduce al comprobar en el Mercado.

Y no te olvides de dar salida a LastError. Todo esto junto le permitirá averiguar las causas del error muy rápidamente.


Gracias, lo intentaré.
 
Andrii Djola:

Ayúdame a entender la situación, tengo un EA en el Probador de Estrategias, todo va sin errores y problemas en una cuenta demo, también sin problemas, pero cuando cargo el EA en el Mercado, el Autotester escribe:

El problema se ha estudiado a fondo. Lee bien el artículo, se llama algo así como "qué pruebas debe pasar el EA...".

Todo está descrito allí.

 

Pido ayuda para resolver este problema. Al abrir una orden en el mercado con un volumen superior a 1 en Moex, se produce un fenómeno extraño: la orden se negocia en el mercado y la información sobre la negociación llega parcialmente, debido a lo cual se llama antes a OnTrade() - ¿cómo puedo comprobar si quiero esperar hasta que llegue toda la información sobre la orden negociada?

 
Vladimir Karputov:
Pregunta sobre la función OnTradeTransaction, ejemplo de cómo atrapar el cierre de una posición.



Gracias, resulta que lo estaba haciendo bien y la impresión está mal. El lunes es más sabio que el viernes, o algo así)

¿Cómo puedo obtener el precio del ORDER_TYPE_BUY_LIMIT más cercano a ORDER_PRICE_CURRENT?


 
lil_lil:

Gracias, resulta que lo estaba haciendo bien y la impresión está mal. El lunes es más sabio que el viernes, o algo así)

¿Cómo puedo saber el precio del ORDER_TYPE_BUY_LIMIT más cercano, de entre todos los establecidos, a ORDER_PRICE_CURRENT?



Omitir toda la lista de órdenes pendientes, seleccionar las órdenes pendientes por símbolo actual, por magik (opcional), seleccionar las órdenes pendientes del tipo requerido solamente:

TIPO_DE_COMPRA_LIMITE

TIPO_DE_ORDEN_DE_VENTA_LIMITE

//+------------------------------------------------------------------+
//|                                             Find the nearest.mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//---
#include <Trade\OrderInfo.mqh>
COrderInfo     m_order;                      // pending orders object
#property script_show_inputs
//--- input parameters
input ENUM_ORDER_TYPE   order_type=ORDER_TYPE_BUY_LIMIT;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ulong order_ticket=ULONG_MAX;
   double order_distance=DBL_MAX;

   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
      if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==Symbol()/* && m_order.Magic()==m_magic*/)
            if(m_order.OrderType()==order_type)
              {
               double distance=MathAbs(m_order.PriceCurrent()-m_order.PriceOpen());
               if(distance<order_distance)
                 {
                  order_distance=distance;
                  order_ticket=m_order.Ticket();
                 }
              }
   if(order_ticket!=ULONG_MAX && order_distance!=DBL_MAX)
      Comment("Order ",EnumToString(order_type),
              ", ticket ",IntegerToString(order_ticket),
              ", distance ",DoubleToString(order_distance,Digits()));
  }
//+------------------------------------------------------------------+
Archivos adjuntos:
 
Vladimir Karputov:

Omitir toda la lista de órdenes pendientes, seleccionar las órdenes pendientes por símbolo actual, por magik (opcional), seleccionar las órdenes pendientes del tipo requerido solamente:


Gracias, corrí al cerrajero, hice clic en el anuncio ).

 
Los comentarios no relacionados con este tema han sido trasladados a "Preguntas de los principiantes de MQL4 MT4 MetaTrader 4".
 

No puedo resolver un problema sencillo.

En el EA, al obtener la manija del indicador...

int OnInit()
  {
//--- Получить хэндл индикатора Envelopes_upper для отрисовки верхней линии
   EnvHandle_upper=iEnvelopes(NULL,0,Period_upper,0,MODE_SMA,PRICE_MEDIAN,Deviation_upper);

....terminal dibuja ambas líneas, pero yo sólo necesito la línea superior.

¿Cómo desactivar el dibujo de esta línea? Por ejemplo, ¿cambiar su color a CLR_NONE, o el estilo de línea a DRAW_DONE?

 
¿Puedes decirme cómo suscribirte a la señal desde tu teléfono? No hay ningún botón de "suscripción" en la página web, lo he mirado todo... Y en mt5 no hay nada en absoluto sobre las señales (
 
VSPro:
Por favor, indíqueme cómo puedo suscribir la señal desde mi teléfono. Mi dispositivo no tiene ningún botón de "suscripción" en mi sitio web... He intentado abrirlo todo. En MT5 no hay nada en absoluto sobre las señales (

No se puede. Tiene que suscribirse desde un ordenador de sobremesa con Windows, y MetaTrader 5 debe estar instalado en este ordenador.

Razón de la queja: