Discussão do artigo "Matrizes e vetores em MQL5"

 

Novo artigo Matrizes e vetores em MQL5 foi publicado:

Os tipos de dados especiais matrix e vector permitem escrever um código que se aproxima da notação matemática. Isto poupa o trabalho de criar laços aninhados e de lembrar de indexar corretamente as matrizes que estão envolvidas no cálculo. Isto aumenta a confiabilidade e a velocidade de desenvolvimento de programas complexos.

Para manusear dados ordenados e homogêneos, é comum o uso de matrizes que permitem que cada elemento seja acessado por um índice. As matrizes são amplamente utilizadas para resolver muitos problemas de álgebra linear, modelagem matemática, aprendizagem de máquinas, etc. A solução para estes problemas é, em termos gerais, baseada em operações matemáticas que utilizam matrizes e vetores, que permitem que conversões muito complexas sejam escritas de forma compacta como uma fórmula simples. Programar estas operações não só requer um bom nível de matemática, mas também saber escrever laços aninhados complexos. A depuração e a detecção de bugs neste tipo de programas pode ser muito cansativa. 


Os tipos de dados especiais matrix e vector permite escrever um código próximo a uma notação matemática e evita a necessidade de criar laços aninhados. O programador não precisa mais se lembrar de indexar corretamente as matrizes que estão envolvidas no cálculo. Neste artigo mostramos como criar, iniciar e aplicar os objetos matrix e vector em MQL5.

Autor: MetaQuotes

 
MetaQuotes:

Foi publicado o novo artigo Matrizes e vetores em MQL5:

Autor: MetaQuotes

Bem-vindo à troca de filosofia de investimento comigo, micro-signal: hgb2022168

 

Olá, por que em C++um vetor é criado sem um comprimento especificado, mas em MQL5 é necessário especificar o comprimento do vetor?

Por exemplo, em C++ funciona:

vector <int> vector_second;
 for (int i = 0; i < 3; i++) {
     vector_second .push_back(i);

  }

в  MQL5  не работает:

int value ;  

   vector v;

for(int i = 0; i < 11; i++)

     {

     value =i;

    v[i]=value;

     }

Print("v = ", v);


em MQL5 funciona:


int value ;  

   vector v(11);

for(int i = 0; i < 11; i++)

     {

     value =i;

    v[i]=value;

     }

Print("v = ", v);

[Excluído]  
knyazeff.vad #:

Olá, por que em C++um vetor é criado sem um comprimento especificado, mas em MQL5 é necessário especificar o comprimento do vetor?

Por exemplo, em C++ funciona:



em MQL5 funciona:


A função push_back() em C++ adiciona um elemento a um vetor, portanto, não importa se ele está vazio ou não.

Tente escrever o mesmo que em MQL em vez disso:

vector_second[i] = i;

Você também receberá um erro.

 
Koldun Zloy #:

A função push_back() em C++ adiciona um elemento a um vetor, portanto, não se importa se ele está vazio ou não.

Em vez disso, tente escrever o mesmo que em MQL:

Você também receberá um erro.

Uma função como push_back () e uma descrição do trabalho com funções de cadeia de caracteres em vetores serão adicionadas ao MQL 5 ?

 
Uma função como push_back () e a descrição do trabalho com funções de cadeia de caracteres em vetoresserão adicionadas aoMQL 5 ?
 
Saudações, por favor, complemente o Manual de Referência MQL5 com exemplos etc. sobre matrizes e vetores, que podem ser passados por matrix& reference, etc.
 
Com relação à E/S externa, as operações de arquivo em vetores/matrizes estão planejadas? FileWrite/ReadMatrix serão?
 
Mikhail Mishanin #:
Com relação à E/S externa, as operações de arquivo em vetores/matrizes estão planejadas? FileWrite/ReadMatrix existirão?
O FileWriteStruct não funciona?
 
Aliaksandr Hryshyn #:
O FileWriteStruct não funciona?

Nenhuma tentativa ainda, a questão é apenas como as colunas e linhas do vetor serão gravadas/lidas, e as matrizes, é claro.

Vou começar a codificar hoje e informarei o resultado.