FORTS: codici di ritorno di OnTradeTransaction() - pagina 2

 
Михаил:

Io e te parliamo "lingue diverse".

L'ordine può essere cancellato come risultato di una transazione incrociata,

e l'ORDER_STATE_CANCELED ritorna con un codice di ritorno "0".

Questo non ha niente a che fare con il broker.

Capite che MT5 è una piattaforma universale e quando si adatta alle condizioni di un particolare gateway, il Broker (ogni broker) configura la parte server a modo suo.

Ciò che il programmatore del broker scrive sul server restituirà.

Quindi, la questione dovrebbe essere risolta direttamente con il dipartimento di supporto tecnico del broker. Solo loro hanno i log del server, solo loro possono chiarire la situazione.

In questo caso, qualsiasi osservatore esterno non può nemmeno essere sicuro che questi siano veri codici di ritorno, è scritto dal vostro codice, e il codice non è allegato.

E la registrazione di funzioni così veloci attraverso le stampanti dà spesso un casino. Sarebbe bene riprodurre la situazione (capisco che è difficile), e preferibilmente con un log di stringa seguito da un dumping in un file.

In ogni caso, è impossibile capirlo senza un CD Broker.

 
Nikolay Demko:

Capite che MT5 è una piattaforma universale, e quando si adatta alle condizioni di un particolare gateway, il Broker (ogni broker) configura la parte server a modo suo.

Ciò che il programmatore del broker scrive il server restituirà.

Quindi, la questione dovrebbe essere risolta direttamente con il dipartimento di supporto tecnico del broker. Solo loro hanno i log del server, solo loro possono chiarire la situazione.

In questo caso, qualsiasi osservatore esterno non può nemmeno essere sicuro che questi siano veri codici di ritorno, è scritto dal vostro codice, e il codice non è allegato.

E la registrazione di funzioni così veloci attraverso le stampanti dà spesso un casino. Sarebbe bene riprodurre la situazione (capisco che è difficile), e preferibilmente con un log di stringa seguito da un dumping in un file.

In ogni caso, ripeto, senza un broker CD è impossibile capire.

Caro Nikolai!

Se TUTTI i programmatori di broker scriveranno i "loro" codici di ritorno ....

Pensate a cosa succederebbe :)

 
Михаил:

Caro Nikolai!

Se OGNI broker pgrammatore scrive i "suoi" codici di ritorno....

Pensate a cosa succederebbe :)

Non esagerare, il programmatore del broker configura il server una volta al pre-lancio, e non qualsiasi cosa, ma solo dal set disponibile.

Ma l'impostazione del server è una cosa intellettuale, il produttore ha fatto disposizioni per le opzioni, ma per sviluppare in anticipo alcuni schemi di impostazione un po' complicato, dipende da che tipo di condizioni a cui broker.

Quindi la configurazione della parte server è fatta al broker, per una cosa. La seconda ragione per cui dovete contattare il broker è perché ha un registro della parte del server, e solo quando il broker dice così e così, questo bug del server è già possibile a MQ, anche se in questo caso, non dovete preoccuparvi, saranno loro stessi a contattare lo sviluppatore.

 
Nikolay Demko:

Non esagerare, il programmatore del broker configura il server una volta durante la preparazione del pre-lancio, e non qualsiasi cosa, ma dal set disponibile.

Ma l'impostazione del server è una cosa intelligente, il produttore ha previsto le opzioni possibili, ma è difficile elaborare in anticipo alcuni schemi di configurazione, dipende da che tipo di condizioni ha un broker.

Quindi la configurazione della parte server è fatta al broker, per una cosa. Il secondo motivo per cui contattare il broker, è perché ha un server lato log e solo quando il broker dice così e così, questo bug del server è già possibile per MQ, anche se in questo caso, non devi preoccuparti, essi stessi contatteranno lo sviluppatore.

Risposta del broker:

Buon pomeriggio.

No, questa impostazione è sul lato degli sviluppatori.

Alla fine dell'anno scorso è stata sollevata la seguente questione:

Moscow Exchange multa per transazioni errate. Il regolamento completo può essere visto suhttp://fs.moex.com/files/4266

Così, per esempio, lo scambio penalizza:

Tipo di transazione*.

Risultato dell'esecuzione (codice di errore)*

Punteggio Q

AddOrder

Si sono verificati scambi incrociati (31)

Q1

Fondi del cliente insufficienti (332)

Q2

Fondi insufficienti dalla società di intermediazione (333)

Q3

Offerta FOK non consolidata (4103)

Q4

DelOrder

Ordine non trovato (14)

Q5

MoveOrder

Si è verificata una negoziazione incrociata (31)

Q6

Nessun ordine è stato trovato (50)

Q7

Fondi del cliente insufficienti (332)

Q8

Fondi insufficienti della società di intermediazione (333)

Q9

DelUserOrders

La transazione è stata completata con successo,

e nessun ordine viene cancellato

Q10

In MT5 non ci sono altri codici di ritorno nel "trade server return codes", tranne il codice di ritorno "not enough client funds".

La seguente risposta è stata ricevutadaMetaQuotes

Salve,

1. Purtroppo, il problema della traduzione dei codici di ritorno di scambio in una forma o nell'altra non è semplice e richiede una serie di modifiche. Attualmente stiamo cercando la soluzione più appropriata. Molto probabilmente la funzionalità richiesta sarà aggiunta durante il prossimo anno.

2. Per quanto riguarda la tabella delle transazioni errate - tenendo conto che il server di trading MT5 esegue un controllo preliminare delle richieste di trading del cliente (compreso il controllo dei requisiti di margine), lo scambio può effettivamente essere rifiutato in 2 casi:

Tipo di transazione*

Risultato dell'esecuzione (codice di errore)*

Punteggio Q

AddOrder

Si sono verificati scambi incrociati (31)

Q1

Fondi del cliente insufficienti (332)

Q2

Fondi insufficienti dalla società di intermediazione (333)

Q3

Offerta FOK non consolidata (4103)

Q4

DelOrder

Ordine non trovato (14)

Q5

MoveOrder

Si è verificata una negoziazione incrociata (31)

Q6

Nessun ordine è stato trovato (50)

Q7

Fondi del cliente insufficienti (332)

Q8

Fondi insufficienti della società di intermediazione (333)

Q9

DelUserOrders

La transazione è stata completata con successo,

e nessun ordine viene cancellato

Q10


Entrambe le cose sono praticamente improbabili.

Saluti,

Mikhail Baturov

Responsabile del supporto utenti dei sistemi di trading

Gestione del supporto dei sistemi di trading

Casa di intermediazione Otkritie

 

A volte, le MQ sono bloccate in alcune risposte.

Esempio:

MQ:"Entrambe le cose sono praticamente improbabili."

C'è poco da meravigliarsi della ragione del fallimento!

C'è stato un cambiamento sul simbolo MGNT il 12.05.2015 (il passo di prezzo è diventato 1,

i prezzi dovrebbero essere interi)

Il broker probabilmente non sta tenendo traccia dei cambiamenti di scambio:

Se il mio consulente non avesse la protezione del codice di ritorno,

allora otterrei migliaia di transazioni in pochi secondi:

2015.05.15 10:00:10.051 Forts_trader (MGNT-6.15,H1)     StopTrading: Неправильная цена в запросе

E una tale situazione dovrebbe essere anche "improbabile"!


 

Cari sviluppatori!

Per favore rispondete, quando pagherete finalmente

attenzione ai CODICI DI RITORNO del server di trading?

Quando un server MT5 ha un "glitch" o uno scambio si blocca, succede quanto segue:

L'Expert Advisor invia ordini per cancellare un ordine ESISTENTE, ma la risposta ritorna

"Richiesta non valida" !!!! E l'Expert Advisor continua a "martellare" il server con ordini di cancellazione

ordine.

//+------------------------------------------------------------------+
// Remove order                                                      |
//+------------------------------------------------------------------+
void COrder::Remove()
{
  if ( ticket > 0 )
  {
    if ( OrderSelect( ticket ) )
    {
      mem_magic = ulong( OrderGetInteger( ORDER_MAGIC ) );
      mem_tick = GetTickCount();
      req_id = 0;
      MqlTradeRequest request = {0};
      MqlTradeResult  result  = {0};
            
      request.action = TRADE_ACTION_REMOVE;
      request.order = ticket;
          
      if ( OrderSendAsync( request, result ) )
      {
        if ( result.retcode == TRADE_RETCODE_PLACED )
        { 
          req_id = result.request_id;
//---          
          switch( order_status )
          {
            case BUY_ORDER:  state = ORD_BUY_DO_CANCEL;
                             break;
                
            case SELL_ORDER: state = ORD_SELL_DO_CANCEL;
                             break;           
          } 
          SetTransCount( true );
        }
        else
        {
          mem_magic = 0;
          mem_tick = 0;
          CheckError( result.retcode, "Remove: Результат удаления ордера не верен! Причина: ", order_status, ticket );
        }  
      }
      else
      {
        mem_magic = 0;
        mem_tick = 0;
        CheckError( result.retcode, "Remove: Ордер не отослан! Причина: ", order_status, ticket );
      }
    }
    else
    {
      ticket = 0;
      modify_count = 0;
    }
  }
  else
  {
    modify_count = 0;
  }
}

Come può esserci una richiesta sbagliata se l'ordine è ATTIVO?

2015.09.15 15:27:31.402 Trades  'xxxxx': failed modify order #20619541 sell limit 35.00 BR-11.15 at 50.33000 sl: 0.00000 tp: 0.00000 -> 49.19000, sl: 0.00000 tp: 0.00000 [Invalid request]
2015.09.15 15:27:32.611 Trades  'xxxxx': failed cancel order #20619541 sell limit 35.00 BR-11.15 at 50.33000 [Invalid request]
2015.09.15 15:27:34.163 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:42.815 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.006 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.358 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:43.407 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:44.562 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:44.572 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:45.593 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:45.892 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.007 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.407 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.769 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:47.789 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.819 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.879 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:27:50.900 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:28:04.330 Trades  'xxxxx': failed cancel order #20619543 buy limit 50.00 BR-11.15 at 48.29000 [Invalid request]
2015.09.15 15:28:04.330 Trades  'xxxxx': failed cancel order #20619541 sell limit 35.00 BR-11.15 at 50.33000 [Invalid request]
 

L'editing costante del post è ricominciato. Come se questo rendesse l'argomento più visibile agli sviluppatori.

Faresti meglio ad andare al service desk a strofinarli ogni giorno invece di aggiornare il forum con aggiornamenti invisibili...

 
Andrey Khatimlianskii:

L'editing costante del post è ricominciato. Come se questo rendesse l'argomento più visibile agli sviluppatori.

Faresti meglio a strofinarli ogni giorno nel service-desk invece di aggiornare il forum con aggiornamenti invisibili...

Buongiorno, Andrew!

E nessuno risponde nemmeno lì (tutti sono "stufi").

 
E qui, la comunità sarà consapevole dei problemi attuali.
 

Sei tu, Andrei, contro la correzione dei bug in MT5 e

Sei contrario a risolvere i bug in MT5 e a migliorare la funzionalità di trading della piattaforma?