mt5 strategy tester ticks - página 14

 
WhooDoo22:

Hola comunidad MQL5,

He estado leyendo la documentación del sitio MQL5 'OrderSend', los recursos .pdf y .chm,


ninguno proporciona detalles para 'SYMBOL_TRADE_EXECUTION_REQUEST' más que una breve 'Descripción' ('Ejecución por solicitud'). Aparentemente hay cuatro tipos de identificadores para 'ENUM_SYMBOL_TRADE_EXECUTION'.

¿Ha leído esto (desplácese un poco hacia abajo) :https://www.mql5.com/en/docs/constants/structures/mqltraderequest
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
  • www.mql5.com
Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure - Documentation on MQL5
 
angevoyageur:

Encontrado en el foro ruso:

  • Ejecucióninmediata (Instant Ex ecution) En este modo, la realización de una orden de mercado al precio ofrecidopor el corredor.Al enviar una solicitud de ejecución, el terminal rellenará automáticamente la orden de los precios actuales. Si el corredor toma el precio, la orden se ejecutará. Si el corredor no recibe el precio solicitado, entonces hay la llamada "Perekotirovanie" (Requote) - corredor devuelve los precios a los que se puede ejecutar esta orden.
  • Ejecución a petición (Request Execution)
    En este modo, la realización de una orden de mercado al precio previamente recibido del corredor. Antes de enviar una orden de mercado con su corredor pide el precio de su ejecución. Tras la recepción, la ejecución de una orden a este precio se puede confirmar o negar.
  • Ejecución del mercado (Market Execution)
    En este modo de ejecución de la decisión de un precio de ejecución de la orden de mercado toma el corredor sin la aprobación del comerciante. El envío de una orden de mercado de esta manera implica un acuerdo temprano con el precio al que se ejecutará.
  • La versión de Bolsa (Exchange Execution) En este modo, las operaciones de comercio realizadas en el terminal se emiten al sistema de comercio externo (la bolsa de valores). Las operaciones de comercio se realizan en las ofertas de precios de mercado actuales.

Hola Alain,

Sí, creo que su post contiene el contenido que estaba buscando, gracias amablemente.


No creo que el duodécimo parámetro de 'OrderSend' enum_order_type_filling se utilice en MQL4 y no tengo experiencia previa aplicándolo al código de parámetros de 'OrderSend' de MQL5.

enum_order_type_filling

"un pedido puede ser llenado sólo en la cantidad especificada".

¿Esta "cantidad especificada" es el tamaño del lote de la orden?


"Si la cantidad necesaria de un instrumento financiero no está disponible actualmente en el mercado, la orden no se ejecutará".

¿Qué es una "cantidad necesaria de un instrumento financiero"?

¿Cómo es posible que la cantidad necesaria de un instrumento financiero no esté disponible actualmente en el mercado?


"El volumen necesario puede ser llenado usando varias ofertas disponibles en el mercado en este momento".

¿Qué es el "volumen necesario" y cómo se puede cubrir utilizando "varias ofertas"?


¿Cuál es la finalidad de enum_order_type_filling?


Gracias

 
RaptorUK:
Has leído esto (desplázate un poco hacia abajo) :https://www.mql5.com/en/docs/constants/structures/mqltraderequest

Hola Simón,

"Leíste esto (baja un poco)"

Sí lo leí pero no había leído el duodécimo parámetro de 'OrderSend' enum_order_type_filling. No me interesó ya que no había un parámetro para aplicar el contenido.


Sí, creo que el enlace de tu post contiene el contenido que estaba buscando, gracias amablemente.

Editado por el moderador.

 
Hola Nathan, no es necesario repetir las mismas preguntas en 2 posts ;-)
 
WhooDoo22:

"an order can be filled only in the specified amount".

¿Es esta "cantidad especificada" el tamaño del lote de la orden?

Sí. "amout especificado", "volumen de la orden", "tamaño del lote" son todos los mismos.


"Si la cantidad necesaria de un instrumento financiero no está disponible actualmente en el mercado, la orden no se ejecutará".

¿Qué es una "cantidad necesaria de un instrumento financiero"?

Cuando usted pasa una orden, comprar 1 lote por ejemplo, debe haber alguien que quiere vender 1 lote. En Forex esto no es un problema, ya que este mercado es muy grande, pero en algún mercado, no necesariamentehay alguien para vender.


¿Cómo es posible que la cantidad necesaria de un instrumento financiero no esté disponible actualmente en el mercado?

Ver arriba. Usted puede pasar una orden de 1 lote, y sólo hay 0,5 lotes disponibles en el mercado.


"El volumen necesario puede cubrirse utilizando varias ofertas disponibles en el mercado en este momento".

¿Qué es el "volumen necesario" y cómo puede cubrirse utilizando "varias ofertas"?

Ver arriba. Usted quiere comprar 1 lote, hay 2 ofertas de venta de 0,5 lotes en el mercado.


¿Cuál es el propósito de enum_order_type_filling?

Espero que esté más claro con las respuestas anteriores. Este parámetro lo establece el broker. Tienes que comprobarlo antes de pasar una orden.

Gracias

Usted es bienvenido.
 
WhooDoo22:

Hola Alain,

Sí, creo que tu post contiene el contenido que estaba buscando, gracias amablemente.


Creo que el duodécimo parámetro de 'OrderSend' enum_order_type_filling no se utiliza en MQL4 y no tengo experiencia previa en aplicarlo al código de parámetros de 'OrderSend' de MQL5.

¿Supongo que no te has encontrado conFill o Kill antes?
Fill Or Kill (FOK) Definition | Investopedia
Fill Or Kill (FOK) Definition | Investopedia
  • www.investopedia.com
