MT5 e velocidade em ação - página 76

 
Renat Fatkhullin:

Vá estudar o assunto (durante pelo menos 10 anos) e não deite lixo nesta linha, por favor.

Estamos discutindo aqui questões com um treinamento diferente e uma classe diferente.

Caros colegas desenvolvedores que deram a metade de suas vidas para estudar o tema em discussão.

Por favor, responda a uma simples pergunta do usuário.

Como um terminal trabalharia mais rápido e consumiria menos recursos se tivesse 99 Expert Advisors?

1. Sobre o mesmo símbolo

-Usando o OnTick e obtendo os preços atuais através do SymbolInfoTick

-usando OnBookEvent e obtendo preços atuais via MarketBookGet

2. O mesmo, mas em símbolos diferentes

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

Caros colegas desenvolvedores que deram a metade de suas vidas para estudar o tema em discussão.

Por favor, responda a uma simples pergunta do usuário.

Como o terminal trabalharia mais rápido e consumiria menos recursos se houvesse 99 Conselheiros Especializados?

1. Sobre o mesmo símbolo

-Usando o OnTick e obtendo os preços atuais através do SymbolInfoTick

-usando OnBookEvent e obtendo preços atuais via MarketBookGet

2. O mesmo, mas em símbolos diferentes.

Obrigado!

O que o faz pensar que é uma pergunta simples?

Caro colega, se você é um desenvolvedor, você mesmo deve verificar tudo. Ou você pode solicitar uma pesquisa freelance com descrição completa e detalhada de todos os dados brutos

 
Dmi3:

Como o terminal trabalharia mais rápido e consumiria menos recursos se houvesse 99 EAs nele:

2. O mesmo, mas em símbolos diferentes

99 tumblers para transmitir não é uma quantidade pequena de fluxo.

 
fxsaber:

99 copos para transmitir não é um fluxo de água má.

Na verdade, temos cerca de uma dúzia de vivos em Forts, os demais são ilíquidos.
 
Dmi3:
Na verdade, temos cerca de uma dúzia de vivos em Forts, os demais são ilíquidos.

Execute este assessor em várias configurações e veja os resultados.

 
fxsaber:

Execute esta EA em diferentes configurações e veja os resultados.

Vamos ver o 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:

Veja o resultado (Bild 2650, Open, Real)

Esta é uma comparação incorreta (a impressão a mostra), pois o código deveria ser diferente se houvesse flippers.

 
fxsaber:

Esta é uma comparação incorreta (você pode vê-la na impressão), pois o código deve ser diferente se as barbatanas estiverem presentes.

Este é o seu programa (não mudou nada) :)

Adicionado

// Возвращает 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);
}

Função incorreta, porque

1. o vidro pode estar vazio

2. Não há cotação de venda no copo

3. O copo não contém cotações de compra.

 
prostotrader:

Uma função incorreta porque

Por que você está incomodando a si mesmo? Ainda não há nenhum tipo de manipulação de erros ou qualquer coisa lá dentro. O objetivo deste código não é estar na EA, mas mostrar que existe um problema.

prostotrader:

É o seu programa (eu não mudei nada) :).

Portanto, conheço tanto a lógica deste programa que posso afirmar a incorreção de seus resultados em FORTS.

 
fxsaber:

Por que você está incomodando a si mesmo? Ainda não há nenhum tipo de manipulação de erros ou qualquer coisa lá dentro. O objetivo deste código não é estar em um Expert Advisor de combate, mas mostrar a presença do problema.

É por isso que conheço tanto a lógica deste programa que posso dizer que seus resultados são incorretos no FORTS.

OK