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
Ok, vamos tentar a versão em inglês do MQL.
Obrigado por sua postagem de código. Isso me poupou tempo. Tentei usar as matrizes MQL e elas eram confusas. Fiquei muito deprimido por ter de escrever novamente estruturas básicas que deveriam estar lá, MAS, então, encontrei seu código que me poupou algum tempo de pesquisa sobre arrays e como fazê-los crescer\aumentar dinamicamente. Muito obrigado.
Espero poder retribuir a você! O código abaixo funciona para todos os tipos de dados. Ele também funcionará em objetos, mas o método Contains (pesquisa) talvez não funcione. Eu o testei apenas em tipos (double, int, bool). As strings também podem apresentar problemas e o código talvez precise ser ampliado.
Então, você pode declará-lo para todos os tipos de que precisa, assim:
Espero que isso ajude a todos
Não leve em consideração minha sugestão acima de usar a matriz dinâmica para qualquer tipo de dados. Já existe uma CArrayList genérica declarada, portanto, use-a. Encontrei um problema ao usar objetos que foi resolvido neste tópico: https: //www.mql5.com/en/forum/358432
Parece que há um erro na função arrayResize(). No exemplo, o conteúdo da matriz é 1, 1, 3 na indexação normal, e não 1, 2, 3. Veja este exemplo:
Ao adicionar a função arraySetAsSeries(), ela parece ser afetada pela função arrayresieze, veja este exemplo:Etapas:
1. ar = {}
2. ar = {9, 8}
3. ar = {9, 8, 0, 8, 0, 0}
4. Definir como série verdadeira:
ar = {0, 0, 8, 0, 8, 9}
5. Redimensionar para 4
ar = {0, 0, 8, 0}
6. Definir como série falsa:
ar = {0, 8, 0, 0}
7. Definir como série true:
ar = {0, 0, 8, 0}
8. Modifique o primeiro elemento a[0]
ar = {8, 0, 8, 0}
Não sei qual matriz redimensionar (3 -5) pega os valores e copia nas novas posições, 6 em diante pega valores aleatórios, eu acho. Prefiro redimensionar() primeiro e depois setasseries() assim: