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

 
leonerd:

Vale, me he expresado mal. Citemos la fuente original:

Estructura del resultado de la solicitud de negociación (MqlTradeResult)

Enrespuesta auna solicitud de comercio para colocar una orden en el sistema de comercio, el servidor de comercio devuelve datos que contienen la información sobre el resultado del procesamiento de la solicitud de comercio como una estructura especial predefinida MqlTradeResult.


p.d. ¿Dónde está la cita en el editor? ¿Tengo que entrar en html? Qué inconveniente.

Después de "Código (Alt+S)" viene "Estilo". Haga clic en la flecha y vea "Citar (Ctrl+3)"

 
Artyom Trishkin:

Después de "Código (Alt+S)" viene "Estilo". Haga clic en la flecha y vea "Citar (Ctrl+3)"

Eso es terrible :)

 
leonerd:

Es evidente que hay algún tipo de error lógico. MqlTradeResult es el resultado de la operación comercial.

Es decir, si Result.price se llamara Result.dealprice, todo sería lógico?

 
fxsaber:

Es decir, si Result.price se llamara Result.dealprice, sería todo lógico?

El campo

Descripción

Retomar el código

Código de retorno del servidor de comercio

acuerdo

Ticket detransacción, si se ha realizado una transacción. Informado en la operación comercialTRADE_ACTION_DEAL

pedir

Ordenar billete, si se ha colocado un billete. Notificado durante una operación comercialTRADE_ACTION_PENDING

volumen

Volumen de la operación confirmado por el corredor. Dependedel tipo de llenado del pedido

precio

Precio de la transacción, confirmado por el corredor. Depende del campo dedesviación enla solicitud de comercio y/o del tipo decomercio

oferta

Precio de oferta actual del mercado (precio de recotización)

pregunte a

Precio de oferta actual del mercado (precios de recotización)

comentario

Comentario del corredor a la operación (por defecto se rellena con la decodificación del código de retorno del servidor de operaciones)

request_id

ID de la solicitud que debe rellenar el terminal al enviarla al servidor de comercio

retcode_external

Código del error devuelto por el sistema comercial externo. El estado y los tipos de estos errores dependen de un corredor y de un sistema comercial externo, en el que se emiten las operaciones comerciales


Hay trato y orden. Hay volumen para ambos. ¿Por qué el precio es sólo para el trato? Bueno, podemos hacer dealprice, pero entonces necesitamos también un campo dealorder. Me parece que el precio debería ser simplemente el precio de la orden, si no se realiza la operación y se fija la orden.

 
leonerd:

Campo

Descripción

Retomar el código

Código de retorno del servidor de comercio

acuerdo

Ticket detransacción, si se ha realizado una transacción. Informado en la operación comercialTRADE_ACTION_DEAL

pedir

Ordenar billete, si se ha colocado un billete. Notificado durante una operación comercialTRADE_ACTION_PENDING

volumen

Volumen de la operación confirmado por el corredor. Dependedel tipo de llenado del pedido

precio

Precio de la transacción, confirmado por el corredor. Depende del campo dedesviación enla solicitud de comercio y/o del tipo decomercio

oferta

Precio de oferta actual del mercado (precio de recotización)

pregunte a

Precio de oferta actual del mercado (precios de recotización)

comentario

Comentario del corredor a la operación (por defecto se rellena con la decodificación del código de retorno del servidor de operaciones)

request_id

ID de la solicitud que debe rellenar el terminal al enviarla al servidor de comercio

retcode_external

Código del error devuelto por el sistema comercial externo. El estado y los tipos de estos errores dependen de un corredor y de un sistema comercial externo, en el que se emiten las operaciones comerciales


Hay trato y orden. Hay volumen para ambos. ¿Por qué el precio es sólo para el trato? Bueno, podemos hacer dealprice, pero entonces necesitamos también un campo dealorder. Me parece que el precio debería ser simplemente el precio de la orden si la operación no se ha ejecutado y se ha establecido una orden.

Crear una petición para incluir Result.price para los pedidos. Y hacerlo completo - exigir que se incluya Result.expiration, segundo precio para las órdenes STOP_LIMIT, etc.


// Пока петиция не прошла
bool OrderSend_leonerd( const MqlTradeRequest &Request, MqlTradeResult &Result )
{
  const bool Res = OrderSend(Request, Result);
  
  if (Res && !Result.order)
    Result.order = Request.order;
    
  return(Res);
}

// Делаем за разработчиков их работу
#define OrderSend OrderSend_leonerd
 

Hola

A veces cuando abro un pedido aparece el error 4754-Ordernot found

Eso es todo lo que el EA cuelga porque intenta abrir una orden

Reinstalar el EA ayuda

Para abrir una orden utilizo la clase CTrade

Por favor, indíqueme qué puede estar mal.

 
Mikhail Rudyk:

Hola

A veces cuando abro un pedido aparece el error 4754-Ordernot found

Eso es todo lo que el EA cuelga porque intenta abrir una orden

Reinstalar el EA ayuda

Utilizo la clase CTrade para abrir una orden

Por favor, ¿me puede aconsejar qué puede ser?

¿Puede ser más preciso? MQL5 Código, símbolo, marco temporal. Este es el lugar donde se muestra el error.

Es difícil decir algo definitivo sin estos datos.

 
¿Tiene Codebase un EA con la función "una operación por barra"? (Excluyendo a los EA que trabajan en la apertura de bares)
 

En MQL5 llamo a la manija del indicador en OnInit así

diver_handle=iCustom(NULL,0,"ao_diver");

Esta llamada cuelga el terminal por completo.
El indicador se encuentra en Indicadores y no requiere ningún parámetro de entrada adicional.
¿Qué puede haber de malo en esta llamada?

 
Evgeny Dyuka:

En MQL5 llamo a una manija del indicador en OnInit así

Esta llamada cuelga el terminal por completo.
El indicador se encuentra en Indicadores y no requiere ningún parámetro de entrada adicional.
¿Qué puede haber de malo en esta llamada?

".ex5" especificar.