요새. 실행 질문 - 페이지 67

 
Renat Fatkhullin :

마지막 페이지에서 읽으십시오. 신중하게 모든 단어: https://www.mql5.com/ru/forum/38456/page68#comment_2184557

기술적 증거를 구성하는 것에 대한 최소한의 이해가 필요합니다. 밀리초 타이밍이 있는 터미널의 기존 로그입니다.

이제 전문가의 일부 비어 있고 비특정한 라인에 해당하는 터미널 로그가 표시되면 기술적 증거의 존재와 데이터의 정확성에 대해 이야기할 수 있습니다. 그러나 대신 원본 데이터를 숨기는 오랜 의식적인 조작이 있었습니다.

당신은 오해하고 있습니다. 로그를 보면 주문이 전송되고 확인이 수신되는 순간이 있습니다. 이러한 이벤트 사이의 시간은 로그에 있는 ms 단위의 타이밍을 사용하여 쉽게 계산할 수 있습니다.

Renat, 답변 감사합니다! 다만, 이 경우 발신 주문 현황에 대한 SD 측 직원의 말씀에 대해 논평을 부탁드리고자 합니다. 사실 서버의 응답이 거래소에서 주문이 접수된 것이 아니라 발송만 된 것이라고 합니다.

아래에 이 설명의 텍스트를 복사합니다(https://www.mql5.com/en/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, 답변 감사합니다! 다만, 이 경우 발신 주문 현황에 대한 SD 측 직원의 말씀에 대해 논평을 부탁드리고자 합니다. 사실 서버의 응답이 거래소에서 주문이 접수된 것이 아니라 발송만 된 것이라고 합니다.

아래에 이 설명의 텍스트를 복사합니다(https://www.mql5.com/en/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.Y. 그리고 Karputov는 MT5 로그 에 보류 중인 주문의 배치 또는 삭제 에 대한 Exchange 서버의 확인이 표시되지 않는다는 것을 알아야 합니다.

 

기술적 손실 후에는 관계에 대해 이야기하는 것만 남아 있습니다.

여기는 기술포럼이지, 귀족 아가씨들을 위한 학원이 아닙니다. 혐의의 심각성은 결과에 적합합니다.

글쎄, kond777은 Mikhail Filimonov의 기본 클론입니다(Mikalas 이전에는 비난을 받기도 했습니다). 최근까지 그는 자신의 조작을 인정하지 않았습니다.

 
Renat Fatkhullin :

기술적 손실 후에는 관계에 대해 이야기하는 것만 남아 있습니다.

여기는 기술포럼이지, 귀족 아가씨들을 위한 학원이 아닙니다. 혐의의 심각성은 결과에 적합합니다.

글쎄, kond777은 Mikhail Filimonov의 기본 클론입니다(Mikalas 이전에는 비난을 받기도 했습니다). 최근까지 그는 자신의 조작을 인정하지 않았습니다.

얼마나 무례한가!

둘 다 금지하고 진흙을 던졌습니다!

 
Nadin_Kass :

얼마나 무례한가!

둘 다 금지하고 진흙을 던졌습니다!

클론은 전진하고 ... 망각 속으로 들어갑니다.
 

그리고 Nadin_Kass - 내가 이해하기로는 갓 구입했지만 이미 Mikhail의 두 번째 클론? :(

왠지 잘 안보이네요. :((((

그리고 솔직히 말해서 나는 미하일을 믿었고 심지어 파괴적인 행동에 대해 스스로를 책망했습니다. 그리고 여기에서 밝혀졌습니다. :(

PS Renat, 설명 감사합니다.