Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 510

 

Uma pergunta sobre o algoritmo. Quem aqui entende de estatísticas teóricas e matemáticas? Veja, há uma série de preços, níveis. Preciso selecionar níveis "fortes" entre eles. Forte significa o valor onde a freqüência de distribuição desses níveis é a mais alta.

Por exemplo, a série 1,8,10,11,11,13,35,40,60,65. Digamos que existe um delta, digamos 2, que denota a diferença máxima entre os valores. Portanto, há um nível forte em torno de 8,10,11,13 que equivale a (8+10+11+13)/4. Talvez haja apenas uma função estatística pronta para isso, para que eu não tenha que reinventar a roda? Você pode me dar uma dica, por favor?

 
Por favor, diga-me, existem classes CArray padrão para trabalhar com arrays. Como eu entendo, eles são para trabalhar exclusivamente com arrays unidimensionais? Ou também com matrizes multidimensionais (bidimensionais)? Caso contrário, existe uma classe para trabalhar com matrizes multidimensionais.
 
Juer:
Por favor, diga-me, existem classes CArray padrão para trabalhar com arrays. Como eu entendo, eles são para trabalhar exclusivamente com arrays unidimensionais? Ou também com multidimensional (bidimensional)? Se não, existe uma classe para trabalhar com arrays multidimensionais?

https://www.mql5.com/ru/articles/567

Encontrado aqui.

Основы программирования на MQL5 - Массивы
Основы программирования на MQL5 - Массивы
  • 2012.11.03
  • Dmitry Fedoseev
  • www.mql5.com
Наряду с переменными и функциями, массивы являются практически неотъемлемой частью любого языка программирования. Замечено, что некоторые начинающие изучать программирование, панически боятся массивов. Удивительно, но факт! Смею заверить вас, что бояться их не нужно. Массивы, по своей сути, это все те же обычные переменные. Если не вдаваться в...
 

Como posso devolver um conjunto de estruturas em uma função?

custom_struct values[];
...
custom_struct Func(void)
  {
   return GetPointer(values);
  }

tipo de classe esperada, objeto requerido erros.

Qual é a forma correta?

 
Juer:

Como posso devolver um conjunto de estruturas em uma função?

tipo de classe esperada, objeto requerido erros.

Qual é a forma correta?

O ponteiro pode ser para um objeto de uma classe, mas não para uma estrutura
 
Juer:

Como posso devolver um conjunto de estruturas em uma função?

tipo de classe esperada, objeto requerido erros.

Qual é a maneira correta de fazer isso?

Passe por referência:

struct A
{
...
};

A structA[];

void GetStructA(A &structA[])
{
....
   structA = _structA;
}
Isto se a estrutura contiver apenas tipos de dados simples (sem cordas ou arrays). Se a estrutura contiver cordas e/ou arrays, então acrescente uma sobrecarga de operador de atribuição à estrutura.
 
Ihor Herasko:

Transferência por referência:

Isto se a estrutura contiver apenas tipos de dados simples (sem cordas e arrays). Se a estrutura contiver cordas e/ou arrays, então acrescente uma sobrecarga de operador de atribuição à estrutura.

Portanto, o acesso à matriz inválida por erro.

Não há matrizes ou cordas na estrutura. Somente bool, inteiro, duplo e enumera.

 
Juer:

Portanto, o erro é o acesso à matriz inválida.

Você tem apenas uma estrutura, não um conjunto de estruturas?

Você não mostra o código normalmente. Temos que adivinhar?

 
Artyom Trishkin:

Você tem uma estrutura, não um conjunto de estruturas?

Você não mostra o código corretamente. Temos que adivinhar?

Um conjunto de estruturas, escrevi-o...

 
class CCandleRule : public CObject
  {
protected:
   input_rule        rules[];
public:
   void              GetRulesArray(input_rule &rules_array[]);
  }

void CCandleRule::GetRulesArray(input_rule &rules_array[])
  {
   rules_array=rules;
  }
A estrutura input_rule é grande, mas tem apenas campos int, double, bool e enum. Não contém cordas ou matrizes.
Razão: