FORTI. Problemi di applicazione - pagina 67

 
Renat Fatkhullin:

Leggi dall'ultima pagina. Con attenzione e ogni parola: https://www.mql5.com/ru/forum/38456/page68#comment_2184557

Dovete avere almeno una comprensione minima di ciò che costituisce una prova tecnica. Sono i registri dei terminali esistenti con tempi al millisecondo.

Se ci fossero dei log terminali corrispondenti ad alcune linee vuote e non specificate di esperti, allora si potrebbe parlare di prove tecniche e di correttezza dei dati. Ma invece c'è stata una lunga manipolazione deliberata con l'occultamento dei dati grezzi.

Lei ha frainteso. Basta guardare i tuoi registri - c'è sia l'invio dell'ordine che il momento in cui viene ricevuta la conferma. Si può facilmente calcolare il tempo tra questi eventi in base ai tempi esistenti in ms nei registri.

Renat, grazie per la tua risposta! Tuttavia, in questo caso, vorrei chiedervi di commentare le parole del vostro dipendente di SD sugli stati del mandato inviato. In pratica, si scrive loro che la risposta del server non significa che l'ordine è stato inviato all'Exchange, ma solo spedito.

Copio il testo di questo chiarimento qui sotto (https://www.mql5.com/ru/forum/58012/page9#comment_2073582):

Видимо нужно объяснить как работает система ордеров и что означает placed.

Итак:

1. Вы отправляете запрос 

buy limit 5.00 SNGR-3.16 at 35501

2. Сервер МТ5 проверяет это запрос (параметры, претрейд и т.д.). Если есть проблемы, то в ответ на запрос вы получите получите соответствующий код ошибки.
После чего заводит у себя новый ордер присваивая ему тикет (#24025010) - у ордера при этом выставляется состояние started. Проставлять тикет ордера нужно для того чтобы в момент выставления ордера на бирже связать идентификатор ордера в МТ5 с ордером на бирже.
Терминалу отправляется транзакция о добавлении нового ордера в состоянии started - это можно отследить в OnTradeTransaction.

3. Далее торговый сервер (через шлюз) отправляет вашу заявку на биржу, если заявка успешно отправилась, то на ваш запрос отправляется ответ placed - это значит
"что заявка отправлена", результаты её работы будут выполняться асинхронно, т.к. заранее не известно через какое время ответит биржа.

Соответственно именно в этот момент вы видите в журнале запись

2015.11.26 10:48:23.726 Trades  'ххххх': buy limit 5.00 SNGR-3.16 at 35501 placed for execution in 7 ms
4. Спустя какое то время, биржа устанавливает ордер в своей системе, присваивает ему свой идентификатор, после чего уведомляет об этом шлюз и сервер МТ5.
Если биржа установила ордера - то в ордер в МТ5 прописывается идентификатор ордера на бирже, и состояние ордера меняется со started => placed.
Если биржа по какой-то причине отказала в выставлении ордера, то ордер снимается.


Это всё можно отследить простым журналирование транзакций приходящих в OnTradeTransaction.
ФОРТС: OnTradeTransaction() коды возврата
ФОРТС: OnTradeTransaction() коды возврата
  • www.mql5.com
Сейчас, коды возврата торгового сервера функции OnTradeTransaction() выглядят так:. - Страница 9 - Категория: биржевой трейдинг
 
Sergey Chalyshev:

Quindi hai smontato i registri o hai misurato il tempo effettivo?

Si è rivelato essere lo stesso dei motori diesel Volkswagen.

Il reale è molto difficile da misurare con precisione in questo caso. Soprattutto quando si parla di velocità relativistiche.

Solo i registri. E se non mentono - allora penso che tutto è grande con la velocità di esecuzione degli ordini. Almeno, ne ho abbastanza "fino al collo".

 
kond777:

Renat, grazie per la tua risposta! Tuttavia, in questo caso, vorrei chiedervi di commentare le parole del vostro dipendente di SR sullo stato dell'ordine inviato. In pratica, si scrive loro che la risposta del server non significa che l'ordine è stato inviato all'Exchange, ma solo spedito.

Copio il testo di questa spiegazione qui sotto (https://www.mql5.com/ru/forum/58012/page9#comment_2073582):

Cosa ti impedisce di guardare i registri del giornale di bordo e di capire la catena dei messaggi:

09:33:18.898    Trades  '1006337': exchange  sell 1.00 Si-3.16 at market
09:33:18.925    Trades  '1006337': exchange  sell 1.00 Si-3.16 at market placed  for execution in 26 ms
09:33:18.937    Trades  '1006337': deal #4986730 sell 1.00 Si-3.16 at 77731 done (based on order #39860859)
 

La domanda è: cosa ci fanno qui le persone con uno scarso apparato matematico, anche a livello di terza elementare?

Questo non è un insulto, ma una vera e semplice domanda. Uno lo annota sfacciatamente, altri non possono leggere il log e confrontare i tempi manualmente.

 

A proposito, ecco un piccolo script per dimostrare la velocità con cui le informazioni su un trade vengono catturate nella storia. Quando si collega lo script al grafico, è possibile selezionare la direzione BUY o SELL. Il volume della posizione aperta è di 1 lotto:

//+------------------------------------------------------------------+
//|                                               SpeedTradeTest.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.01"
#property strict
#property description "Демонстрация скорости, с которой информация о совершенной сделке попадает в историю"
#property script_show_inputs
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
enum type_trades  // перечисление типов торговой операции
  {
   BUY=1,     // скрипт покупает один лот
   SELL=2,    // скрипт продаёт один лот 
  };
input type_trades tt=BUY;
#include <trade\trade.mqh>
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   CTrade tr;
//--- show initial
   HistorySelect(0,TimeCurrent()+60);
   Print("Before: ",HistoryDealsTotal()," deals, ",HistoryOrdersTotal()," orders");
//--- do a deal
   if(tt==BUY)
     {
      if(tr.Buy(1.0))
        {
         uint ticks =GetTickCount();
         int  deals =HistoryDealsTotal();
         int  orders=HistoryOrdersTotal();
         //--- let's wait for 10 seconds
         Print("After: ",deals," deals, ",orders," orders");

         while((GetTickCount()-ticks)<10000)
           {
            HistorySelect(0,TimeCurrent()+60);
            if(HistoryDealsTotal()>deals || HistoryOrdersTotal()>orders)
              {
               Print("Result: ",HistoryDealsTotal()," deals, ",HistoryOrdersTotal()," orders");
               break;
              }
            Sleep(1);
           }
        }
     }
   else
     {
      if(tr.Sell(1.0))
        {
         uint ticks =GetTickCount();
         int  deals =HistoryDealsTotal();
         int  orders=HistoryOrdersTotal();
         //--- let's wait for 10 seconds
         Print("After: ",deals," deals, ",orders," orders");

         while((GetTickCount()-ticks)<10000)
           {
            HistorySelect(0,TimeCurrent()+60);
            if(HistoryDealsTotal()>deals || HistoryOrdersTotal()>orders)
              {
               Print("Result: ",HistoryDealsTotal()," deals, ",HistoryOrdersTotal()," orders");
               break;
              }
            Sleep(1);
           }
        }
     }
//---
   Print("Finished");
  }
//+------------------------------------------------------------------+


E le informazioni vengono visualizzate nella scheda "Experts" dopo diverse esecuzioni. Penso che non sia difficile calcolare la velocità manualmente:

20:35:09.678    Test (RTS-3.16,H1)      Before: 277 deals, 236 orders
20:35:09.716    Test (RTS-3.16,H1)      After: 277 deals, 236 orders
20:35:09.735    Test (RTS-3.16,H1)      Result: 278 deals, 237 orders
20:35:09.735    Test (RTS-3.16,H1)      Finished
20:35:31.731    Test (RTS-3.16,H1)      Before: 278 deals, 237 orders
20:35:31.762    Test (RTS-3.16,H1)      After: 278 deals, 237 orders
20:35:31.817    Test (RTS-3.16,H1)      Result: 279 deals, 238 orders
20:35:31.817    Test (RTS-3.16,H1)      Finished
20:36:44.764    Test (GAZR-3.16,H1)     Before: 279 deals, 238 orders
20:36:44.802    Test (GAZR-3.16,H1)     After: 279 deals, 238 orders
20:36:44.819    Test (GAZR-3.16,H1)     Result: 280 deals, 238 orders
20:36:44.820    Test (GAZR-3.16,H1)     Finished
20:37:03.052    Test (GAZR-3.16,H1)     Before: 280 deals, 239 orders
20:37:03.084    Test (GAZR-3.16,H1)     After: 280 deals, 239 orders
20:37:03.099    Test (GAZR-3.16,H1)     Result: 281 deals, 240 orders
20:37:03.099    Test (GAZR-3.16,H1)     Finished
Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
File:
 
Renat Fatkhullin:

La domanda è: cosa ci fanno qui le persone con uno scarso apparato matematico, anche a livello di terza elementare?

Questo non è un insulto, ma una vera e semplice domanda. Uno lo annota sfacciatamente, altri non possono leggere il log e confrontare i tempi manualmente.

Grazie mille per la sua risposta. Ora capisco l'atteggiamento del capo dell'azienda nei confronti degli utenti finali della MT5.

Z.U. E tu, Karputov, dovresti sapere che i log di MT5 non mostrano la conferma del server Exchange sull'installazione-cancellazionedi un ordine pendente.

 

Dopo una perdita tecnica, l'unica cosa rimasta di cui parlare sono le relazioni.

Questo è un forum tecnico, non l'Istituto delle fanciulle nobili. La gravità delle accuse è adeguata al risultato.

E come si è scoperto, kond777 è un clone nativo di Mikhail Filimonov (ex Mikalas, che spara anche accuse). Non ha ammesso la sua manipolazione fino all'ultimo.

 
Renat Fatkhullin:

Dopo una perdita tecnica, l'unica cosa rimasta di cui parlare sono le relazioni.

Questo è un forum tecnico, non l'Istituto delle fanciulle nobili. La gravità delle accuse è adeguata al risultato.

E come si è scoperto, kond777 è un clone nativo di Mikhail Filimonov (ex Mikalas, che spara anche accuse). Fino all'ultimo non ha confessato le sue manipolazioni.

Che faccia tosta!

Li ha banditi entrambi e sta gettando fango!

 
Nadin_Kass:

Che faccia tosta!

Li ha banditi entrambi e sta gettando fango!

I cloni stanno avanzando e... ...andare nell'oblio.
 

E Nadin_Kass è, se ho capito bene, il nuovo acquisito di Michael ma già il 2° clone? :(

Non sta andando bene. :(((

E francamente parlando, credevo in Michael e mi incolpavo persino del comportamento distruttivo. Ma è così. :(

P.S. Renat, grazie per il chiarimento.