StopLimit

 

¿UtilizaStopLimit en el comercio real?

Está claro queStopLimit no funciona adecuadamente en el probador.

¿Tiene sentido utilizarlo en el comercio real? ¿Cuáles son las ventajas y los inconvenientes?

 
Sergey Chalyshev:

¿UtilizaStopLimit en el comercio real?

Está claro queStopLimit funciona de forma inadecuada en el probador.

¿Tiene sentido utilizarlo en el comercio real? ¿Cuáles son las ventajas y los inconvenientes?

¿Qué pasa con el probador?
 
Artyom Trishkin:
¿Qué pasa con el probador?

Aparentemente nadie lo usa,

el pedido se abre a precios inexistentes:

sl

Un ejemplo sencillo para comprobarlo:

//+------------------------------------------------------------------+
//|                                               StopLimit_Test.mq5 |
//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
CTrade trade;

input int Deviation = 100;
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlTick tick;
   SymbolInfoTick(_Symbol,tick);
   trade.SetTypeFilling(ORDER_FILLING_RETURN);
   double ticksise=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);

   if(OrdersTotal()==0)
      trade.OrderOpen(
         _Symbol,                      // символ
         ORDER_TYPE_BUY_STOP_LIMIT,    // тип ордера
         1.0,                          // объем ордера
         tick.ask+Deviation*ticksise,  // цена исполнения
         tick.ask+10*ticksise,         // цена стоплимита
         0,                            // цена stop loss
         0                             // цена take profit
      );
  }
//+------------------------------------------------------------------+
 
Sergey Chalyshev:

Aparentemente nadie lo usa,

el pedido se abre a precios inexistentes:

Un ejemplo sencillo para comprobarlo:

Una orden BuyStopLimit funciona así:

  1. Se coloca una orden BuyStop por encima del precio (valor del precio en la estructura de solicitud de operaciones = precio + distancia de ajuste de la orden stop)
  2. Cuando se activa una orden BuyStop, se coloca una orden BuyLimit por debajo del precio
    (al precio de stopplimit en la estructura de la solicitud de operación, que debería calcularse correctamente: stoplimit = precio - distancia de ajuste de la orden de stop)
  3. Cuando se activa una orden BuyLimit, se realiza una entrada en el mercado al precio de la orden BuyLimit

Ejemplo:


 
Artyom Trishkin:

Una orden BuyStopLimit funciona así:

  1. Establecemos una orden BuyStop por encima del precio (valor del precio en la estructura de solicitud de operaciones = precio + distancia de establecimiento de la orden stop)
  2. Cuando se activa BuyStop, se coloca una orden BuyLimit por debajo del precio
    (al precio de stopplimit en la estructura de la solicitud de operación que debe ser calculada correctamente: stoplimit = precio - distancia de ajuste de la orden de stop)
  3. Cuando se activa una orden BuyLimit, se realiza una entrada en el mercado al precio de la orden BuyLimit

Ejemplo:


CuandoBuyLimit está por debajo del precio, funciona bien en el probador.

CuandoBuyLimit es mayor que el precio, debe abrirse al precio Ask. En la bolsa, en lo real, funciona así.

No tiene sentido utilizar StopLimit para establecerBuyLimit por debajo del precio.

 
Sergey Chalyshev:

CuandoBuyLimit está por debajo del precio, funciona bien en el probador.

CuandoBuyLimit está por encima del precio, debe abrirse al precio Ask. En la bolsa, en lo real, funciona así.

Usar un StopLimit para poner el BuyLimit por debajo del precio no tiene sentido.

Campo

Descripción

acción

Tipo de operación comercial. El valor puede ser uno de los valores de la enumeración ENUM_TRADE_REQUEST_ACTIONS

magia

Identificador del Asesor Experto. Permite organizar el tratamiento analítico de las órdenes comerciales. Cada Asesor Experto puede mostrar su propio identificador único al enviar una solicitud de operación

pedir

Pida su billete. Necesario para modificar las órdenes pendientes

símbolo

Nombre del símbolo para el que se realiza la orden. No es necesario para la modificación de órdenes y el cierre de posiciones

Volumen

Volumen solicitado de una operación en lotes. El valor real del volumen al abrir una posición depend erádel tipo de orden que se ejecute.

precio

Es el precio al que se debe ejecutar la orden. El precio no es necesariopara las órdenes de mercado con el tipo "Market Execution" ( SYMBOL_TRADE_EXECUTION_MARKET ) con el tipoTRADE_ACTION_DEAL

stoplimit

Precio al que se colocará la orden de Límite pendiente una vez que el precio alcance el valor del precio (esta condición es obligatoria). Hasta ese momento, la orden pendiente no se coloca en el sistema de negociación

sl

Precio al que se activará una orden de Stop Loss cuando el precio del valor se mueva en una dirección desfavorable

tp

Precio al que se activa la orden Take Profit por el movimiento del precio en la dirección favorable

desviación

Desviación máxima aceptable del precio solicitado, fijada en puntos

tipo

Tipo de pedido. El valor puede ser uno de los valores de la enumeración ENUM_ORDER_TYPE

tipo_relleno

Tipo de orden a ejecutar. El valor puede ser uno de los valores deENUM_ORDER_TYPE_FILLING

tipo_tiempo

Tipo de orden_tiempo de llenado. El valor puede ser uno de los valores deENUM_ORDER_TYPE_TIME

caducidad

Hora de vencimientode la orden pendiente (para órdenes ORDER_TIME_SPECIFIED)

comentario

Comentario a la orden

posición

Billete a la posición. Debe rellenarse cuando se cambie y se cierre un puesto para identificarlo claramente. Suele coincidir con el ticket de la orden que dio lugar a la apertura de la posición.

posición_por

Un billete para una posición contraria. Se utiliza cuando se cierra una posición de contador - abierto para el mismo instrumento, pero en la dirección opuesta.


Espero que sepas lo que es una orden limitada. Y también una orden de paro, espero que no tengas dudas.

Y esto es lo que dice aquí sobre cómo funciona una orden StopLimit: cuando el precio alcanza el nivel de una orden Stop (y se coloca por encima del precio de compra), sólo entonces se coloca una orden Limit (y se coloca por debajo del precio de compra).

 
Sergey Chalyshev:

CuandoBuyLimit está por debajo del precio, funciona bien en el probador.

CuandoBuyLimit está por encima del precio, debe abrirse al precio Ask.En la bolsa, en lo real, funciona así.

Usar el StopLimit para poner el BuyLimit por debajo del precio no tiene sentido.

Lo siento, ¿cómo se pone la orden BuyLimit por encima del precio?

En este caso, no debería fijarse en absoluto.

Si se utiliza una clase de negociación SB, hay una comprobación de parámetros erróneos, y en tal situación no se coloca una orden pendiente, sino que se abre una orden de mercado.

 
Artyom Trishkin:

Campo

Descripción

acción

Tipo de operación comercial. El valor puede ser uno de los valores de la enumeración ENUM_TRADE_REQUEST_ACTIONS

magia

Identificador del Asesor Experto. Permite organizar el tratamiento analítico de las órdenes comerciales. Cada Asesor Experto puede mostrar su propio identificador único al enviar una solicitud de operación

pedir

Pida su billete. Necesario para modificar las órdenes pendientes

símbolo

Nombre del símbolo para el que se realiza la orden. No es necesario para la modificación de órdenes y el cierre de posiciones

Volumen

Volumen solicitado de una operación en lotes. El valor real del volumen al abrir una posición depend erádel tipo de orden que se ejecute.

precio

Es el precio al que se debe ejecutar la orden. El precio no es necesariopara las órdenes de mercado del tipo "Market Execution" ( SYMBOL_TRADE_EXECUTION_MARKET ) con el tipoTRADE_ACTION_DEAL

stoplimit

Precio al que se colocará la orden de Límite pendiente una vez que el precio alcance el valor del precio (esta condición es obligatoria). Hasta ese momento, la orden pendiente no se coloca en el sistema de negociación

sl

Precio al que se activará una orden de Stop Loss cuando el precio del valor se mueva en una dirección desfavorable

tp

Precio al que se activa la orden Take Profit por el movimiento del precio en la dirección favorable

desviación

Desviación máxima aceptable del precio solicitado, fijada en puntos

tipo

Tipo de pedido. El valor puede ser uno de los valores de la enumeración ENUM_ORDER_TYPE

tipo_relleno

Tipo de orden a ejecutar. El valor puede ser uno de los valores deENUM_ORDER_TYPE_FILLING

tipo_tiempo

Tipo de orden_tiempo de llenado. El valor puede ser uno de los valores deENUM_ORDER_TYPE_TIME

caducidad

Hora de vencimientode la orden pendiente (para órdenes ORDER_TIME_SPECIFIED)

comentario

Comentario a la orden

posición

Billete a la posición. Debe rellenarse cuando se cambie y se cierre un puesto para identificarlo claramente. Suele coincidir con el ticket de la orden que dio lugar a la apertura de la posición.

posición_por

Un billete para una posición contraria. Se utiliza cuando se cierra una posición con una posición contraria - abierta para el mismo instrumento, pero en sentido contrario.


Espero que sepas lo que es una orden limitada. Y también una orden de paro, espero que no tengas ninguna duda.

Y esto es lo que dice aquí sobre cómo funciona una orden StopLimit: cuando el precio alcanza el nivel de la orden Stop ( y se coloca por encima del precio de compra), sólo en este caso se colocará una orden Limit (y se coloca por debajo del precio de compra).

¿Qué le hace pensar que la orden BuyLimit debe estar necesariamente por debajo del precio?

Hablo de la bolsa, el forex no es interesante.

 
Artyom Trishkin:

Perdona, ¿qué haces poniendo la orden BuyLimit por encima del precio?

En esta situación, no debería fijarse en absoluto.

Si está utilizando la clase SB-trading, tiene una comprobación de parámetros no válidos y en tal situación, la orden pendiente no se abre, y la posición se abre por orden de mercado.

Más arriba te he dado un ejemplo de código.

Debería estar fijado y está fijado.

Si se abriera por el mercado, no habría problema en el probador; se abriría por el precio Ask. Pero se abriría a un precio inexistente, se puede ver en la imagen de arriba.

p.d. Pruebe usted mismo el código anterior en una cuenta de intercambio
 
"Impresionante" stoplimit en la biblioteca estándar, sin palabras :))
el límite debe establecer el deslizamiento de una orden de mercado, no el ajuste de una orden de límite :))
 
Roman:
El "impresionante" stoplimit en la biblioteca estándar, sin palabras :))
el límite debe establecer el deslizamiento de la orden de mercado, no el ajuste de la orden de límite :))

El deslizamiento se establece mediante el parámetro de desviación en la solicitud de negociación.

Y el nivel stoplimit es el nivel en el que se establece la orden Limit en relación con el nivel de la orden Stop.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Взаимодействие клиентского терминала и торгового сервера для проведения операций постановки ордеров производится посредством торговых запросов. Запрос представлен специальной предопределенной структурой MqlTradeRequest, которая содержит все поля, необходимые для заключения торговых сделок. Результат обработки запроса представлен структурой...