FORTI. Problemi di applicazione - pagina 131

 

Forte, grazie per la recensione!

1. Che tipo di hardware? Il server è esigente, e qui sembra che abbia eseguito tutto su un PC normale. O mi sbaglio?

2. Hai controllato esattamente le impostazioni di runtime / plugin / routing? Assomiglia molto a un ritardo artificiale (per non bruciare il b-book).

Sarebbe interessante andare in fondo a questa storia.


ps: duplicato qui come vedrò la risposta (e devo controllare il blog)

 
Andrey Khatimlianskii:

ps: duplicato qui come vedrò la risposta (e devo controllare il blog)

Ha risposto lì.

 
Andrey Khatimlianskii:

Sarebbe interessante andare in fondo a questa storia.



Anno 6 che chiede agli sviluppatori e al broker di risolvere il problema....

Aggiunto

Per renderlo più facile da smistare, meglio usare ordini asincroni (più registri).

 

Non cambia nulla.... È triste (Open, Real, FORTS, Bild 2280).

--------------------------- Установка ордера -----------------------------
Терминал
2020.02.11 10:00:02.170 Trades  'xxxxx': buy limit 2.00 SBRF-6.20 at 22147                                                          (приказ на установку ордера)


Советник
2020.02.11 10:00:03.233 FCS_Trader (SBRF-3.20,M1)       CheckOrders: Не получен билет Buy ордера. Ожидание продолжается...          (ожидание получения тикета) 

Терминал
2020.02.11 10:00:04.147 Trades  'ххххх': accepted buy limit 2.00 SBRF-6.20 at 22147                                                 (ордер проверен, присвоен тикет)  


Советник
2020.02.11 10:00:04.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:05.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:06.738 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773

Терминал
2020.02.11 10:00:07.247 Trades  'ххххх': buy limit 2.00 SBRF-6.20 at 22147 placed for execution in 5078.289 ms                         (приказ отправлен на биржу)
                                                                                                                                       (ответ биржи терминалом не логируется)  
----------------------------------- Удаление ордера ---------------------------------------------------
2020.02.11 10:00:07.444 Trades  'ххххх': cancel order #117122773 buy limit 2.00 SBRF-6.20 at 22147                                     (приказ на удаление ордера) 


Советник
2020.02.11 10:00:08.747 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117122773                (ожидание проверки ордера сервером МТ5)

Терминал
2020.02.11 10:00:09.469 Trades  'ххххх': accepted cancel order #117122773 buy limit 2.00 SBRF-6.20 at 22147                             (ордер проверен) 
2020.02.11 10:00:09.759 Trades  'ххххх': cancel order #117122773 buy limit 2.00 SBRF-6.20 at 22147 placed for execution in 2315.130 ms (приказ отправлен на биржу)
                                                                                                                                        (ответ биржи терминалом не логируется) 

Советник
2020.02.11 10:00:10.235 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:11.235 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:12.748 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:13.751 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:15.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:16.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:17.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:18.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:20.241 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:21.729 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:22.739 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:23.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:25.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:26.740 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:28.241 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:29.733 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:31.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:32.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:33.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:35.239 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:36.738 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:37.740 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:38.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:40.237 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:41.740 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:43.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:44.739 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:45.740 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:47.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:48.241 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:49.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:51.235 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:52.729 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:53.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:55.241 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:56.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:58.239 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:00:59.739 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:01.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:02.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:03.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:04.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:06.239 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:07.736 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:09.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:10.737 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:11.740 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:12.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:14.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:15.241 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:16.737 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:17.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:19.235 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:20.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:21.734 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:22.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:23.742 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:25.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:26.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:27.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:29.235 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:30.739 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:32.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:33.740 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:35.240 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:36.738 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:38.236 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:39.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:41.242 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:42.741 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:44.238 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:45.241 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:46.740 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:48.241 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773
2020.02.11 10:01:49.737 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773

Non c'è un log del terminale, perché gli sviluppatori non hanno ritenuto necessario registrare la risposta di scambio.

1 minuto e 42 secondi l'ordine è stato cancellato!

 
Grazie per le informazioni, una ricerca molto utile su un terminale nel vuoto dove non si può dare la colpa a una cattiva connessione internet e a un cattivo scambio che ritarda l'esecuzione.
 

Aperto, reale, FORTS, Bild 2280

Oggi era "sovraccarico" a tutti, non c'era nessuna sincronizzazione:

Ecco l'inizio e la fine del registro (resettare l'EA a mano)

2020.02.13 10:01:45.988 FCS_Trader (SBRF-6.20,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
......
2020.02.13 15:18:50.991 FCS_Trader (SBRF-6.20,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549

Su altri grafici (2 terminali 83 EAs) gli EAs hanno funzionato bene

Aggiunto

Mi sembra che "glitched" perché in qualche modo il terminale usato per sincronizzare

dati dopo"accettato modifica ordine #117284549" e dovrebbe aver avuto conferma e sincronizzato

dati dopo"modifica ordine #117284549 comprare limite 1.00 SBRF-9.20 a 23557 sl: 0 tp: 0 scadenza: giorno -> 24138, sl: 0 tp: 0 scadenza: giorno posto in esecuzione in 1299.618 ms"

2020.02.13 10:00:09.529 Trades  'xxxxx': modify order #117284549 buy limit 1.00 SBRF-9.20 at 23557 sl: 0 tp: 0 expiration: day -> 24138, sl: 0 tp: 0 expiration: day
2020.02.13 10:00:10.079 Trades  'xxxxx': accepted modify order #117284549 buy limit 1.00 SBRF-9.20 at 23557 sl: 0 tp: 0 expiration: day -> 24138, sl: 0 tp: 0 expiration: day
2020.02.13 10:00:10.080 Trades  'xxxxx': cancel order #117284549 buy limit 1.00 SBRF-9.20 at 23557
2020.02.13 10:00:10.105 Trades  'xxxxx': accepted cancel order #117284549 buy limit 1.00 SBRF-9.20 at 23557
2020.02.13 10:00:10.828 Trades  'xxxxx': modify order #117284549 buy limit 1.00 SBRF-9.20 at 23557 sl: 0 tp: 0 expiration: day -> 24138, sl: 0 tp: 0 expiration: day placed for execution in 1299.618 ms
2020.02.13 10:00:10.930 Trades  'xxxxx': cancel order #117284549 buy limit 1.00 SBRF-9.20 at 23557 placed for execution in 850.015 ms
 
prostotrader:

Oggi è stato "glitchato" a tutti, non c'era nessuna sincronizzazione:

Ecco l'inizio e la fine del registro (resettare l'EA a mano)

Sembra più un errore nella logica dell'Expert Advisor.

O si sono basati sulla sequenza degli eventi (che era diversa), o semplicemente non hanno preso in considerazione qualcosa.

 
Andrey Khatimlianskii :

Più come un errore nella logica di EA.

O facevano affidamento sulla sequenza degli eventi (ed era diverso), o semplicemente non tenevano conto di qualcosa.

Andrei!

Sarei d'accordo con te se questo Expert Advisor (non modificato da 5 anni ) funzionasse sempre correttamente!

Con qualsiasi azione sull'ordine nel consulente, non succede nulla finché non viene scoperto cosa è successo all'ordine.

E registra che l'ordine è stato modificato (Print(__FUNCTION__, ": Buy order modified.", "Nuovo prezzo = ", order_data.price_open, " Ticket = ", a_ticket);) no!

No e altro voce Print ( __FUNCTION__ , ": Acquista ordine in modifica. Ticket = " , a_ticket);

 case SELECT_TRUE:
       switch (order_data.real_state)
      {
         case ORDER_EXIST:
           switch (o_status)
          {
             case BUY_ORDER:
              BuyOrder.mem_time = GetMicrosecondCount ();
               switch (BuyOrder.state)
              {
                 case ORD_DO_SET:  //Операции запрещены
                  BuyOrder.state = ORD_WORK;   //Операции разрешены
                   Print ( __FUNCTION__ , ": Buy ордер установлен. Билет = " , a_ticket);
                 break ;
                 case ORD_DO_MODIFY:  //Операции запрещены
                   if ( NormalizeDouble (BuyOrder.modify_price, Digits ()) == NormalizeDouble (order_data.price_open, Digits ()))
                  {
                    BuyOrder.state = ORD_WORK; //Изменено состояние ордера, над ним можно совершать операции
                     Print ( __FUNCTION__ , ": Buy ордер модифицирован. " , "Новая цена = " , order_data.price_open, " Билет = " , a_ticket);
                  }
                   else Print ( __FUNCTION__ , ": Buy ордер в процессе модификации. Билет = " , a_ticket);
                 break ;
                 case ORD_DO_CANCEL: //Операции запрещены
                   Print ( __FUNCTION__ , ": OE Buy ордер в процессе удаления. Билет = " , a_ticket);
                 break ;
              }
             break


 2020.02 . 13 10 : 00 : 08.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 11.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 12.992 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 14.485 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 15.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 16.982 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 18.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 19.989 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 20.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549
2020.02 . 13 10 : 00 : 22.489 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 23.489 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 24.491 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 25.983 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549
2020.02 . 13 10 : 00 : 26.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Buy ордер в процессе удаления. Билет = 117284549

Un record

 2020.02 . 13 10 : 00 : 08.991 FCS_Trader (SBRF- 6.20 ,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117284549

può apparire solo se si è verificato un errore o lo stato dell'ordine non è definito ( case SELECT_BUSY: )

  ENUM_ORD_SELECT order_select = OrderRealSelect(a_ticket, order_data, true );
   switch (order_select)
  {
     case SELECT_ERROR:
     case SELECT_BUSY:
       if (order_data.error_code == ERR_ZERO_TICKET)
      {
         switch (o_status)
        {
           case BUY_ORDER:
            BuyOrder.Canceled( true );
             Print ( __FUNCTION__ , ": Билет Buy ордера = 0" );
           break ;
           case SELL_ORDER:
            SellOrder.Canceled( true );
             Print ( __FUNCTION__ , ": Билет Sell ордера = 0" );
           break ;
        }
      }
       else
      {
         switch (o_status)
        {
           case BUY_ORDER:
            BuyOrder.mem_time = GetMicrosecondCount ();
             Print ( __FUNCTION__ , ": Состояние Buy ордера не определено. Билет = " , a_ticket);
           break ;
           case SELL_ORDER:
            SellOrder.mem_time = GetMicrosecondCount ();
             Print ( __FUNCTION__ , ": Состояние Sell ордера не определено. Билет = " , a_ticket);
           break ;
        }
      }
     break ;

Aggiunto

La funzione OrderRealSelect() ha sempre funzionato correttamente fino ad oggi (penso che funzioni ancora...)

 #define ERR_ZERO_TICKET - 1111

enum ENUM_ORD_SELECT
{
  SELECT_ERROR = 0 ,
  SELECT_FALSE = 1 ,
  SELECT_TRUE  = 2 ,
  SELECT_BUSY  = 3
};
enum ENUM_ORD_HYSTORY
{
  HYST_NOT_SPECIFIED = 0 ,
  HYST_TRUE          = 1 ,
  HYST_FALSE         = 2
};
//---
struct ORDER_DATA
{
   int                      error_code;
   ulong                    ticket;
   datetime                 time_setup;
   ENUM_ORDER_TYPE          type;
   ENUM_ORDER_STATE         state;
  ENUM_ORD_REAL_STATE     real_state;
   datetime                 expiration;
   datetime                 time_done;
   long                     t_set_msc;
   long                     t_done_msc;
   ENUM_ORDER_TYPE_FILLING type_filling;
   ENUM_ORDER_TYPE_TIME     type_time;
   long                     magic;
   ENUM_ORDER_REASON        reason;
   long                     pos_id;
   long                     pos_by_id;
   double                   vol_init;
   double                   vol_cur;
   double                   price_open;
   double                   sl;
   double                   tp;
   double                   price_cur;
   double                   price_stlim;
   string                   symbol;
   string                   comment;
   string                   ext_id; 
  ENUM_ORD_HYSTORY        is_hystory;       
};
enum ENUM_ORD_REAL_STATE
{
  ORDER_NOT_SPECIFIED         = 0, //Состояние ордера не определено
  ORDER_NONE_CANCELED         = 1, //Ордера нет, отменён пользователем
  ORDER_NONE_PARTIAL_CANCELED = 2, //Ордера нет, исполнился частично (не был залит вторым объёмом)
  ORDER_NONE_PARTIAL          = 3, //Ордера нет, исполнился частично
  ORDER_NONE_EXPIRED          = 4, //Ордера нет, удалён по сроку
  ORDER_NONE_FILLED           = 5, //Ордера нет, исполнился полностью
  ORDER_NONE_REJECTED         = 6, //Ордера нет, отклонён брокером(биржей)
  ORDER_BUSY                  = 7, //Ордер находится в переходном состоянии
  ORDER_EXIST                 = 8, //Ордер выставлен на биржу, возможны действия над ним
  ORDER_EXIST_PARTIAL         = 9  //Ордер выставлен на биржу, частично исполнился, возможны действия над ним
};

//+------------------------------------------------------------------+
// Expert Order Real Select function                                 |
//+------------------------------------------------------------------+
ENUM_ORD_SELECT OrderRealSelect( const ulong ticket, ORDER_DATA &ord_data, const bool get_data)
{
   double init_vol = 0 ;
   double cur_vol = 0 ;
   ZeroMemory (ord_data);
  ord_data.real_state = ORDER_NOT_SPECIFIED;
  ord_data.error_code = ERR_SUCCESS ;
   ResetLastError ();
  ord_data.is_hystory = HYST_NOT_SPECIFIED;
   if (ticket > 0 )
  {
     if ( HistoryOrderSelect (ticket))
    {
      ord_data.is_hystory = HYST_TRUE;
       if (get_data == true )
      {
//--- long      
        ord_data.ticket = ulong ( HistoryOrderGetInteger (ticket, ORDER_TICKET ));
        ord_data.time_setup = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_SETUP ));
        ord_data.type = ENUM_ORDER_TYPE ( HistoryOrderGetInteger (ticket, ORDER_TYPE ));
        ord_data.state = ENUM_ORDER_STATE ( HistoryOrderGetInteger (ticket, ORDER_STATE ));
        ord_data.expiration = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_EXPIRATION ));
        ord_data.time_done = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_DONE ));
        ord_data.t_set_msc = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_SETUP_MSC ));
        ord_data.t_done_msc = datetime ( HistoryOrderGetInteger (ticket, ORDER_TIME_DONE_MSC ));
        ord_data.type_filling = ENUM_ORDER_TYPE_FILLING ( HistoryOrderGetInteger (ticket, ORDER_TYPE_FILLING ));
        ord_data.type_time = ENUM_ORDER_TYPE_TIME ( HistoryOrderGetInteger (ticket, ORDER_TYPE_TIME ));
        ord_data.magic = HistoryOrderGetInteger (ticket, ORDER_MAGIC );
        ord_data.reason = ENUM_ORDER_REASON ( HistoryOrderGetInteger (ticket, ORDER_REASON ));
        ord_data.pos_id = HistoryOrderGetInteger (ticket, ORDER_POSITION_ID );
        ord_data.pos_by_id = HistoryOrderGetInteger (ticket, ORDER_POSITION_BY_ID );
//--- double        
        ord_data.vol_init = HistoryOrderGetDouble (ticket, ORDER_VOLUME_INITIAL );
        ord_data.vol_cur = HistoryOrderGetDouble (ticket, ORDER_VOLUME_CURRENT );
        ord_data.price_open = HistoryOrderGetDouble (ticket, ORDER_PRICE_OPEN );
        ord_data.sl = HistoryOrderGetDouble (ticket, ORDER_SL );
        ord_data.tp = HistoryOrderGetDouble (ticket, ORDER_TP );
        ord_data.price_cur = HistoryOrderGetDouble (ticket, ORDER_PRICE_CURRENT );
        ord_data.price_stlim = HistoryOrderGetDouble (ticket, ORDER_PRICE_STOPLIMIT );
//--- string        
        ord_data.symbol = HistoryOrderGetString (ticket, ORDER_SYMBOL );
        ord_data.comment = HistoryOrderGetString (ticket, ORDER_COMMENT );
        ord_data.ext_id = HistoryOrderGetString (ticket, ORDER_EXTERNAL_ID );
      }
       else
      {
        ord_data.state = ENUM_ORDER_STATE ( HistoryOrderGetInteger (ticket, ORDER_STATE ));
        cur_vol = HistoryOrderGetDouble (ticket, ORDER_VOLUME_CURRENT );
        init_vol = HistoryOrderGetDouble (ticket, ORDER_VOLUME_INITIAL );
      }   
