Mt4 Fim do apoio. - página 31

 
Vladimir Pastushak:

4 ciclos não é tão legal ? a 600 caracteres na visão geral do mercado a cada minuto o terminal vai morrer ....

Do que você está falando? O temporizador cicla 1 vez por minuto. Isso não é nada.

E o usuário acessa a função New_bar() sempre que quiser.

 
Alexey Viktorov:
No que diz respeito ao comentário do código: E se precisarmos definir a abertura de apenas o período atual e apenas um personagem de cada vez no programa? Toda esta construção estará girando todos os loops? Seria irracional.

O código foi completamente incompreendido.

Novos eventos de barras de símbolos são capturados em um loop uma vez por minuto. Automaticamente. Se o número atual de barras não for igual ao número de barras registradas na matriz, definimos a bandeira de um novo evento de barra na matriz Events_new_bar[][][].

 

Alexey Viktorov:


ps; E por que iniciar um temporizador de milissegundos? Um segundo timer não é suficiente?

Você também pode definir um segundo timer. Depois escreva "Timer_frequency = 1000".

 

Coloquei-o, testei-o, não funciona.

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(Новый_бар(Symbol(), PERIOD_M1)) Print("M1 = ",Time[0]);
   if(Новый_бар("EURUSD", PERIOD_M5)) Print("M5 = ",Time[0]);
  }
Sempre dá falso
 
Vladimir Pastushak:

Não são 4 ciclos frios ? a 600 caracteres na visão geral do mercado a cada minuto o terminal vai morrer ....

Será que alguém realmente tem tantos ?

Eu tenho 16 - e já estou me perguntando se a carga é demais ?

É verdade, tenho um prazo mínimo de M15... Mas ainda assim, pergunto-me quando é que a carga no terminal começa a ser crítica ?

 
Реter Konow:

O que você quer dizer? O temporizador cicla uma vez por minuto. Isso não é nada.

E New_bar() é chamado sempre que o usuário quiser.


A função "nova barra" é normalmente executada em cada tic... Esta chamada em cada tic-tac é feita para economizar recursos. Perceba como sua função "economiza" recursos, ela os consome.

 
George Merts:
... Mas ainda assim, pergunto-me quando é que a carga no terminal começa a ser crítica ?

Quando o processador fica de joelhos e não consegue se levantar.

Respeitosamente.

 
Реter Konow:

O código foi completamente incompreendido.

Novos eventos de barras de símbolos são capturados em um loop uma vez por minuto. Automaticamente. Se o número atual de barras não for igual ao registrado na matriz, colocamos a bandeira do novo evento da barra na matriz Events_new_bar[][][].

Vamos discutir outro exemplo de utilização do OOP.

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Mt4 Fim do apoio.

Alexey Viktorov, 2017.09.11 13:08

Acho que encontrei um exemplo primitivo da usabilidade do OOP. Aqui está uma função para preencher uma matriz com um valor especificado. Há oito variedades, dependendo do tipo de matriz.

Imagine que você precisa escrever uma função que precisa passar um conjunto de parâmetros, depois outro, depois um terceiro... Usando a abordagem algorítmica, você terá N nomes de funções diferentes. Parece que não há nada de errado, você pode escrever 8 funções como ArrayInitializeInt()ArrayInitializeDouble() e assim por diante. Mas é bom não pensar no tipo de matriz, basta usar uma função em qualquer caso, e como é seguro misturar qual matriz você colocou lá...


Документация по MQL5: Операции с массивами / ArrayInitialize
Документация по MQL5: Операции с массивами / ArrayInitialize
  • www.mql5.com
Операции с массивами / ArrayInitialize - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vitaly Muzichenko:

Instalado, testado, não funciona

Ela sempre produz resultados falsos.

1. Execute a EA na M1.

2. Necessidade de esperar até que a barra atual esteja completamente terminada. No primeiro bar, o evento não é fixo. Eu o fiz de propósito. Em seguida, você precisa esperar o tempo que o prazo que está enviando para a função sugerir.

Eu experimentei em um minuto e funcionou.

 
Dmitry Fedoseev:

A função "nova barra" é normalmente executada em cada tic tac... Esta chamada em cada tic-tac é feita para economizar recursos. Perceba como sua função "economiza" recursos, ela os consome.

Obviamente, você não sabe ler códigos. )) Onde os devora?
Razão: