Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 510

 

Una domanda sull'algoritmo. Chi qui capisce la statistica teorica e matematica? Guarda, c'è una serie di prezzi, livelli. Ho bisogno di selezionare i livelli "forti" da loro. Forte significa il valore in cui la frequenza di distribuzione di questi livelli è la più alta.

Per esempio, la serie 1,8,10,11,13,35,40,60,65. Diciamo che c'è un delta, diciamo 2, che denota la massima differenza tra i valori. Quindi c'è un forte livello intorno a 8,10,11,13 che equivale a (8+10+11+13)/4. Forse c'è solo una funzione statistica già pronta per questo, così non devo reinventare la ruota? Puoi darmi un suggerimento, per favore?

 
Per favore, ditemi che ci sono classi CArray standard per lavorare con gli array. Se ho capito bene, servono per lavorare esclusivamente con gli array monodimensionali? O anche con gli array multidimensionali (bidimensionali)? Se no, c'è una classe per lavorare con gli array multidimensionali.
 
Juer:
Per favore, ditemi che ci sono classi CArray standard per lavorare con gli array. Se ho capito bene, servono per lavorare esclusivamente con gli array monodimensionali? O anche con il multidimensionale (bidimensionale)? Se no, c'è una classe per lavorare con gli array multidimensionali?

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

Trovato qui.

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

Come si restituisce un array di strutture in una funzione?

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

tipo di classe previsto, oggetto richiesto errori.

Qual è il modo corretto?

 
Juer:

Come si restituisce un array di strutture in una funzione?

tipo di classe previsto, oggetto richiesto errori.

Qual è il modo corretto?

Il puntatore può essere a un oggetto di una classe, ma non a una struttura
 
Juer:

Come si restituisce un array di strutture in una funzione?

tipo di classe previsto, oggetto richiesto errori.

Qual è il modo corretto di farlo?

Passa per riferimento:

struct A
{
...
};

A structA[];

void GetStructA(A &structA[])
{
....
   structA = _structA;
}
Questo se la struttura contiene solo tipi di dati semplici (nessuna stringa o array). Se la struttura contiene stringhe e/o array, allora aggiungete un sovraccarico dell'operatore di assegnazione alla struttura.
 
Ihor Herasko:

Trasferimento per riferimento:

Questo se la struttura contiene solo tipi di dati semplici (niente stringhe e array). Se la struttura contiene stringhe e/o array, allora aggiungete un sovraccarico dell'operatore di assegnazione alla struttura.

Quindi errore di accesso all'array non valido.

Non ci sono array o stringhe nella struttura. Solo bool, integer, double e enum.

 
Juer:

Quindi l'errore è un accesso all'array non valido.

Avete solo una struttura, non un array di strutture?

Non mostri il codice normalmente. Dobbiamo indovinare?

 
Artyom Trishkin:

Hai solo una struttura, non un array di strutture?

Non mostri il codice correttamente. Dobbiamo indovinare?

Un array di strutture, l'ho scritto...

 
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;
  }
La struttura input_rule è grande, ma ha solo campi int, double, bool ed enum. Non contiene stringhe o array.