MT5와 속도 - 페이지 32

 
Renat Fatkhullin :

이 열의 상태에 응답하십시오.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MetaTrader 5 플랫폼 빌드 2560의 새 버전: 내장 학습 시스템 개선

fxsaber , 2020.08.16 23:02

거래 내역 -> 포지션 -> 댓글 열 - 모든 거래에 대해 비어 있습니다. 이것은 아마도 실수일 것입니다.

비어 있을 뿐만 아니라 사용 가능한 공간의 많은 부분을 차지합니다.

 
fxsaber :

https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_state

성공적인 OrderSendAsync 후에 시작됨 상태가 발생하지 않습니까?

상태는 발생할 수 있지만 티켓은 발생하지 않습니다.

주문은 시장과 일치하지 않더라도 채우기의 형식적 정확성에 대한 통제를 단순히 통과했습니다. 비동기식 순서는 단순히 파이프라인을 통해 전달되었으며 그 운명은 나중에 어딘가 다른 곳에서 결정될 것입니다.

 
fxsaber :

이 열의 상태에 응답하십시오.

비어 있을 뿐만 아니라 사용 가능한 공간의 많은 부분을 차지합니다.

네, 맞습니다.

기록의 거래에서 가상 위치를 수집할 때 의견을 올바르게 전송하는 것을 잊었습니다. 수정합시다.

 
Renat Fatkhullin :

상태는 발생할 수 있지만 티켓은 발생하지 않습니다.

이 상태는 볼 수 없습니다. OrdersTotal() 은 변경되지 않습니다.

 
fxsaber :

이 상태는 볼 수 없기 때문에 OrdersTotal()은 변경되지 않습니다.

잃어버린 문을 두드리지 마십시오.

나는 "주문이 공식적인 정확성을 확인하고 어딘가로 보냈습니다"라고 자세히 설명했습니다. 이 주문에는 번호가 없으며 컨베이어의 다음 단계로만 전송되었습니다. 그가 실행 대기열을 통과할 때만 그에게 번호가 할당됩니다.

비동기 패키지에 대한 더 이상 정보를 받을 수 없습니다. 귀하의 시장/거래 상태는 OnTradeTransaction 에서 포착할 수 있는 비동기 요청에 대한 단계별 세부 정보를 받을 때까지 변경되지 않습니다.

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

잃어버린 문을 두드리지 마십시오.

나는 "주문이 공식적인 정확성을 확인하고 어딘가로 보냈습니다"라고 자세히 설명했습니다. 이 주문에는 번호가 없으며 컨베이어의 다음 단계로만 전송되었습니다. 그가 실행 대기열을 통과할 때만 그에게 번호가 할당됩니다.

비동기 전송에 대한 더 이상 정보를 받을 수 없습니다. 귀하의 시장/거래 상태는 OnTradeTransaction 에서 포착할 수 있는 비동기 요청에 대한 단계별 세부 정보를 받을 때까지 변경되지 않습니다.

설명 감사합니다, 알아보겠습니다.

 

아마도 이야기가 성장했을 것입니다.

그러나 b2617에서 이 Expert Advisor는 다시 Alert가 되었습니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MT5와 속도

fxsaber , 2020.09.08 19:46

 // Демонстрация полного (не частичного) пересбора HistorySelect-кеша.
#include <fxsaber\Benchmark.mqh> // https://c.mql5.com/3/321/Benchmark.mqh

input int inAlertTime = 1 ; // Нижний порог в миллисекундах

#define _B2(A) _B(A, inAlertTime)

const bool Init = EventSetTimer ( 1 );

void OnTimer ()
{
   static MqlTradeRequest Request = { 0 };
   static MqlTradeResult Result = { 0 };

   if ( PositionSelectByTicket (Result.order)) // Если позиция открыта - закрываем.
  {
    Request.type = ORDER_TYPE_SELL ;
    Request.price = SymbolInfoDouble ( _Symbol , SYMBOL_BID );
    Request.position = Result.order;
  }
   else // Иначе - открываем.
  {
    Request.action = TRADE_ACTION_DEAL ;
    Request.type = ORDER_TYPE_BUY ;
    Request.symbol = _Symbol ;
    Request.volume = 0.1 ;
    Request.price = SymbolInfoDouble ( _Symbol , SYMBOL_ASK );
    Request.position = 0 ;
  }

   if ( OrderSend (Request, Result))
    _B2( HistorySelect ( 0 , INT_MAX ));
}
 

베타 2619에서 확인하십시오.

기록 가져오기 속도를 높이기 위해 여러 가지 최적화 작업을 수행했습니다. 강제 캐시 무효화의 경우가 있었습니다.

 
Renat Fatkhullin :

베타 2619에서 확인하십시오.

기록 가져오기 속도를 높이기 위해 여러 가지 최적화 작업을 수행했습니다. 강제 캐시 무효화의 경우가 있었습니다.

가속도가 붙었지만 불행히도 어떤 이유로 캐시 업데이트가 1밀리초 안에 맞지 않아 히스토리가 업데이트된 모든 단계에서 경고합니다.

 2020.09 . 24 05 : 17 : 49.541 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.
2020.09 . 24 05 : 17 : 49.543 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.
2020.09 . 24 05 : 17 : 50.526 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.
2020.09 . 24 05 : 17 : 50.527 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.
2020.09 . 24 05 : 17 : 51.569 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.
2020.09 . 24 05 : 17 : 51.571 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.
2020.09 . 24 05 : 17 : 52.530 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.
2020.09 . 24 05 : 17 : 52.532 Alert : Time[Test6.mq5 460 : HistorySelect ( 0 , INT_MAX )] = 1 ms.


멋진 이야기에 도전하세요.


ZY 이 밀리초는 캐시 업데이트에서 메모리 할당 시 발생한다고 가정합니다. 속도를 늦출 것이 없습니다.

 
fxsaber :

설명 감사합니다, 알아보겠습니다.

플래그를 설정하십시오. 이것은 오래된 스레드입니다.