A type of time-in-force designation used in securities trading that instructs a brokerage to execute a transaction immediately and completely or not at all. This type of order is most likely to be used by active traders and is usually for a large quantity of stock. The order must be filled in its entirety or canceled (killed). The purpose of a...
 
angevoyageur:
Hola Nathan, no es necesario repetir las mismas preguntas en 2 posts ;-)

Me di cuenta de que dos posts casi idénticos eran innecesarios después de leer ambos posts, pero decidí dejarlo estar. La próxima vez, intentaré designar mi respuesta como un nuevo post.

Gracias

 
angevoyageur:
WhooDoo22:
Sí. "cantidad especificada", "volumen de la orden", "tamaño del lote" son todos lo mismo.


Cuando usted pasa una orden, comprar 1 lote por ejemplo, debe haber alguien que quiere vender 1 lote. En Forex esto no es un problema, ya que este mercado es muy grande, pero en algún mercado, no necesariamentehay alguien para vender.


Ver arriba. Usted puede pasar una orden de 1 lote, y sólo hay 0,5 lotes disponibles en el mercado.


Ver arriba. Usted quiere comprar 1 lote, hay 2 ofertas de venta de 0,5 lotes en el mercado.


Espero que esté más claro con las respuestas anteriores. Este parámetro lo establece el broker. Hay que comprobarlo antes de pasar una orden.

Es usted bienvenido.
"Espero que esté más claro con las respuestas anteriores. Este parámetro lo establece el broker. Tienes que comprobarlo antes de pasar una orden".


Después de leer y responder a mi respuesta, te dejaré ser el juez de eso :)

//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_FOK

ORDER_FILLING_FOK es un procedimiento que realiza sólo uno de los dos tipos de entrada en el mercado, un lote de compra de 1,00 emparejado con un lote de venta de 1,00 (tipo_1) o un lote de compra de 1,00 emparejado con tres lotes de venta de 0,25, 0,25 y 0,50 (tipo_2). Si el tipo_1 o el tipo_2 no se pueden realizar, la orden no entra en el mercado.

//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_IOC
ORDER_FILLING_IOC es un procedimiento que realiza sólo un tipo de entrada al mercado, 1.00 lote de compra emparejado con cualquier tamaño de lote de venta disponible en ese momento. El tamaño del lote de venta emparejado puede ser cualquier tamaño hasta 1,00.
//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_RETURN
¿Cuál es el procedimiento de ORDER_FILLING_RETURN?

¿Qué significan estas frases (documentación)?, "En caso de llenado parcial una orden de mercado o límite con volumen restante no se cancela sino que se procesa más". (mal escrito, directamente)

Mi traducción de la frase anterior es, "si una orden de mercado/límite se está llenando parcialmente no se cancela y su volumen restante no se cancela sino que se sigue procesando".


Mi impresión es que el procedimiento se realiza bajo los siguientes criterios (tipos de órdenes (tres tipos) y tipos de símbolos (dos tipos)):

TIPOS DE ORDEN:

tipo_1: ORDER_TYPE_BUY y SELL

tipo_2: TIPO_ORDEN_BUY y SELL_LIMIT

tipo_3: ORDER_TYPE_BUY y SELL_STOP_LIMIT

TIPOS DE SÍMBOLOS:

type_1: Ejecución en el mercado

tipo_2: Ejecución en bolsa

¿Cuál es la diferencia entre ellos? ¿Qué son?


"Para la activación de las órdenes ORDER_TYPE_BUY_STOP_LIMIT y ORDER_TYPE_SELL_STOP_LIMIT, se crea la correspondiente orden limitada ORDER_TYPE_BUY_LIMIT/ORDER_TYPE_SELL_LIMIT con el tipo de ejecución ORDER_FILLING_RETURN."
ORDER_TYPE_BUY_STOP_LIMIT//Upon reaching the order price, a pending Buy Limit order is places at the StopLimit price

ORDER_TYPE_SELL_STOP_LIMIT//Upon reaching the order price, a pending Sell Limit order is places at the StopLimit price

Estoy asumiendo que una orden de compra con límite se envía si el precio alcanza el "precio de tope" (el precio por encima del precio actual del mercado) y una vez que el precio alcanza el "precio de tope" la orden se convierte en una orden de compra o de venta con límite (dependiendo del código) y la orden de nuevo espera a que el precio llegue por debajo del precio actual llegando al precio de compra con límite (orden de compra con límite) o siga subiendo por encima del precio actual llegando al precio de venta con límite (orden de venta con límite). Una orden limitada de compra es primero una orden limitada y luego se convierte en una orden limitada. Esto es correcto, ¿no?

Órdenes de límite de parada no se incluyen en MQL4 y no tengo experiencia previa de codificación e'm.

Gracias

 
RaptorUK:
¿Supongo que no te has encontrado conFill o Kill antes?

Has acertado :)

Gracias

 

Hola comunidad MQL5,

Mientras codificaba en el meta editor traté de usar la función de tipo de orden y fui alertado por un error en la caja de herramientas del meta editor (ver imagen de abajo).

tipo de pedido indefinido

Como debería ver, la función de tipo de orden no está definida, sin embargo, su aparentemente definido por los documentos(https://www.mql5.com/en/docs/standardlibrary/tradeclasses/chistoryorderinfo/chistoryorderinfoordertype).

Una condición que estoy intentando es

if(OrderType()==ORDER_TYPE_BUY)

¿Cómo se puede utilizar la función de tipo de orden en el meta editor si no está definida?

Gracias