Errori, bug, domande - pagina 222

 
vyv:

Una richiesta agli sviluppatori. Mentre il lavoro su MT5 è in ebollizione e i cambiamenti sono ancora in corso, sarebbe molto bello espandere il numero di passaggi di ottimizzazione.

Per quanto ho capito la soluzione per tanti compiti si trova per circa 10 000 varianti può essere un po' più o un po' meno. Qualche ora di ricerca su un processore e le migliori varianti sono state trovate.

La versatilità dei test MQL5+OP+Multicore permette di vedere nuovi orizzonti di compiti (ad esempio la ricerca di modelli) che possono essere risolti utilizzando strumenti MT5.

Ma ecco il problema:

L'articolo pubblicato sul tuo sito ha un esempio di algoritmo genetico https://www.mql5.com/ru/articles/55 dove ci sono voluti 3^100 forward brute force per risolvere un problema di ricerca su 100 barre - beh questo è un po' più di LongInt :) mentre la soluzione è stata trovata in 17 000 iterazioni. L'algoritmo genetico può trovare soluzioni per molte più varianti di LongInt. E questa limitazione è completamente infondata e obsoleta. Beh, tranne che in questa fase finale di MT5 sarà difficile farlo.

Una grande richiesta agli sviluppatori, se non è troppo difficile, si prega di rendere il numero di passaggi almeno 2^LongInt (2 alla potenza).


Serj_Che 2010.12.07 00:16 #
vyv:
Qualcuno mi risponde?

Ne hanno parlato qui. https://www.mql5.com/ru/forum/1997/page6/#comment_31644

Forse sarebbe meglio porre la domanda lì.

Oh, così si scopre che questo miglioramento è necessario per molti. Forse si può provare dopo tutto?

Renat Fatkhullin:

"Se arriviamo alla conclusione che un prodotto può essere migliorato qualitativamente, lo facciamo. Non importa se dobbiamo riscrivere tutto da zero o meno. Non abbiamo paura di questo!

A posteriori, tutto il nostro lavoro è caratterizzato da un costante desiderio di migliorare i prodotti, un desiderio di ottimizzare. Questa è la parola che abbiamo messo nel nostro slogan: Optimize and Lead!

 

Cosa sono questi errori?

Sono rimaste 7 stringhe trapelate
Terminazione anomala

 
dentraf:

Cosa sono questi errori?

Sono rimaste 7 stringhe trapelate
Terminazione anomala

Il programma è terminato prematuramente, ma il sistema in esecuzione ha rilevato che le 7 stringhe non sono state liberate (questa è una conseguenza della terminazione prematura).
 
long varLong = 124;
Print(varLong);

- Emette una riga vuota.

long varLong = 124;
Print((int)varLong);
- Emette un numero.

Per favore, correggetelo.
Presumo che ci siano altri problemi con il lungo, ma non riesco ancora a trovare quali sono, sto ottenendo un errore di scrittura della memoria con un induttore...

 
Vigor:
Bene. È una caratteristica. Ma uno che dovrebbe conoscere meglio.

Se un utente inserisce valori di periodo per MA dall'interfaccia, creando maniglie per gli indicatori e utilizzando i valori dei buffer degli indicatori, poi avendo creato (per esempio, ho impostazioni predefinite in questo modulo) 2 indicatori con le stesse caratteristiche (le loro maniglie sono scritte nel wrapper dell'oggetto), riceve il numero di maniglia del primo indicatore, a causa di questa caratteristica.

La seguente è una possibile catena di eventi.

Situazione 1. cancella il primo indicatore (e il programma esegue IndicatorRelease); di conseguenza, il secondo indicatore non funziona automaticamente - errore di copia del buffer.

Situazione 2. Rimuove il secondo indicatore (e il programma fa IndicatorRelease), il contatore del volantino diminuisce. Il primo sta andando bene. Crea un terzo indicatore con un periodo diverso. Riceve il conteggio dell'handle+1, cioè il numero dell'handle dell'indicatore appena cancellato. Alla fine, la cosa peggiore è che il terzo indicatore con un periodo diverso, creato con successo, dà i valori del primo indicatore, ancora non cancellato, al buffer.

La funzione di incollaggio dei numeri di maniglia, porta a situazioni ambigue quando si cancella uno dei due incollati e poi se ne creano di nuovi.

Grazie, pensiamoci.

 
mrProF:

- Emette una riga vuota.

- Emette un numero.

Per favore, correggetelo.
Presumo che ci siano altri problemi con il lungo, ma non riesco ancora a trovare quali sono, ho un induttore che dà un errore di scrittura nella memoria...

Grazie. Sarà aggiustato.
 

Build 362 - il trascinamento della scheda della finestra ha smesso di funzionare:

Appare l'icona del divieto di D&D. Forse sto facendo qualcosa di sbagliato?

 

Succede che a causa di importanti bug nella compilazione (questa volta nelle funzioni di accesso alle serie temporali, in particolare) lo sviluppo di EA viene fermato. Dovremmo implementare il rollback alla versione precedente (prima della correzione). Almeno in modalità manuale, o anche più facilmente, se viene memorizzato un backup della build precedente.

Questa domanda è già stata sollevata ed è stata ignorata, ma IMHO è importante e non molto difficile.

 
Dali:

Succede che a causa di importanti bug nella compilazione (questa volta nelle funzioni di accesso alle serie temporali, in particolare) lo sviluppo di EA viene fermato. Dovremmo implementare il rollback alla versione precedente (prima della correzione). Almeno in modalità manuale, o anche più facilmente, se viene memorizzato un backup della build precedente.

Questa domanda è già stata sollevata ed è stata ignorata, ma IMHO è importante e non molto difficile.


Sostengo pienamente

 
Dali:

Succede che a causa di importanti bug nella compilazione (questa volta nelle funzioni di accesso alle serie temporali, in particolare) lo sviluppo di EA viene fermato. Dovremmo implementare il rollback alla versione precedente (prima della correzione). Almeno in modalità manuale, o ancora più facile, se viene memorizzato un backup della build precedente.

Questa domanda è già stata sollevata ed è stata ignorata, ma IMHO è importante e non molto difficile.


Sono d'accordo, ma allo stesso tempo dobbiamo in qualche modo disabilitare l'aggiornamento automatico, in modo che il terminale non sia costantemente aggiornato