No geral, não é um artigo ruim - melhor do que nos livros didáticos de programação, não é tão seco e é bastante lúcido
Não gostei do exemplo:"Matriz multidimensional usando OOP". É uma implementação simples, mas o trabalho subsequente com essa matriz dinâmica é bastante "complicado". Para mim, seria melhor não ter esse exemplo do que uma construção tão assustadora.
- www.mql5.com
Bem, o início do tutorial de programação MQL5 está quase concluído
A única coisa é que a implementação da matriz na OOP parece muito cansativa
Não está mal escrito, mas o artigo não diz uma palavra sobre CArray e seus descendentes.
Os iniciantes podem pensar que, para trabalhar com arrays no estilo OOP, é necessário escrever suas próprias classes, mas elas já foram escritas há muito tempo.
Não está mal escrito, mas o artigo não diz uma palavra sobre o CArray e seus descendentes.
O CArray e todos os seus descendentes deveriam ser anatematizados.
Essas coisas devem ser escritas em modelos.
A única coisa é que a implementação de array em OOP parece muito forçada
É um pouco :)
Alguma sugestão sobre como essa matriz pode ser melhorada em OOP?
Estou tentando obter algo como em JavaScript:
var ar=new Array();
ar[0]=new Array();
ar[1]=new Array();
ar[2]=new Array();
ar[0][0]=1;
ar[0][1]=2;
alert(ar[0][1]);
O maior problema é que no JavaScript você pode colocar uma lista em uma matriz de uma só vez:
ar[0][2]=Array(131,132,133,134);
alert(ar[0][2][3]);
E não há como fazer isso aqui. Portanto, não importa como você olhe para isso. não haverá uma boa variante.
Gosto da implementação de matrizes dinâmicas de Yurich https://www.mql5.com/ru/forum/6729/page3, não sei se ela é eficiente em termos de desempenho, mas em termos de legibilidade do código ela é excelente.
Artigo muito bom para iniciantes absolutos, mas também para programadores experientes que não conhecem o MT5. Apenas a última seção "Creating Multidimensional Arrays Using OOP" (Criando matrizes multidimensionais usando OOP) é de menor interesse.
No entanto, há um pequeno erro:
Array indexing order can be determined using the ArrayIsSeries() function:
bool series=ArrayIsSeries(ar);
Se a matriz for indexada em ordem inversa, a função retornará true.
Isso é falso. A função a ser usada para saber a ordem de indexação de uma matriz é ArrayGetAsSeries().
ArrayIsSeries() é usada para determinar se uma matriz é uma TimeSeries.
There is only one method that allows you to do a search in an unsorted array
Isso não é estritamente verdade, dê uma olhada em Hash Based Searching Algorithm. Mas esse algoritmo provavelmente não se aplica à negociação.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Fundamentos básicos da programação MQL5: Arrays foi publicado:
Juntamente com as variáveis e funções, os arrays são partes integrais de quase todas as linguagens de programação. O artigo deve ser de interesse principalmente para programadores MQL5 novatos, enquanto os desenvolvedores mais experientes terão uma boa oportunidade para resumir e sistematizar seu conhecimento.
Autor: Dmitry Fedoseev