MT5 y la velocidad en acción - página 76

 
Renat Fatkhullin:

Vete a estudiar el tema (por lo menos 10 años) y no ensucies en este hilo, por favor.

Estamos discutiendo aquí cuestiones con una formación y una clase diferentes.

Queridos compañeros que han dedicado media vida a estudiar el tema que nos ocupa.

Por favor, responda a una simple pregunta del usuario.

¿Cómo podría un terminal trabajar más rápido y consumir menos recursos si tiene 99 Asesores Expertos?

1. En el mismo símbolo

-Usando OnTick y obteniendo los precios actuales a través de SymbolInfoTick

-utilizando OnBookEvent y obteniendo los precios actuales a través de MarketBookGet

2. lo mismo, pero en símbolos diferentes

Gracias.
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Dmi3:

Queridos compañeros que han dedicado media vida a estudiar el tema que nos ocupa.

Por favor, responda a una simple pregunta del usuario.

¿Cómo funcionaría el terminal más rápido y consumiría menos recursos si hubiera 99 Asesores Expertos en él?

1. En el mismo símbolo

-Usando OnTick y obteniendo los precios actuales a través de SymbolInfoTick

-utilizando OnBookEvent y obteniendo los precios actuales a través de MarketBookGet

2. lo mismo, pero en símbolos diferentes.

Gracias.

¿Qué te hace pensar que es una simple pregunta?

Estimado colega, si eres un desarrollador, debes comprobarlo todo tú mismo. O puede pedir una encuesta independiente con una descripción completa y detallada de todos los datos en bruto

 
Dmi3:

¿Cómo funcionaría el terminal más rápido y consumiría menos recursos si hubiera 99 EAs en él?

2. lo mismo, pero en diferentes símbolos

99 bombos para emitir no es poco caudal.

 
fxsaber:

99 gafas para transmitir no es un flujo deficiente.

De hecho, tenemos alrededor de una docena de vivos en Forts, el resto son ilíquidos.
 
Dmi3:
De hecho, tenemos alrededor de una docena de vivos en Forts, el resto son ilíquidos.

Ejecute este asesor en varias configuraciones y vea los resultados.

 
fxsaber:

Ejecute este EA en diferentes configuraciones y vea los resultados.

Veamos el resultado (Bild 2650, Open, Real)

2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 291655 mcs.
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [0]  76595  76598    false        696
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [1]  76596  76598     true     150488
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [2]  76596  76598    false        323
2020.11.09 20:12:22.910 11_test (Si-12.20,M1)   [3]  76596  76598     true     291655
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 25571 mcs.
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [0]  76595  76598    false        663
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [1]  76595  76597     true      97445
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [2]  76595  76597    false        334
2020.11.09 20:12:23.290 11_test (Si-12.20,M1)   [3]  76595  76597     true      25571
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 209232 mcs.
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [0]  76593  76596    false        659
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [1]  76594  76596     true      33395
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [2]  76594  76596    false        343
2020.11.09 20:12:23.920 11_test (Si-12.20,M1)   [3]  76594  76596     true     209232
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 31365 mcs.
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [0]  76594  76597    false        342
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [1]  76594  76596     true      66980
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [2]  76594  76596    false        662
2020.11.09 20:12:24.572 11_test (Si-12.20,M1)   [3]  76594  76596     true      31365
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   Alert: OnTick-lag! - 340874 mcs.
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)        [bid]  [ask] [onTick] [Interval]
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [0]  76591  76593     true       6635
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [1]  76591  76593     true          5
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [2]  76591  76593    false        654
2020.11.09 20:12:25.137 11_test (Si-12.20,M1)   [3]  76591  76593     true     340874
 
prostotrader:

Ver el resultado (Bild 2650, Open, Real)

Esta es una comparación incorrecta (la impresión lo muestra), ya que el código debería ser diferente si las aletas están presentes.

 
fxsaber:

Se trata de una comparación incorrecta (se puede ver en la impresión), ya que el código debería ser diferente si hay aletas.

Este es su programa (no cambió nada) :)

Añadido

// Возвращает bid/ask-цены из стакана.
bool GetCurrentPrices( double &bid, double &ask )
{
  MqlBookInfo Bands[];

  const bool Res = MarketBookGet(_Symbol, Bands);

  if (Res)
    for (int i = ArraySize(Bands) - 2; i >= 0; i--)
      if (Bands[i].type == BOOK_TYPE_SELL)
      {
        ask = Bands[i].price;
        bid = Bands[i + 1].price;
        
        break;
      }
  
  return(Res);
}

Función incorrecta, porque

1. el vaso puede estar vacío

2. No hay cita de venta en la copa

3. la copa no contiene las cotizaciones de Buy

 
prostotrader:

Una función incorrecta porque

¿Por qué te haces el remolón? Todavía no hay manejo de errores ni nada. El propósito de este código no es estar en el EA, sino mostrar que hay un problema.

prostotrader:

Es su programa (no he cambiado nada) :).

Por lo tanto, conozco tanto la lógica de este programa que puedo afirmar la incorrección de sus resultados en FORTS.

 
fxsaber:

¿Por qué te haces el remolón? Todavía no hay manejo de errores ni nada de eso. El propósito de este código no es estar en un Asesor Experto de lucha, sino mostrar la presencia del problema.

Por eso conozco tanto la lógica de este programa que puedo decir que sus resultados son incorrectos en FORTS.

OK