Marché boursier. Les actions. Vitesse d'exécution des ordres de bourse. - page 3

 

J'ai vérifié l'exécution et le remplissage des ordres sur la section des actions de MT-5 et il s'avère qu'il n'est pas possible d'utiliser

ordre de marché et remplir IOC.

Quel type de remplissage dois-je choisir pour que l'ordre à cours limité soit déclenché comme un ordre au marché ?

 
prostotrader #:

J'ai vérifié l'exécution et le remplissage des ordres sur la section des actions de MT-5 et il s'avère qu'il n'est pas possible d'utiliser

ordre de marché et remplir IOC.

Quel type d'exécution dois-je choisir pour qu'un ordre à cours limité se déclenche comme un ordre au marché ?

RETURN devrait fonctionner. Le prix doit être proche de la barre afin d'être sûr qu'elle sera exécutée et ne sera pas suspendue. Il s'agira pratiquement d'un ordre de marché.

 
JRandomTrader #:

RETURN devrait fonctionner de toute façon. Et pour s'assurer qu'il sera performant et ne traînera pas, le prix doit être proche de la barre. En pratique, c'est celui du marché qui fonctionnera.

Je le fais dans mon application pour Quick (trans2quik.dll ne remplit pas FOK), mais parfois il y a un problème, quand les prix des actions bougent brusquement,

il reste toujours debout dans la tasse.

Je déplace maintenant mon application vers MT-5, en reliant les 2 terminaux avec un canal nommé.

Il reste une certaine complexité dans MT-5 car le conseiller expert pour le marché boursier est un serveur Pipe.

OnTrade et OnTradeTransaction n'est pas possible.

D'une part, un ordre d'achat RETURN a beaucoup plus de chances d'être exécuté, mais il se peut tout de même que l'ordre ne soit pas immédiatement exécuté.

D'autre part, si nous exécutons un FOK,

D'autre part, si nous exécutons un FOK, nous pouvons nous retrouver dans une situation où nous manquons toujours de volume à exécuter.

Je me demande quel serait le meilleur plan d'action ?

 
prostotrader #:

Je le fais dans l'application Quick (pas de remplissage FOK dans trans2quik.dll), mais parfois il y a un problème, lorsque les prix des actions bougent fortement,

il reste toujours debout dans la tasse.

Je déplace maintenant mon application vers MT-5, en reliant les 2 terminaux avec un canal nommé.

Il reste une certaine complexité dans MT-5 car le conseiller expert pour le marché boursier est un serveur Pipe.

OnTrade et OnTradeTransaction n'est pas possible.

D'une part, un ordre d'achat RETURN a beaucoup plus de chances d'être exécuté, mais il se peut tout de même que l'ordre ne soit pas immédiatement exécuté.

D'autre part, si nous exécutons un FOK,

D'autre part, si nous exécutons un FOK, nous pouvons nous retrouver dans une situation où nous manquons toujours de volume à exécuter.

Je me demande quel serait le meilleur plan d'action ?

Nous voulons dire la situation où l'ordre n'a pas assez de liquidité jusqu'à la barre ?

Nous pouvons essayer de le surveiller même en utilisant le timer et le supprimer s'il est ORDER_STATE_PARTIAL et que le prix est sur la barre.

Ou peut-être regarder SYMBOL_SESSION_*_ORDRES_VOLUME

 
prostotrader #:

Je suis en train de déplacer mon application vers MT-5, en reliant 2 terminaux avec un canal nommé.

Bonjour !

Pouvez-vous me dire s'il vous plaît (si ce n'est pas un secret) pourquoi vous n'envisagez pas de négocier avec un autre courtier ? Lorsqu'il y a un seul compte de courtage.

Pour votre trading, lesAction-Futures, dont vous avez parlé dans d'autres billets, s'avèrent être beaucoup plus pratiques, n'est-ce pas ? + résoudrait une grande partie des problèmes associés à la liaison entre les deux terminaux.

Mes seules options sont le délai d'exécution et la commission...

 
Andrey Miguzov #:

Bonjour !

Pouvez-vous me dire (si ce n'est pas un secret) pourquoi vous n'envisagez pas de négocier avec un autre courtier ? Lorsqu'il y a un seul compte de courtage.

Pour votre tradeShare-Futures, dont vous avez parlé dans d'autres posts, cela s'avère beaucoup plus pratique, non ? + résoudrait une grande partie des problèmes associés à la liaison entre les deux terminaux.

Je n'ai que le délai d'exécution et la commission dans les options...

J'ai écrit que Quick travaille très lentement et MT-5 seulement dans Otkritie et BCS, je ne considère pas du tout Finam.

Sur le fonds n'ont pas besoin d'une réserve de fonds, et pour les futures, lorsque scalping, pas tant d'argent supplémentaire à garder.

L'objectif est de faire du scalping sur de l'arbitrage classique avec un risque zéro.

 
JRandomTrader #:

Parlons-nous d'une situation où l'ordre manque de liquidité jusqu'au bar ?

Vous pouvez essayer de le surveiller, même avec un chronomètre, et s'il est ORDER_STATE_PARTIAL et que le prix est sur la barre, alors tirez dessus.

Ou peut-être regarder SYMBOL_SESSION_*_ORDRES_VOLUME.

Vous ne pouvez pas utiliser d'autres fonctions sur le serveur Pipe, car la seule implémentation de la fonction

MT-5 (single thread) consiste à suspendre le serveur EA en mode attente de commande, à recevoir une commande lyser, à l'exécuter,

et envoyer le résultat.

//+------------------------------------------------------------------+
//| 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() ; suspend le serveur-conseiller, attend la commande du client.

Toute la gestion du serveur se fait à partir du client du conseiller-expert.

Dans ce mode, la communication entre les terminaux est incroyablement rapide et la

avec un ensemble de données prêtes dans les deux directions est transmise en une seule fois.

 
prostotrader #:

Dans ce mode, la communication entre les terminaux est incroyablement rapide, et les

avec un ensemble de données prêtes dans les deux directions est transmise en une seule fois.

Pipe est une superstructure au-dessus de la mémoire partagée, de sorte que (dans le même PC) l'échange peut être considéré comme ayant un décalage nul.

 
Dmitriy Skub #:

Pipe est un ajout à la mémoire partagée et, par conséquent, (au sein d'un même PC) l'échange peut être considéré comme ayant un décalage nul.

Ce que je voulais dire, c'est qu'il n'est pas nécessaire de communiquer via votre application.

 
prostotrader #:

J'ai écrit que Quick est très lent et que MT-5 est seulement à Otkritie et BCS, je ne considère pas du tout Finam.

C'est ce que j'ai écrit sur Finam. Je vais ouvrir un compte là-bas juste à cause d'EBS.

C'est dommage que les courtiers ne puissent pas être discutés sur le forum. Je vous serais très reconnaissant si vous pouviez écrire dans votre message personnel pourquoi ne pas y aller.

En tout cas, merci pour l'information !

Raison: