フォルツァ執行上の問題点 - ページ 67

 
Renat Fatkhullin:

最終ページからお読みください。考え抜かれた一語一句https://www.mql5.com/ru/forum/38456/page68#comment_2184557

何が技術的な証拠となるのか、最低限の理解は必要です。ミリ秒単位のタイミングを持つ既存の端末ログである。

もし、ある空の不特定多数の専門家のラインに対応する端末ログがあれば、技術的な根拠やデータの正しさを語ることができるだろう。しかし、その代わりに生データを隠して長い間意図的に操作していたのです。

あなたは誤解しています。ログを見ると、注文を送った瞬間と、確認が取れた瞬間の両方があります。これらのイベント間の時間は、ログにある既存のタイミング(単位:ms)から簡単に計算することができます。

Renatさん、ご返信ありがとうございますしかし、その場合、SDの社員が送った令状の状態についての言葉について、コメントをお願いしたいと思います。基本的には、サーバーの応答は注文がExchangeにポストされたことを意味せず、送信されただけであることが書かれている。

以下、この明文化された文章をコピーします(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:

では、ログを分解して、実際の時間を計測したのでしょうか?

フォルクスワーゲンのディーゼルエンジンと同じであることが判明したのです。

この場合、リアルを正確に測定することは非常に困難です。特に相対論的な速度の話になるとね。

過去ログのみ。そして、もし彼らが嘘をつかなければ、注文の実行速度は すべて素晴らしいものだと思います。少なくとも、私は「首まで」で十分です。

 
kond777:

Renatさん、ご返信ありがとうございますただ、その場合、SRの社員が送った注文の状況について語った言葉について、コメントをいただきたいのですが。基本的には、サーバーの応答は注文が取引所に計上されたことを意味せず、送信されただけであることが書かれています。

以下、この説明の文章をコピーします(https://www.mql5.com/ru/forum/58012/page9#comment_2073582)。

日誌のログを見て、メッセージの連鎖を理解できないのはなぜか。

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)
 

問題は、小学校3年生レベルの数学の器械が苦手な人が、ここで何をやっているのか、ということです。

これは侮辱ではなく、本当の意味での素朴な疑問です。ある人は生意気にメモしているし、他の人はログを読めず、手動でタイミングを比較している。

 

ところで、取引に関する情報が履歴に取り込まれる速度を示す小さなスクリプトを紹介しよう。スクリプトをチャートに貼り付ける際、BUYまたはSELLの方向を選択することができます。開設したポジションの 数量は1ロットです。

//+------------------------------------------------------------------+
//|                                               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");
  }
//+------------------------------------------------------------------+


そして、数回実行すると「エキスパート」タブに情報が表示されます。手動で速度を計算するのは難しくないと思います。

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, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
ファイル:
 
Renat Fatkhullin:

問題は、小学校3年生レベルの数学の器械が苦手な人が、ここで何をやっているのか、ということです。

これは侮辱ではなく、本当の意味での素朴な疑問です。ある人は生意気にメモしているし、他の人はログを読めず、手動でタイミングを比較している。

ご回答いただき、誠にありがとうございました。MT5のエンドユーザーに対する社主の姿勢がよくわかった。

Z.U. そして、カルプトフさん、MT5のログには、保留中の注文の インストール・削除に関する取引所サーバーの確認が表示されていないことをご存じでしょう。

 

技術的な敗北の後、残るのは人間関係の話だけだ。

ここは技術フォーラムであって、高貴な乙女のための研究所ではありません。罪の重さは結果に十分現れています。

そして判明したのは、kond777はMikhail Filimonov(元Mikalas、こちらも言いがかりを発射)のネイティブクローンであるということだ。彼は最後の最後まで自分の操作を認めなかった。

 
Renat Fatkhullin:

技術的な敗北の後、残るのは人間関係の話だけだ。

ここは技術フォーラムであって、高貴な乙女のための研究所ではありません。罪の重さは結果に十分現れています。

そして判明したのは、kond777はMikhail Filimonov(元Mikalas、こちらも言いがかりを発射)のネイティブクローンであるということだ。最後の1枚まで、彼は自分の工作を告白しなかった。

なんだこの頬は!?

二人を追放し、泥を塗っている!?

 
Nadin_Kass:

なんて神経なんだ

二人を追放し、泥を塗っている!?

クローンが進化して......忘却の彼方へ。
 

そしてNadin_Kassは、私の理解では、マイケルが新たに獲得した、しかしすでに2番目のクローン?:(

これはうまくいかないな。:(((

そして、率直に言って、マイケルのことを信じ、破壊的な行動をとった自分を責めることさえありました。でも、そこにあるのは:(

P.S. Renatさん、ご説明ありがとうございました。

理由: