Buona notte. Ho appena iniziato a guardarlo bene. Sembra essere un chiaro bug. Cito il codice qui sotto, se commento una linea (è segnata) sembra funzionare, qual è il problema - non capisco. Non ho trovato nulla nella documentazione su questo argomento.
Non avete allocato l'array Raznica. È dichiarato ma non ha memoria allocata, allo stesso tempo non è un buffer indicatore (la memoria per i buffer è allocata automaticamente).
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
Buona notte. Ho appena iniziato a indagare. Sembra essere un bug evidente. Cito il codice qui sotto, se commento una riga sotto (è segnata) sembra funzionare - non capisco quale sia il problema. La situazione può essere evitata specificando una dimensione esplicita per l'array Raznica[]. Non ho trovato nulla nella documentazione su questo argomento.
Non c'è nessun bug. Si dovrebbe specificare la dimensione per gli array dinamici usando l'opzione
intArrayResize(
void array[], // массив, переданный по ссылкеint new_size, // новый размер массиваint reserve_size=0// резервное значение размера (избыточное)
);
La funzione può essere applicata solo agli array dinamici, ma dovreste tenere a mente che gli array dinamici assegnati come buffer di indicatori dalla funzione SetIndexBuffer() non possono essere ridimensionati. Per i buffer indicatori, tutte le operazioni di ridimensionamento sono eseguite dal sottosistema di esecuzione del terminale.
Ce l'ho, grazie per l'astuta presa per il culo. Un'altra domanda: se un array viene ridimensionato, cosa succede ai dati? E anche cambiare la direzione dell'indicizzazione come nelle serie temporali è possibile solo per l'array dinamico?
ivandurak: Ho capito, grazie per la battuta intelligente. Un'altra domanda, se l'array viene ridimensionato, cosa succederà ai dati? Ed è possibile cambiare una direzione di indicizzazione come nelle serie temporali solo in un array dinamico?
I dati rimarranno al loro posto, se si riduce e poi si ripristina, è incerto (il risultato è indefinito).
Per il modo in cui la direzione di indicizzazione cambia solo il riferimento all'indice, l'array è distribuito nella stessa direzione.
Cioè, i dati non possono essere spostati ri-partizionando l'array.
Errore XML in "Tabella" Causa: valore errato. File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml Gruppo: Cella Tag: Dati Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella". Causa: valore errato File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml Gruppo: Cella Tag: Dati Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella". Causa: valore errato File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml Gruppo: Cella Tag: Dati Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella". Causa: valore errato File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml Gruppo: Cella Tag: Dati Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella". Causa: valore errato File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml Gruppo: Cella Tag: Dati Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Buona notte. Ho appena iniziato a guardarlo bene. Sembra essere un chiaro bug. Cito il codice qui sotto, se commento una linea (è segnata) sembra funzionare, qual è il problema - non capisco. Non ho trovato nulla nella documentazione su questo argomento.
Non avete allocato l'array Raznica. È dichiarato ma non ha memoria allocata, allo stesso tempo non è un buffer indicatore (la memoria per i buffer è allocata automaticamente).
Qui:
dite al compilatore che gli array BaseMaBuffer e MaForMaBuffer sono buffer indicatori. Gli altri array dovrebbero essere allocati attraverso
ArrayResize()Buona notte. Ho appena iniziato a indagare. Sembra essere un bug evidente. Cito il codice qui sotto, se commento una riga sotto (è segnata) sembra funzionare - non capisco quale sia il problema. La situazione può essere evitata specificando una dimensione esplicita per l'array Raznica[]. Non ho trovato nulla nella documentazione su questo argomento.
Non c'è nessun bug. Si dovrebbe specificare la dimensione per gli array dinamici usando l'opzione
La funzione può essere applicata solo agli array dinamici, ma dovreste tenere a mente che gli array dinamici assegnati come buffer di indicatori dalla funzione SetIndexBuffer() non possono essere ridimensionati. Per i buffer indicatori, tutte le operazioni di ridimensionamento sono eseguite dal sottosistema di esecuzione del terminale.
Ho capito, grazie per la battuta intelligente. Un'altra domanda, se l'array viene ridimensionato, cosa succederà ai dati? Ed è possibile cambiare una direzione di indicizzazione come nelle serie temporali solo in un array dinamico?
I dati rimarranno al loro posto, se si riduce e poi si ripristina, è incerto (il risultato è indefinito).
Per il modo in cui la direzione di indicizzazione cambia solo il riferimento all'indice, l'array è distribuito nella stessa direzione.
Cioè, i dati non possono essere spostati ri-partizionando l'array.
Questo è già stato segnalato, ma il tester continua a resettare il valore del deposito iniziale definito dall'utente di 10.000 dollari.
L'insieme dei valori iniziali disponibili è piuttosto storto. Aggiungerebbe almeno 1000 dollari.
costruire 523
Win XP
Dopo l'ottimizzazione, il file dei risultati non può essere aperto,
Build 527 + Office 2007
Il registro degli errori contiene i seguenti dati
Errore XML in "Tabella"
Causa: valore errato.
File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml
Gruppo: Cella
Tag: Dati
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella".
Causa: valore errato
File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml
Gruppo: Cella
Tag: Dati
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella".
Causa: valore errato
File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml
Gruppo: Cella
Tag: Dati
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella".
Causa: valore errato
File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml
Gruppo: Cella
Tag: Dati
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Errore XML in "Tabella".
Causa: valore errato
File: C:Users\Dragon\Desktop\ReportOptimizer-957640.xml
Gruppo: Cella
Tag: Dati
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
ecc.
Credo che tu stia ottenendo un valore vuoto.
Puoi leggere
https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants
VUOTO_VALORE
Valore vuoto nel buffer dell'indicatore
DBL_MAX
DBL_MAX
Valore massimo che può essere rappresentato dal tipo doppio
1.7976931348623158e+308
Era così o si è rotto qualcosa... Comunque, è permesso accedere liberamente al metodo protetto nei non-discendenti
Credo che tu stia ottenendo un valore vuoto.
Puoi leggere
https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants
VUOTO_VALORE
Valore vuoto nel buffer dell'indicatore
DBL_MAX
DBL_MAX
Valore massimo che può essere rappresentato dal tipo doppio
1.7976931348623158e+308