![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
Renat, a questão era teórica e não prática.
Para não se perderem no nevoeiro, remeto-vos para um exemplo da ajuda do iFractals. É verdade que existe aí um indicador, mas vamos simplificar a tarefa para um único cálculo da disposição gráfica através de um guião.
Suponha-se que eu pretendia descobrir os tempos de todas as barras fractais do topo sobre toda a história (ou na sua parte substancial em algum período de tempo médio onde haverá muitos fractais). Se entendi correctamente, que é melhor perturbar repetidamenteCopyTime in loop na FrUpBuffer[shift]!=EMPTY_VALUE a uma profundidade de 1 elemento:
e obter um resultado mais rápido do que comer a história de uma só vez com o CopyTime pela profundidade do FrUpBuffer:
e depois no mesmo laço no mesmo se é só imprimir os valores de tempo da barra fractal?Ambas as tarefas são idênticas, apenas as implementações são ligeiramente diferentes.
Intuitivamente, compreendo que é mais longo e mais caro copiar uma enorme sequência de tempos de barra (tanto fractal como vazia) para uma matriz; por outro lado, é duvidoso puxar repetidamente o CopyTime para cima até uma profundidade de 1 elemento.
Se a primeira variante é mais rápida, é um ganho absoluto ou tudo depende do número total de fractais encontrados (por exemplo, há muito mais deles em pequenos TF)?
Aquihttps://www.mql5.com/ru/forum/3775/page59#comment_94865 fiz uma pergunta sobre a colocação de declaração, ligação, inicialização e outras acções em múltiplos buffers do mesmo tipo num loop, a fim de reduzir o código e melhorar a legibilidade e a capacidade de gestão. Recebi uma resposta com um exemplo (classe, estrutura) e compreendi-a.
Agora, de acordo com o mesmo princípio, tentei acalmar múltiplas atribuições do tipo #propriedade:
e encontrou pelo menos dois problemas:
Porque a nível global é proibido, ou seja, a sua utilização mais precoce não é anterior à do OnInit(), mas sabe-se que a propriedade é declarada a nível global antes de todas as outras funções;
2. ao tentar atribuir propriedades a indicadores no laço no OnInit():
Compilador jura em '#' (como esperado): '#propriedade' - ficha inesperada.Poderia dizer-me se e como a ideia é viável em princípio?
Pode dizer-me como declarar uma matriz bidimensional de arrays?
Algo parecido com isto:
Pode dizer-me se é possível declarar uma matriz bidimensional de matrizes?
Um conjunto de estruturas com campos como matrizes pode ser declarado, o compilador salta mesmo matrizes dinâmicas na estrutura:
Pode dizer-me como declarar uma matriz bidimensional de arrays?
Algo parecido com isto:
IgorM, x100intraday
Obrigado pelas opções. Acho que isto deve fazer o truque, vou tentar.
IgorM, x100intraday
Obrigado pelas opções. Penso que isto deve funcionar, vou tentar.
A propósito, o nome "Buffer" pode ser alterado para "_" ou alguns outros enigmas, então a chamada será completamente clara:
A propósito, o nome "Tampão" pode ser alterado para "_" ou qualquer outra coisa, para que a chamada seja completamente clara:
Mas como se faz tudo isto com #propriedade? - Pergunto-me...
Não faz ideia?
Mas como se faz tudo isto com #propriedade? - Pergunto-me...
Não faz ideia?