//---
       switch (ord_data.state)
      { 
         case ORDER_STATE_CANCELED :
           if (get_data)
          {
             if (ord_data.vol_init == ord_data.vol_cur)
            {
              ord_data.real_state = ORDER_NONE_CANCELED;
            }
             else
            {
              ord_data.real_state = ORDER_NONE_PARTIAL_CANCELED;
            }
          }
           else
          {
             if (init_vol == cur_vol)
            {
              ord_data.real_state = ORDER_NONE_CANCELED;
            }
             else
            {
              ord_data.real_state = ORDER_NONE_PARTIAL_CANCELED;
            }
          }    
         break ;
         
         case ORDER_STATE_PARTIAL :
          ord_data.real_state = ORDER_NONE_PARTIAL;
         break ;
                                         
         case ORDER_STATE_EXPIRED :
          ord_data.real_state = ORDER_NONE_EXPIRED;
         break ;
                                                                              
         case ORDER_STATE_FILLED :
          ord_data.real_state = ORDER_NONE_FILLED;
         break ;
                                         
         case ORDER_STATE_REJECTED :
          ord_data.real_state = ORDER_NONE_REJECTED;
         break ;  
      }
    }
     else
     if ( OrderSelect (ticket))
    {
      ord_data.is_hystory = HYST_FALSE;
       if (get_data == true )
      {
//--- long      
        ord_data.ticket = ulong ( OrderGetInteger ( ORDER_TICKET ));
        ord_data.time_setup = datetime ( OrderGetInteger ( ORDER_TIME_SETUP ));
        ord_data.type = ENUM_ORDER_TYPE ( OrderGetInteger ( ORDER_TYPE ));
        ord_data.state = ENUM_ORDER_STATE ( OrderGetInteger ( ORDER_STATE ));
        ord_data.expiration = datetime ( OrderGetInteger ( ORDER_TIME_EXPIRATION ));
        ord_data.time_done = datetime ( OrderGetInteger ( ORDER_TIME_DONE ));
        ord_data.t_set_msc = datetime ( OrderGetInteger ( ORDER_TIME_SETUP_MSC ));
        ord_data.t_done_msc = datetime ( OrderGetInteger ( ORDER_TIME_DONE_MSC ));
        ord_data.type_filling = ENUM_ORDER_TYPE_FILLING ( OrderGetInteger ( ORDER_TYPE_FILLING ));
        ord_data.type_time = ENUM_ORDER_TYPE_TIME ( OrderGetInteger ( ORDER_TYPE_TIME ));
        ord_data.magic = OrderGetInteger ( ORDER_MAGIC );
        ord_data.reason = ENUM_ORDER_REASON ( OrderGetInteger ( ORDER_REASON ));
        ord_data.pos_id = OrderGetInteger ( ORDER_POSITION_ID );
        ord_data.pos_by_id = OrderGetInteger ( ORDER_POSITION_BY_ID );
//--- double        
        ord_data.vol_init = OrderGetDouble ( ORDER_VOLUME_INITIAL );
        ord_data.vol_cur = OrderGetDouble ( ORDER_VOLUME_CURRENT );
        ord_data.price_open = OrderGetDouble ( ORDER_PRICE_OPEN );
        ord_data.sl = OrderGetDouble ( ORDER_SL );
        ord_data.tp = OrderGetDouble ( ORDER_TP );
        ord_data.price_cur = OrderGetDouble ( ORDER_PRICE_CURRENT );
        ord_data.price_stlim = OrderGetDouble ( ORDER_PRICE_STOPLIMIT );
//--- string        
        ord_data.symbol = OrderGetString ( ORDER_SYMBOL );
        ord_data.comment = OrderGetString ( ORDER_COMMENT );
        ord_data.ext_id = OrderGetString ( ORDER_EXTERNAL_ID );      
      }
       else ord_data.state = ENUM_ORDER_STATE ( OrderGetInteger ( ORDER_STATE ));
       switch (ord_data.state)
      { 
         case ORDER_STATE_STARTED :
         case ORDER_STATE_REQUEST_ADD :
         case ORDER_STATE_REQUEST_MODIFY :
         case ORDER_STATE_REQUEST_CANCEL :
          ord_data.real_state = ORDER_BUSY;
         break ; 
         case ORDER_STATE_PARTIAL :
          ord_data.real_state = ORDER_EXIST_PARTIAL;
         break ;
         case ORDER_STATE_PLACED :
          ord_data.real_state = ORDER_EXIST;
         break ;
      }
    }
     else ord_data.error_code = GetLastError ();
     if ((ord_data.error_code != ERR_SUCCESS ) ||
       (ord_data.real_state == ORDER_NOT_SPECIFIED))
    {
       return (SELECT_ERROR);
    }
     else
    {
       switch (ord_data.real_state)
      {
         case ORDER_BUSY:
           return (SELECT_BUSY);
         break ;
         case ORDER_EXIST:   
         case ORDER_EXIST_PARTIAL:
           return (SELECT_TRUE);
         break ;
         default :   
           return (SELECT_FALSE);
         break ;                                             
      }
    }
  } 
   else
  {
    ord_data.error_code = ERR_ZERO_TICKET; 
     return (SELECT_ERROR);
  }
}
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
 

