Mercato azionario. Azioni. Velocità di esecuzione degli ordini commerciali. - pagina 3

 

Ho controllato gli ordini di esecuzione e di riempimento nella sezione stock di MT-5 e risulta che non è possibile utilizzare

ordine di mercato e riempire IOC.

Quale tipo di riempimento dovrei scegliere in modo che l'ordine limite sia attivato come un ordine a mercato?

 
prostotrader #:

Ho controllato gli ordini di esecuzione e di riempimento nella sezione stock di MT-5 e risulta che non è possibile utilizzare

ordine di mercato e riempire IOC.

Che tipo di riempimento dovrei scegliere in modo che un ordine limite si attivi come un ordine a mercato?

RETURN dovrebbe funzionare. Il prezzo dovrebbe essere vicino alla barra per essere sicuri che verrà eseguito e non si bloccherà. Questo si rivelerà praticamente un ordine di mercato.

 
JRandomTrader #:

RETURN dovrebbe funzionare comunque. E per essere sicuri che funzioni e non rimanga in giro, il prezzo dovrebbe essere vicino al bar. In pratica, sarà il prezzo di mercato.

Lo faccio nella mia applicazione per Quick (trans2quik.dll non riempie FOK), ma a volte c'è un problema, quando i prezzi delle azioni si muovono bruscamente,

rimane ancora in piedi nella tazza.

Ora sto spostando la mia applicazione su MT-5, collegando i 2 terminali con un canale denominato.

C'è ancora una certa complessità in MT-5 poiché l'Expert Advisor per il mercato azionario è un Pipe Server.

OnTrade e OnTradeTransaction non è possibile.

Da un lato, un RETURN fill ha molte più probabilità di essere eseguito, ma comunque, l'ordine potrebbe non essere immediatamente

D'altra parte, se eseguiamo un FOK,

D'altra parte, se eseguiamo un FOK, potremmo avere una situazione in cui siamo sempre a corto di volume da eseguire.

Mi chiedo quale sarebbe la migliore linea d'azione?

 
prostotrader #:

Lo faccio nell'applicazione Quick (nessun riempimento FOK in trans2quik.dll), ma a volte c'è un problema, quando i prezzi delle azioni si muovono bruscamente,

rimane ancora in piedi nella tazza.

Ora sto spostando la mia applicazione su MT-5, collegando i 2 terminali con un canale denominato.

C'è ancora una certa complessità in MT-5 poiché l'Expert Advisor per il mercato azionario è un Pipe Server.

OnTrade e OnTradeTransaction non è possibile.

Da un lato, un RETURN fill ha molte più probabilità di essere eseguito, ma comunque, l'ordine potrebbe non essere immediatamente

D'altra parte, se eseguiamo un FOK,

D'altra parte, se eseguiamo un FOK, potremmo avere una situazione in cui siamo sempre a corto di volume da eseguire.

Mi chiedo quale sarebbe la migliore linea d'azione?

Intendiamo la situazione in cui l'ordine non ha abbastanza liquidità fino alla barra?

Possiamo provare a guardarlo anche usando il timer e rimuoverlo se è ORDER_STATE_PARTIAL e il prezzo è sulla barra.

O forse guardare SYMBOL_SESSION_*_ORDERS_VOLUME

 
prostotrader #:

Attualmente sto spostando la mia applicazione su MT-5, collegando 2 terminali con un canale nominato.

Ciao!

Puoi dirmi per favore (se non è un segreto) perché non consideri il trading con un altro broker? Dove c'è un unico conto di intermediazione.

Per il tuo tradingAction-Futures, di cui hai scritto in altri post, risulta molto più conveniente, vero? + risolverebbe molti dei problemi associati al collegamento dei due terminali.

Le mie uniche opzioni sono il ritardo di esecuzione e la commissione...

 
Andrey Miguzov #:

Ciao!

Puoi dirmi per favore (se non è un segreto) perché non stai considerando il trading con un altro broker? Dove c'è un unico conto di intermediazione.

Per il tuo commercioShare-Futures, di cui hai scritto in altri post, risulta molto più conveniente, giusto? + risolverebbe molti dei problemi associati al collegamento dei due terminali.

Ho solo il tempo di ritardo di esecuzione e la commissione dalle opzioni...

Ho scritto che Quick funziona molto lentamente e MT-5 solo in Otkritie e BCS, non considero affatto Finam.

Sul fondo non hanno bisogno di una riserva di fondi, e per i futures, quando scalping, non tanto denaro extra da tenere.

L'obiettivo è quello di fare scalping sull'arbitraggio classico con rischio zero.

 
JRandomTrader #:

Stiamo parlando di una situazione in cui l'ordine manca di liquidità fino al bar?

Puoi provare a guardarlo anche con il timer, e se è ORDER_STATE_PARTIAL e il prezzo è sulla barra, allora sparagli.

O forse guardare SYMBOL_SESSION_*_ORDERS_VOLUME.

Non si possono usare altre funzioni sul server Pipe perché l'unica implementazione su

MT-5 (thread singolo) è appendere il server EA in modalità standby di comando, ricevere un comando lyser, eseguirlo,

e inviare il risultato.

//+------------------------------------------------------------------+
//| 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(); blocca il server-advisor, attende il comando dal client.

Tutta la gestione del server proviene dal client Expert Advisor

In questa modalità, la comunicazione tra i terminali è incredibilmente veloce e il

struttura con una serie di dati pronti in entrambe le direzioni viene trasmessa in una sola volta.

 
prostotrader #:

In questa modalità, la comunicazione tra i terminali è incredibilmente veloce, e il

struttura con una serie di dati pronti in entrambe le direzioni viene trasmessa in una sola volta.

Pipe è una sovrastruttura sopra la memoria condivisa, quindi (all'interno dello stesso PC) lo scambio può essere considerato come se avesse zero ritardo.

 
Dmitriy Skub #:

Pipe è un'aggiunta alla memoria condivisa e quindi (all'interno dello stesso PC) lo scambio può essere considerato come se avesse zero ritardo.

Quello che volevo dire è che non c'è bisogno di comunicare attraverso la vostra applicazione.

 
prostotrader #:

Ho scritto che Quick è molto lento e MT-5 è solo a Otkritie e BCS, non considero affatto Finam.

Questo è quello che ho scritto su Finam. Ho intenzione di aprire un conto lì solo a causa di EBS.

È un peccato che i broker non possano essere discussi sul forum. Vi sarei molto grato se poteste scrivere nel vostro messaggio personale perché non andarci.

In ogni caso, grazie per le informazioni!

Motivazione: