Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
Il modo è quello di fregare la struttura dell'array. Cioè infilare un puntatore alla serie temporale invece di un puntatore all'array, insieme a parametri adeguati, in modo che la struttura pensi di essere a posto.
aha, capito!
e poi tirare una struttura invece di un riferimento ad un array attraverso le funzioni...
la struttura è come staccata dall'array, ma si possono ancora ottenere dati da
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
TheXpert:
Ho bisogno di un array normale senza copiare
Il modo è quello di fregare la struttura dell'array. Cioè infilare un puntatore alla serie temporale invece di un puntatore all'array, insieme a parametri adeguati, in modo che la struttura pensi di essere a posto.
aha, capito!
e poi tirare una struttura invece di un riferimento ad un array attraverso le funzioni...
la struttura è come staccata dall'array, ma si possono ancora ottenere dati da
ArrayStore::double x[];ora non resta che decollare :)
Si può avere una prospettiva? Teoricamente, la stessa cosa può essere fatta a qualsiasi cosa, compresi gli oggetti.
Non ti consiglierei di avere una prospettiva. :))
Mi sono seduto con il tuo problema per un po' e qualcosa si è chiarito.
i primi due byte sono di tipo array (int).
secondo due byte - non chiaro.
i terzi due - numero di byte nell'elemento di dati (int)
// int x[][15]; // == 0x5200 0100 0400 // здесь в каментах - первые три пары байт структуры
// uint x[][15]; // == 0x5300 0100 0400
// short x[][15]; // == 0x5000 0100 0200
// ushort x[][15]; // == 0x4F00 0100 0200
// char x[][15]; // == 0x4D00 0100 0100
// uchar x[][15]; // == 0x4E00 0100 0100
// long x[][15]; // == 0x5500 0100 0800
// ulong x[][15]; // == 0x5600 0100 0800
// double x[][15]; // == 0x5800 0100 0800
// datetime x[][15];// == 0x5400 0100 0800
Poi ci sono quattro [ulong][ulong][ulong][ulong][ulong][ulong] di fila.
poi la dimensione del buffer riservato.
e poi un puntatore al buffer (non ho ancora controllato).
il resto non è chiaro, forse una riserva, ma non è sicuro
Sì, ma questo se si esclude memcpy
prima di questo, vale la pena controllare se la copia interna dell'array è più veloce di memcpy
Mi sono seduto con il tuo problema per un po', qualcosa si è chiarito.
Sì, ma questo se si esclude memcpy
prima di questo, vale la pena controllare se la copia interna dell'array è più veloce di memcpy
MetaDriver:
ulteriore confusione, forse una riserva, ma non una certezza