Mercado de valores. Acciones. Rapidez en la ejecución de las órdenes comerciales. - página 3

 

He comprobado las órdenes de ejecución y llenado en la sección de acciones de MT-5 y resulta que no es posible utilizar

orden de mercado y llenar el COI.

¿Qué tipo de llenado debo elegir para que la orden limitada se active como una orden de mercado?

 
prostotrader #:

He comprobado las órdenes de ejecución y llenado en la sección de acciones de MT-5 y resulta que no es posible utilizar

orden de mercado y llenar el COI.

¿Qué tipo de llenado debo elegir para que una orden limitada se active como una orden de mercado?

RETORNO debería funcionar. El precio debe estar cerca de la barra para estar seguro de que se ejecutará y no se colgará. Esto funcionará prácticamente como una orden de mercado.

 
JRandomTrader #:

RETURN debería funcionar de todos modos. Y para asegurarse de que funcione y no se quede colgado, el precio debe estar cerca del bar. Prácticamente, la del mercado funcionará.

Lo hago en mi aplicación para Quick (trans2quik.dll no llena FOK), pero a veces hay un problema, cuando los precios de las acciones se mueven bruscamente,

se mantiene de pie en la taza.

Ahora estoy trasladando mi aplicación a la MT-5, enlazando los 2 terminales con un canal con nombre.

Todavía hay cierta complejidad en MT-5 ya que el Asesor Experto para el mercado de valores es un Servidor de Tuberías.

OnTrade y OnTradeTransaction no es posible.

Por un lado, es mucho más probable que se ejecute una orden de RETORNO, pero aun así, la orden puede no ser inmediata

Por otro lado, si ejecutamos un FOK,

Por otro lado, si ejecutamos un FOK, podemos llegar a una situación en la que siempre nos quedemos sin volumen para ejecutar.

Me pregunto cuál sería el mejor curso de acción.

 
prostotrader #:

Lo hago en la aplicación Quick (sin relleno FOK en trans2quik.dll), pero a veces hay un problema, cuando los precios de las acciones se mueven bruscamente,

se mantiene de pie en la taza.

Ahora estoy trasladando mi aplicación a la MT-5, enlazando los 2 terminales con un canal con nombre.

Todavía hay cierta complejidad en MT-5 ya que el Asesor Experto para el mercado de valores es un Servidor de Tuberías.

OnTrade y OnTradeTransaction no es posible.

Por un lado, es mucho más probable que se ejecute una orden de RETORNO, pero aun así, la orden puede no ser inmediata

Por otro lado, si ejecutamos un FOK,

Por otro lado, si ejecutamos un FOK, podemos llegar a una situación en la que siempre nos quedemos sin volumen para ejecutar.

Me pregunto cuál sería el mejor curso de acción.

¿Nos referimos a la situación en la que el pedido no tiene suficiente liquidez hasta el bar?

Podemos intentar vigilarlo incluso usando el temporizador y quitarlo si es ORDER_STATE_PARTIAL y el precio está en la barra.

O tal vez ver SYMBOL_SESSION_*_ORDERS_VOLUME

 
prostotrader #:

Actualmente estoy trasladando mi aplicación a la MT-5, enlazando 2 terminales con un canal con nombre.

¡Hola!

¿Puede decirme, por favor (si no es un secreto), por qué no se plantea operar con otro broker? Donde hay una sola cuenta de corretaje.

Para su comercio deAcción-Futuros, del que escribió en otros posts, resulta mucho más conveniente, ¿verdad? + resolvería muchos de los problemas asociados a la conexión de los dos terminales.

Mis únicas opciones son el retraso en la ejecución y la comisión...

 
Andrey Miguzov #:

¡Hola!

¿Puede decirme (si no es un secreto) por qué no se plantea operar con otro broker? Donde hay una sola cuenta de corretaje.

Para tu operaciónShare-Futures, de la que escribiste en otros posts, resulta mucho más conveniente, ¿verdad? + resolvería muchos de los problemas asociados a la conexión de los dos terminales.

Sólo tengo el tiempo de retardo de ejecución y la comisión de las opciones...

Escribí que Quick funciona muy lentamente y MT-5 sólo en Otkritie y BCS, no considero Finam en absoluto.

En el fondo no necesitan una reserva de fondos, y para los futuros, cuando scalping, no tanto dinero extra para mantener.

El objetivo es hacer scalping en el arbitraje clásico con riesgo cero.

 
JRandomTrader #:

¿Estamos hablando de una situación en la que el pedido carece de liquidez hasta el bar?

Puedes intentar mirarlo incluso por el temporizador, y si es ORDER_STATE_PARTIAL y el precio está en la barra, entonces dispara.

O tal vez mirar SYMBOL_SESSION_*_ORDERS_VOLUME.

No se pueden utilizar otras funciones en el servidor Pipe porque la única implementación en

MT-5 (un solo hilo) es colgar el servidor EA en modo de espera de comandos, recibir un comando lyser, ejecutarlo,

y enviar el resultado.

//+------------------------------------------------------------------+
//| Expert Listen Pipe channel function                              |
//+------------------------------------------------------------------+
void ListenPipe()
{
  bool result; 
  bool can_close = false;
  while((IsStopped() == false) && (lsn_exit == false))
  {
    result = Pipe.ReadData();
    if(result == true)
    {
      switch(Pipe.in_data.pipe_com)
      {
        case P_LSNR_EXIT:
          Pipe.out_data.pipe_com = P_DONE;
          can_close = true;
          result = false;
        break;
        case P_SET_MAGIC:
          Pipe.out_data.pipe_com = P_DONE;
          result = false;
        break;
        case P_SELL_SPOT:
          spot_ticket = SpotSetOrder(Pipe.in_data.spot_trade_lot, Pipe.in_data.spot_trade_price, spot_magic, SELL);
          if(spot_ticket > 0)
          {
            Pipe.out_data.pipe_com = CheckDeal(spot_ticket);
          }  
          else Pipe.out_data.pipe_com = P_REJECT;
          result = false;
        break;
        case P_BUY_SPOT:
          spot_ticket = SpotSetOrder(Pipe.in_data.spot_trade_lot, Pipe.in_data.spot_trade_price, spot_magic, BUY);
          if(spot_ticket > 0)
          {
            Pipe.out_data.pipe_com = CheckDeal(spot_ticket);   
          }  
          else Pipe.out_data.pipe_com = P_REJECT;
          result = false;
        break;
        case P_CHECK_DEAL:
          if(spot_ticket > 0)
          {
            Pipe.out_data.pipe_com = CheckDeal(spot_ticket);
          }
          else Pipe.out_data.pipe_com = P_ORDER_N_FOUND; 
          result = false;
        break;
        case P_GET_DATA:
          GetData();
          Pipe.out_data.pipe_com = P_DONE;
          result = false;
        break;
        case P_ORDER_REMOVE:
          if(SpotRomoveOrder(spot_ticket) == true)
          {
            Pipe.out_data.pipe_com = P_ORDER_REMOVE_DONE;
          }
          result = false;
        break;
      }
      if(result == false)
      {
        result = Pipe.WriteData(Pipe.out_data);
        if(result == true)
        {
          if(can_close == true) lsn_exit = true;
        }
      }
    }
    else Print("Error resived data!"); 
  }
  Print("Listener exit.");
}

result = Pipe.ReadData(); cuelga el servidor-asesor, espera la orden del cliente.

Toda la gestión del servidor se realiza desde el cliente-asesor experto

En este modo, la comunicación entre terminales es increíblemente rápida y el

estructura con un conjunto de datos listos en ambas direcciones.

 
prostotrader #:

En este modo, la comunicación entre terminales es increíblemente rápida, y el

estructura con un conjunto de datos listos en ambas direcciones se transmite a la vez.

La tubería es una superestructura sobre la memoria compartida, por lo que (dentro del mismo PC) se puede considerar que el intercambio tiene un retraso cero.

 
Dmitriy Skub #:

La tubería es un complemento de la memoria compartida y, por lo tanto, (dentro del mismo PC) se puede considerar que el intercambio tiene un retraso cero.

Lo que quería decir es que no hay necesidad de comunicarse a través de su aplicación.

 
prostotrader #:

Escribí que Quick es muy lento y que MT-5 sólo está en Otkritie y BCS, no considero para nada a Finam.

Eso es lo que escribí sobre Finam. Voy a abrir una cuenta allí sólo por EBS.

Es una pena que no se pueda hablar de los corredores en el foro. Le agradecería mucho que escribiera en su mensaje personal por qué no ir allí.

En cualquier caso, ¡gracias por la información!

Razón de la queja: