![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Esta variante da função não tem nenhuma função New_bar();
Esta é a opção que mais economiza recursos que já proporcionei. Além disso, tem outra vantagem: o novo evento de barra é salvo todo o tempo em que o código do usuário é executado em um timer ou evento de tick.
Anteriormente, só se podia obter este evento uma vez e a bandeira era liberada com New_bar(). A função especial agora limpa a matriz "event_new_bar[][]" uma vez por minuto e é chamada somente após a execução do código personalizado.
Funções personalizadas podem acessar diretamente a matriz e recuperar novas informações de eventos de barra todo o tempo em que o código é executado em um timer ou evento de tick.
Isto economiza ainda mais recursos.
O último código também não funciona, demorou 7 minutos para que a impressão chegasse
O último código também não funciona, demorou 7 minutos para que a impressão chegasse.
Esta função deve ser chamada da OnTick ou de um temporizador.
Pode haver um pequeno problema, mas ainda não fui capaz de localizá-lo. Dê uma olhada no código você mesmo e procure por um erro. É tão simples quanto um 3 kopecks. E com comentários também.
Se você não entender, pergunte. Eu tenho outras coisas a fazer.
Esta variante da função não tem nenhuma função New_bar();
Esta é a opção que mais economiza recursos que já proporcionei. Além disso, tem outra vantagem: o novo evento de barra é salvo todo o tempo em que o código do usuário é executado em um timer ou evento de tick.
Anteriormente, só se podia obter este evento uma vez e a bandeira era liberada com New_bar(). A função especial agora limpa a matriz "event_new_bar[][]" uma vez por minuto e é chamada somente após a execução do código personalizado.
Funções personalizadas podem acessar diretamente a matriz e recuperar novas informações de eventos de barra todo o tempo em que o código é executado em um timer ou evento de tick.
Os recursos são economizados ainda mais.
Eu não entendo o humor. Por que - o depurador não entende russo? Ou sou só eu que tenho uma falha dessas? Vê variáveis em latim, mas não em cirílico.
Peter, então como você usa o depurador, ou não o usa?
![](https://c.mql5.com/3/153/588__1.png)
Qualquer pessoa interessada pode procurar por um bug no código.
A essência do código:
1. declarar arrays globais:
2. Na inicialização, defina o tamanho do conjunto de símbolos e escreva lá os nomes dos símbolos da revisão do mercado.
3. Definir o tamanho da primeira dimensão da matriz "Number_bars[][]" que é igual ao número de símbolos, e a segunda dimensão é igual ao número de cronogramas. Este conjunto é como uma mesa. Ele registrará o número atual de barras de cada símbolo e cada período de tempo. O número é devolvido pela função iBars.
4. Definir o tamanho da primeira dimensão da matriz "Events_new_bar[][]", que é igual ao número de símbolos, e a segunda dimensão é igual ao número de cronogramas. Este conjunto é como uma mesa. Ele registrará as bandeiras de eventos de novas barras de cada símbolo em cada período de tempo.
5. Dentro do temporizador, contamos o minuto e fazemos um loop duplo (aninhado) nos símbolos (que estão na matriz Symbols[]) e nos prazos (que estão na matriz Timeframes[]). Chamamos a função iBars e obtemos o número atual de barras de cada símbolo e cada intervalo de tempo dos Símbolos e Matrizes de Intervalo de Tempo. Primeiro, comparamos o número atual de barras com o número já armazenado na matriz. Se estes valores não forem iguais, colocamos a bandeira do novo evento da barra na matriz "Event_new_bar[][]". Escrevemos então o número atual de bares no lugar do anterior.
A matriz global "events_new_bar[][]" está disponível em qualquer ponto do programa e é automaticamente preenchida a cada minuto, e também automaticamente limpa. Durante o período em que a matriz está sendo preenchida, a funcionalidade do usuário recebe novos dados sobre novas barras. A matriz é então limpa automaticamente.
É isso aí.
Esta função deve ser chamada da OnTick ou de um temporizador.
Pode haver algum pequeno problema, mas ainda não fui capaz de localizá-lo. Dê uma olhada no código você mesmo e procure por um erro. É tão simples quanto um 3 kopecks. E ainda por cima, com comentários.
Se você não entender, basta perguntar. Eu tenho outras coisas a fazer.
resposta profissional
Eu não entendo o humor. O que - o depurador não entende russo? Ou sou só eu que tenho uma falha dessas? Ele vê variáveis em latim, mas não em cirílico.
Peter, então como você usa o depurador, ou você não o usa?
resposta profissional
Esta função deve ser chamada da OnTick ou de um temporizador.
Pode haver algum pequeno problema, mas ainda não fui capaz de localizá-lo. Dê uma olhada no código você mesmo e procure por um erro. É tão simples quanto um 3 kopecks. E com comentários também.
Se você não entender, basta perguntar. Eu tenho outras coisas a fazer.
É tão complexo e retorcido que não dá para perceber.
Sinto muito, mas também é completamente ilegível.
É tão complicado e retorcido que é uma bagunça.
Sinto muito, mas também é completamente ilegível.
Você sabe o que dizem sobre "você não pode... não torturar..."? Acho que é uma boa.
Você conhece o ditado sobre "você não pode... não torturar..."? Acho que é uma boa.
É isso mesmo, foi assim que você conseguiu realizar a tarefa de forma conclusiva, bem, ou eu não consegui acertar sua solução.