Purtroppo, la maggior parte degli errori (almeno per FORTS) sono fluttuanti!

Cioè è sempre molto difficile riprodurre un errore.

Non per niente questo argomento va avanti da quasi 6 anni....

Se ci fosse un errore nella logica dell'Expert Advisor, questo "scoppierebbe" spesso, non solo una o due volte a settimana di trading!

Inoltre, questo EA ha lavorato per più di 5 anni su 84 simboli!

Aggiunto

Oh e dal glitch (post sopra)

2020.02.11 10:01:49.737 FCS_Trader (SBRF-3.20,M1)       ProcessOrders: Состояние Buy ордера не определено. Билет = 117122773

C'era ancora una risposta di scambio in OnTradeTransaction() o i dati si sincronizzavano ancora nel terminale(quest'ultima voce)!

Dopo 1 minuto e 42 secondi ha rilevato cosa è successo all'ordine!

Aggiunto da

Sì e non sono io a mettere questi ritardi colossali nel registro!

2020.02.13 10:00:04.427 Trades  'xxxxx': sell limit 1.00 SILV-12.20 at 18.91 placed for execution in 3400.385 ms
2020.02.13 10:00:05.049 Trades  'xxxxx': cancel order #117284388 buy limit 2.00 GAZR-9.20 at 21086
2020.02.13 10:00:05.049 Trades  'xxxxx': cancel order #117284389 sell limit 1.00 GAZR-9.20 at 25858
2020.02.13 10:00:05.106 Trades  'xxxxx': cancel order #117284392 buy limit 2.00 RTS-6.20 at 145350
2020.02.13 10:00:05.106 Trades  'xxxxx': cancel order #117284394 sell limit 1.00 RTS-6.20 at 162370
2020.02.13 10:00:05.815 Trades  'xxxxx': buy limit 1.00 SBRF-6.20 at 21997 placed for execution in 4582.068 ms
2020.02.13 10:00:05.816 Trades  'xxxxx': sell limit 2.00 SBRF-6.20 at 26879 placed for execution in 4583.598 ms
2020.02.13 10:00:06.809 Trades  'xxxxx': cancel order #117284397 sell limit 2.00 Si-12.20 at 66549
2020.02.13 10:00:08.356 Trades  'xxxxx': buy limit 2.00 ROSN-6.20 at 42128 placed for execution in 7119.210 ms
2020.02.13 10:00:08.367 Trades  'xxxxx': sell limit 1.00 ROSN-6.20 at 51112 placed for execution in 7129.944 ms
2020.02.13 10:00:08.370 Trades  'xxxxx': accepted buy limit 1.00 MOEX-6.20 at 10231
2020.02.13 10:00:08.374 Trades  'xxxxx': accepted sell limit 2.00 MOEX-6.20 at 12403
2020.02.13 10:00:08.375 Trades  'xxxxx': buy limit 1.00 GBPU-6.20 at 1.2631 placed for execution in 7093.203 ms
2020.02.13 10:00:08.382 Trades  'xxxxx': buy limit 2.00 LKOH-6.20 at 62201 placed for execution in 7100.184 ms
2020.02.13 10:00:08.384 Trades  'xxxxx': sell limit 1.00 GBPU-6.20 at 1.3405 placed for execution in 7101.788 ms
2020.02.13 10:00:08.384 Trades  'xxxxx': sell limit 2.00 LKOH-6.20 at 66799 placed for execution in 7102.416 ms
2020.02.13 10:00:08.570 Trades  'xxxxx': accepted buy limit 7.00 Eu-9.20 at 71131
2020.02.13 10:00:08.572 Trades  'xxxxx': buy limit 1.00 PLT-6.20 at 921.3 placed for execution in 7170.723 ms
2020.02.13 10:00:08.573 Trades  'xxxxx': accepted buy limit 1.00 MTSI-6.20 at 30664
2020.02.13 10:00:08.574 Trades  'xxxxx': accepted sell limit 2.00 MTSI-6.20 at 37202
2020.02.13 10:00:08.589 Trades  'xxxxx': buy limit 1.00 MIX-6.20 at 293475 placed for execution in 7153.171 ms
2020.02.13 10:00:08.590 Trades  'xxxxx': buy limit 2.00 MXI-6.20 at 2914.25 placed for execution in 7155.083 ms
2020.02.13 10:00:08.605 Trades  'xxxxx': buy limit 1.00 HYDR-6.20 at 6716 placed for execution in 7169.712 ms
2020.02.13 10:00:08.607 Trades  'xxxxx': sell limit 2.00 MXI-6.20 at 3295.65 placed for execution in 7171.361 ms
2020.02.13 10:00:08.609 Trades  'xxxxx': sell limit 1.00 MIX-6.20 at 331775 placed for execution in 7173.465 ms
2020.02.13 10:00:08.610 Trades  'xxxxx': sell limit 2.00 HYDR-6.20 at 8128 placed for execution in 7174.417 ms
2020.02.13 10:00:08.611 Trades  'xxxxx': buy limit 2.00 VTBR-6.20 at 4397 placed for execution in 7166.885 ms
2020.02.13 10:00:08.612 Trades  'xxxxx': sell limit 2.00 VTBR-6.20 at 5321 placed for execution in 7167.615 ms
2020.02.13 10:00:08.633 Trades  'xxxxx': buy limit 1.00 AUDU-6.20 at 0.6592 placed for execution in 7115.432 ms
2020.02.13 10:00:08.636 Trades  'xxxxx': accepted buy limit 1.00 RTKM-6.20 at 8144
2020.02.13 10:00:08.640 Trades  'xxxxx': accepted sell limit 2.00 RTKM-6.20 at 10450
2020.02.13 10:00:08.655 Trades  'xxxxx': buy limit 10.00 BR-7.20 at 51.87 placed for execution in 7133.431 ms
2020.02.13 10:00:08.658 Trades  'xxxxx': sell limit 2.00 BR-7.20 at 61.51 placed for execution in 7136.161 ms
2020.02.13 10:00:08.667 Trades  'xxxxx': buy limit 2.00 LKOH-12.20 at 59401 placed for execution in 7072.427 ms
2020.02.13 10:00:08.677 Trades  'xxxxx': sell limit 1.00 LKOH-12.20 at 72363 placed for execution in 7081.993 ms
2020.02.13 10:00:08.677 Trades  'xxxxx': buy limit 1.00 BR-9.20 at 54.06 placed for execution in 7078.509 ms
2020.02.13 10:00:08.690 Trades  'xxxxx': buy limit 1.00 CHMF-6.20 at 91501 placed for execution in 6985.443 ms
2020.02.13 10:00:08.704 Trades  'xxxxx': cancel order #117284430 buy limit 1.00 SBRF-6.20 at 21997
2020.02.13 10:00:08.704 Trades  'xxxxx': cancel order #117284431 sell limit 2.00 SBRF-6.20 at 26879
2020.02.13 10:00:08.734 Trades  'xxxxx': buy limit 2.00 SBPR-6.20 at 20354 placed for execution in 6811.282 ms
2020.02.13 10:00:08.734 Trades  'xxxxx': buy limit 2.00 MGNT-6.20 at 3404 placed for execution in 6811.918 ms
2020.02.13 10:00:08.735 Trades  'xxxxx': sell limit 2.00 MGNT-6.20 at 4128 placed for execution in 6812.492 ms
2020.02.13 10:00:08.736 Trades  'xxxxx': sell limit 2.00 SBPR-6.20 at 25106 placed for execution in 6813.437 ms
2020.02.13 10:00:08.807 Trades  'xxxxx': buy limit 1.00 MOEX-6.20 at 10231 placed for execution in 6542.366 ms
2020.02.13 10:00:08.809 Trades  'xxxxx': sell limit 2.00 MOEX-6.20 at 12403 placed for execution in 6544.267 ms
2020.02.13 10:00:08.811 Trades  'xxxxx': buy limit 1.00 MTSI-6.20 at 30664 placed for execution in 6426.971 ms
2020.02.13 10:00:08.829 Trades  'xxxxx': buy limit 7.00 Eu-9.20 at 71131 placed for execution in 6491.851 ms
2020.02.13 10:00:08.830 Trades  'xxxxx': sell limit 2.00 MTSI-6.20 at 37202 placed for execution in 6445.075 ms
2020.02.13 10:00:08.833 Trades  'xxxxx': buy limit 1.00 RTKM-6.20 at 8144 placed for execution in 6401.223 ms
2020.02.13 10:00:08.834 Trades  'xxxxx': sell limit 2.00 RTKM-6.20 at 10450 placed for execution in 6402.302 ms

Questo senza considerare la risposta dello scambio!

Aggiunto

Dettagliate gli errori.

  ORDER_DATA order_data;
  ENUM_ORD_SELECT order_select = OrderRealSelect(a_ticket, order_data, true);
  switch(order_select)
  {
    case SELECT_ERROR:
      if(order_data.error_code == ERR_ZERO_TICKET)
      {
        switch(o_status)
        {
          case BUY_ORDER:
            BuyOrder.Canceled(true);
            Print(__FUNCTION__, ": Билет Buy ордера = 0");
          break;
          case SELL_ORDER:
            SellOrder.Canceled(true);
            Print(__FUNCTION__, ": Билет Sell ордера = 0");
          break;
        }
      }
      else
      {
        switch(o_status)
        {
          case BUY_ORDER:
            BuyOrder.mem_time = GetMicrosecondCount();
            Print(__FUNCTION__, ": Ошибка определения состояния Buy ордера! Билет = ", a_ticket, " Код ошибки: ", order_data.error_code);
          break;
          case SELL_ORDER:
            SellOrder.mem_time = GetMicrosecondCount();
            Print(__FUNCTION__, ": Ошибка определения состояния Sell ордера! Билет = ", a_ticket, " Код ошибки: ", order_data.error_code);
          break;
        }
      }
    break;
    case SELECT_BUSY:
      switch(o_status)
      {
        case BUY_ORDER:
          BuyOrder.mem_time = GetMicrosecondCount();
          Print(__FUNCTION__, ": Buy Ордер в переходном состоянии. Билет = ", a_ticket, " Состояние: ", order_data.state);
        break;
        case SELL_ORDER:
          SellOrder.mem_time = GetMicrosecondCount();
          Print(__FUNCTION__, ": Sell Ордер в переходном состоянии. Билет = ", a_ticket, " Состояние: ", order_data.state);
        break;
      }
    break;

Vedremo domani se c'è un problema

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 

Se riprendete la storia di questo argomento, all'inizio eravamo indignati per ritardi di decine di millisecondi,

poi secondi, e ora minuti!

Lentamente comincio a riscrivere i robot per KVIK!

Con MT5 potenziale di 6-7 millisecondi con la mia rete (da casa, esclusa la risposta della borsa)

2020.02.13 19:30:01.442 Trades  'xxxxx': sell limit 1.00 Si-6.21 at 67370
2020.02.13 19:30:01.447 Trades  'xxxxx': accepted sell limit 1.00 Si-6.21 at 67370
2020.02.13 19:30:01.448 Trades  'xxxxx': sell limit 1.00 Si-6.21 at 67370 placed for execution in 6.555 ms
2020.02.13 19:30:01.508 Trades  'xxxxx': cancel order #117348182 sell limit 1.00 Si-6.21 at 67370
2020.02.13 19:30:01.514 Trades  'xxxxx': accepted cancel order #117348182 sell limit 1.00 Si-6.21 at 67370
2020.02.13 19:30:01.515 Trades  'xxxxx': cancel order #117348182 sell limit 1.00 Si-6.21 at 67370 placed for execution in 7.421 ms
2020.02.13 19:30:52.139 Trades  'xxxxx': buy limit 1.00 CHMF-6.20 at 91001
2020.02.13 19:30:52.144 Trades  'xxxxx': accepted buy limit 1.00 CHMF-6.20 at 91001
2020.02.13 19:30:52.146 Trades  'xxxxx': buy limit 1.00 CHMF-6.20 at 91001 placed for execution in 6.647 ms
2020.02.13 19:31:28.521 Trades  'xxxxx': cancel order #117348372 buy limit 1.00 CHMF-6.20 at 91001
2020.02.13 19:31:28.527 Trades  'xxxxx': accepted cancel order #117348372 buy limit 1.00 CHMF-6.20 at 91001
2020.02.13 19:31:28.528 Trades  'xxxxx': cancel order #117348372 buy limit 1.00 CHMF-6.20 at 91001 placed for execution in 7.740 ms
2020.02.13 19:33:35.368 Trades  'xxxxx': sell limit 2.00 BR-7.20 at 57.52
2020.02.13 19:33:35.373 Trades  'xxxxx': accepted sell limit 2.00 BR-7.20 at 57.52
2020.02.13 19:33:35.375 Trades  'xxxxx': sell limit 2.00 BR-7.20 at 57.52 placed for execution in 7.326 ms
2020.02.13 19:33:35.424 Trades  'xxxxx': cancel order #117348626 sell limit 2.00 BR-7.20 at 57.52
2020.02.13 19:33:35.429 Trades  'xxxxx': accepted cancel order #117348626 sell limit 2.00 BR-7.20 at 57.52
2020.02.13 19:33:35.431 Trades  'xxxxx': cancel order #117348626 sell limit 2.00 BR-7.20 at 57.52 placed for execution in 6.922 ms
Con questiritardi, secondo me, il terminale non ha futuro.
Motivazione: