Errori, bug, domande - pagina 1995

 
fxsaber:

Si può fissare su MQL5 senza la possibilità di fissarlo sullo stesso MQL5 nel modo seguente.

Crea modelli attraverso ChartSaveTemplate, fino a quando il disco è pieno. E per cancellarli... no way!

Stai suggerendo di aggiungere un altro sporco trucco - cancellare i modelli?
 
Slava:
Stai suggerendo di aggiungere un'altra seccatura - la cancellazione dei modelli?

Una qualche soluzione di strawman è ancora necessaria. Perché l'Expert Advisor può accumulare tutti i tipi di modelli inutili in una cartella di una dozzina e usare il terminale a mano diventerà scomodo.


Dividi le cartelle per i modelli manuali e automatici. Cartella automatica su accesso completo. Manuale solo su manuale.

 
Slava:
Stai suggerendo di aggiungere un altro bug - la cancellazione dei modelli?

Permettere ai modelli di essere salvati nella directory files\any, questo è tutto, ho lo stesso problema con templates....

 
fxsaber:

Spiegare.

Mi spiego - ho appena fatto due test dello stesso Expert Advisor su un periodo di 7 anni su tutti i tick - osservo 3 trade in meno nel primo caso. Sto testando di nuovo - ottengo gli stessi trade come nel test per OHLC M1

Questo è il mio problema. I test sono diversi. Ieri ho testato sui miei server e ho ottenuto un risultato, e poi ho ottenuto diverse offerte in una sola esecuzione. Come può essere? Non uso indicatori - solo i prezzi delle candele h1

 
Una domanda per gli sviluppatori. Quando si prevede di dare a Metatrader la possibilità di separare i grafici dal programma? La maggior parte degli altri programmi li ha da molto tempo. Ho 3 monitor - non è conveniente. Devo scaricare altri 2 terminali in parallelo e questo è comunque un carico aggiuntivo sul server del broker
 
Anton Ohmat:

Ho appena fatto due test con lo stesso Expert Advisor su un periodo di 7 anni per tutti i tick - osservo 3 trade in meno nel primo caso. Sto testando di nuovo - ottengo gli stessi trade come nel test per OHLC M1

Ecco il mio problema. I test sono diversi. Ieri ho testato sui miei server - ho ottenuto alcuni risultati, poi in una singola esecuzione altri accordi. Come può essere? Non uso indicatori - solo i prezzi delle candele h1

Scusa - c'è un errore nel mio codice. Ma ho una domanda.

Ho incontrato un problema simile. Ho dichiarato un array bool contenente 13 elementi e ho fatto l'errore ArayFill(array,0,12 invece di 13, true). Come si è scoperto, 13 elementi nell'array hanno innescato 2-3 corse vere, e poi 2-3 corse false.

Penso che gli elementi bool dell'array dovrebbero essere falsi per default. Giusto?

 
Anton Ohmat:

Scusa - un errore nel mio codice. Ma è sorta una domanda.

Si è scoperto che ho incontrato un tale problema. Ho dichiarato un array bool con 13 elementi e ho sbagliato ArayFill(array,0,12 invece di 13, true). Come si è scoperto, 13 elementi nell'array hanno innescato 2-3 corse vere, e poi 2-3 corse false.

Sembra che gli elementi bool di un array debbano essere falsi per default. Non è vero?

Questo è lasciato al programmatore in mql5. In questo caso, possiamo usare ArrayInitialize(array, true), o ArayFill(array,0,ArraySize(array), true).

 
Anton Ohmat:

Scusa - un errore nel mio codice. Ma è sorta una domanda.

Si è scoperto che ho incontrato un tale problema. Ho dichiarato un array bool con 13 elementi e ho sbagliato ArayFill(array,0,12 invece di 13, true). Come si è scoperto, 13 elementi dell'array 2-3 sono veri, e poi 2-3 sono falsi.

Gli elementi bool di default dell'array dovrebbero essere sempre falsi. Giusto?

Lì dovrebbe esserci della spazzatura. Questo è esattamente il caso.

Forum sul trading, sistemi di trading automatico e test di strategia

Bug, bug, domande

fxsaber, 2017.09.10 17:17

Naturalmente, bisogna escludere il fattore della propria stupidità. Per esempio, che l'EA non funziona in modo casuale.

Suggerisco ai moderatori di aggiungere un avvertimento su tale casualità alla spiegazione della documentazione del tester, perché i risultati sono diversi.
 
Vladimir Pastushak:

Permettere ai modelli di essere salvati nella directory dei file, questo è tutto.

Chi ti ferma?

ChartSaveTemplate(chart_id,"\\Files\\MyPreferredTemplates\\cewl.tpl");

 
Alexey Viktorov:

In mql5 questo è lasciato al programmatore. In questo caso, potete usare ArrayInitialize(array, true) o ArayFill(array,0,ArraySize(array), true)

Mi sono chiesto se è corretto, dato che produce errori così MOLTO difficili da individuare.

Il fatto stesso che il programma funzioni in modo scorretto è molto difficile da cogliere. Poi, per scoprire il motivo, bisogna riprodurre l'errore, il che è altrettanto difficile. E poi devi scavare in un codice enorme dove un'inizializzazione di qualche variabile è incompleta - orribile. Gli avvertimenti aiutano molto in questo. Ma solo casi semplici. La stessa inizializzazione non su tutto l'array non è realistica da controllare in fase di compilazione.