Nuovo MetaTrader 4 Client Terminal 387 e MetaTrader 4 Data Center build 387 - pagina 8

 
Non è un rapporto di bug, quindi non c'è una reazione.
 

Quindi pensi che vada bene?

Se è così, chi ne ha bisogno, la build 387-388?

Molte persone stanno ancora lavorando su 225. La gente ha bisogno di stabilità.

 

Quando si avvia l'ottimizzazione di questo EA, MT4 dà un messaggio che non c'è abbastanza RAM su questo computer (6GB oo) e inizia l'ottimizzazione. Il pulsante "Start" rimane attivo al posto di "Stop". Nel complesso, è chiaramente un difetto. La build precedente non soffriva di una tale assurdità.

 
Renat:
Non è un rapporto di bug, quindi non c'è una reazione.

:)))

(c) "Vedi una marmotta? No! Nemmeno io. Ma tu sì!"

File:
 

Nelle build 387-388, la reinizializzazione dei buffer degli indicatori personalizzati avviene in momenti imprevedibili. Questo non va bene.

Se la reinizializzazione è così necessaria, la soluzione può essere la seguente.

Introduciamo una funzione aggiuntiva in mql4 che può proibire o permettere tale reinizializzazione.

Introduciamo una funzione booleana, che restituisce VERO se il terminale lo reinizializza, altrimenti restituisce FALSO. La seconda funzione è valida se la prima funzione permette la reinizializzazione.

In questo modo tutti i problemi sono risolti. Chi ne ha bisogno permette la reinizializzazione automatica dalla prima funzione. Allo stesso tempo può controllare i tempi di reinizializzazione per mezzo della seconda funzione.

È possibile combinare tutto questo in una sola funzione. È a discrezione dello sviluppatore.

E tutti sono soddisfatti. Gli errori vengono eliminati. E i programmatori terzi - programmatori personalizzati - sono assicurati contro le sorprese.

È una bella soluzione.

 
Akkarin:

Quando si avvia l'ottimizzazione di questo EA, MT4 dà un messaggio che non c'è abbastanza RAM su questo computer (6GB oo) e inizia l'ottimizzazione. Il pulsante "Start" rimane attivo al posto di "Stop". Nel complesso, è chiaramente un difetto. La build precedente non soffriva di un tale bug.

Sfortunatamente, non hai specificato alcun dato iniziale, parametri di test o log.

Inoltre, ti riferisci alle librerie (DLL), che non solo richiedono un sacco di installazioni, ma non funzionano a causa di librerie aggiuntive mancanti (questo è l'autore delle librerie, che ha dimenticato i file DLL aggiuntivi).

Contattate l'autore di queste biblioteche per informazioni.

 
nen:

Nelle build 387-388, la reinizializzazione dei buffer degli indicatori personalizzati avviene in momenti imprevedibili. Questo non va bene.

A quanto pare, non volete controllare il vostro codice gonfiato, ma state cercando di spostare il problema su di noi. La tua retorica è assolutamente trasparente - "non è un mio problema".

Non mi interessa. Non ho un problema. Posso riprogettarlo per farlo funzionare correttamente. Ma non posso rifare tutti gli indicatori che gli altri usano.

Stai anche sostituendo il significato di "forti cambiamenti nella storia portano alla necessità di un ricalcolo completo" con "momenti imprevedibili". Sono prevedibili - la storia è cambiata, il che ha reso necessaria una completa reinizializzazione. Se il vostro codice non vuole essere consapevole di questa situazione e non vuole ricalcolare se stesso, allora state commettendo un'auto-illusione.

Dimostrare con un'analisi completa il problema. Non a parole, ma su impostazioni chiare, codice, log, screenshot chiari ecc.

Come programmatore, è saggio avere discussioni tecnicamente sostenute e chiaramente descritte passo dopo passo. Link frammentari e messaggi sparsi e non assemblati non costituiscono un rapporto di bug.

La qualità di un rapporto è determinata dalla riproducibilità del suo problema da parte di utenti esterni. Per quanto ho capito, finora nessuno (compresi gli sviluppatori) in questo thread è stato in grado di riprodurre il tuo problema.

 

Renat.

Mi chiedevo se si può sperare di far tornare il rendering degli indicatori personalizzati dopo un test nel tester. Ho disabilitato LiveUpdate su alcuni terminali per il momento. Vedete, per noi - i creatori di "film" di Forex trading - non è sufficiente leggere o scrivere sceneggiature e guardare il film senza immagini, ma solo con il suono. Dobbiamo vedere cosa abbiamo fatto lì, e quanto bene.

Ci sono stati anche pensieri che gli sviluppatori hanno disabilitato il rendering in MT4 per dispetto del fatto che MT5 non sta progredendo bene. Se è così, forse si scopre che i commercianti e i broker hanno bisogno di una cosa e voi state cercando di imporne un'altra. Forse allora è meglio che cambi la tua posizione in questo senso.

E se è causato da decisioni tecniche affrettate, che hanno causato un tale danno agli sviluppatori di esperti, allora voi, come programmatori, dovreste avere la bandiera nelle vostre mani per rendere tutto buono.

Possiamo quindi sperare in una rapida soluzione di questo problema?

 

Bene.

Mettendolo alla prova visiva. Consulente esperto di media mobile.

Impostazione dello ZUP.

Euro. Ore.

Si prega di notare che il mio codice traccia lo swap della storia. Quindi, si reinizializza quando la storia viene scambiata.

All'inizio di questo thread ho postato un pezzo di codice. Tutta l'ottimizzazione è lì.

Sto incollando delle foto qui. Il mio codice "gonfio" è destinato a disegnare immagini, tutto qui. Non si occupa di auto-trading. Se un'immagine è disegnata in modo errato, si tratta di un bug.

Prima foto. Una piccola storia. Un raggio è disegnato. Tutto è normale.

Quasi immediatamente dopo l'inizio del test sono stati disegnati diversi raggi a zig zag, una farfalla è stata disegnata. Volare normale.

Volare oltre. La vostra reinizializzazione è avvenuta. Il software non può tracciare questo. NON C'È UN MODO DI ROUTINE PER TRACCIARE LA REINIZIALIZZAZIONE.

Dato che l'ottimizzazione del calcolo è abilitata, e non c'è nessun segnale per il ricalcolo completo, vediamo il risultato:

Si è accumulata un po' di storia nuova. Un raggio a zig zag è stato disegnato:

Se ora resettiamo l'indicatore, ci sarà un'inizializzazione iniziale e tutto apparirà così:

E così via. Non c'è una capacità interna di tracciare la reinizializzazione del buffer del TUO indicatore.

E non puoi ricalcolare l'indicatore ad ogni tick. Fai un tale casino da solo. Avete fatto molte cose con questo spirito per molto tempo. E non importa quante volte vi abbiamo parlato di molti bug, non li avete capiti. E ora, quando molti programmatori sono semplicemente stanchi di combattere con voi e hanno fatto i loro propri workaround dei vostri bug, voi cominciate a organizzare cose subdole.

Il tuo codice è diventato altrettanto grande. E avete poca idea delle conseguenze delle vostre innovazioni.

Testiamolo ulteriormente.


Ancora una volta la vostra reinizializzazione è passata più volte. Dovrebbe apparire così:

È difficile da riprodurre? O forse semplicemente non vuoi?

E più avanti nei test tutto è sulla stessa linea.

Non dare la colpa agli altri. Il codice è cresciuto.

-------

In conclusione, lo dirò di nuovo. Non è di me che mi preoccupo. Posso bypassare programmaticamente qualsiasi vostro bug per me stesso. Ma non sarò in grado di farlo con un numero enorme di utenti.

Aggiungo. Non ho mai venduto nessuno dei miei indicatori e non ho sviluppato nessuno dei miei indicatori a pagamento. Penso che quando i metaquote possono cambiare tutto fondamentalmente come nelle build 387-388, nessuno dall'esterno sarà in grado di costruire un buon business sullo sviluppo utilizzando i linguaggi MQL(*). Non si può ancora offrire agli sviluppatori di terze parti un framework di sviluppo stabile.

E tutti gli sviluppi a pagamento che usano le vostre lingue al momento li considero una specie di truffa.

 
nen:

Bene.

Mettendolo alla prova visiva. Consulente esperto di media mobile.

Impostazione dello ZUP.

Euro. Ore.

Si prega di notare che il mio codice traccia lo swap della storia. Quindi, si reinizializza quando la storia viene scambiata.

All'inizio di questo thread ho postato un pezzo di codice. Tutta l'ottimizzazione è lì.

Sto incollando delle foto qui. Il mio codice "gonfio" è destinato a disegnare immagini, tutto qui. Non si occupa di auto-trading. Se un'immagine è disegnata in modo errato, si tratta di un bug.

Prima immagine. Una piccola storia. Un raggio è disegnato. Tutto è normale.

Quasi immediatamente dopo l'inizio del test sono stati disegnati diversi raggi a zig zag, una farfalla è stata disegnata. Volare normale.

Volare oltre. La vostra reinizializzazione è avvenuta. Il software non può tracciare questo. NON C'È UN MODO DI ROUTINE PER TRACCIARE LA REINIZIALIZZAZIONE.

Dato che l'ottimizzazione del calcolo è abilitata, e non c'è nessun segnale per il ricalcolo completo, vediamo il risultato:

Si è accumulata un po' di storia nuova. Un raggio a zig zag è stato disegnato:

Se ora resettiamo l'indicatore, ci sarà un'inizializzazione iniziale e tutto apparirà così:

E così via. Non c'è una capacità interna di tracciare la reinizializzazione del buffer del TUO indicatore.

E non puoi ricalcolare l'indicatore ad ogni tick. Fai un tale casino da solo. Avete fatto molte cose con questo spirito per molto tempo. E non importa quante volte vi abbiamo parlato di molti bug, non li avete capiti. E ora, quando molti programmatori sono semplicemente stanchi di combattere con voi e hanno fatto i loro propri workaround dei vostri bug, voi cominciate a organizzare cose subdole.

Il tuo codice è diventato altrettanto grande. E avete poca idea delle conseguenze delle vostre innovazioni.

Testiamolo ulteriormente.


Ancora una volta la vostra reinizializzazione è passata più volte. Dovrebbe apparire così:

È difficile da riprodurre? O forse semplicemente non vuoi?

E più avanti nei test tutto è sulla stessa linea.

Non dare la colpa agli altri. Il codice è cresciuto.

-------

In conclusione, lo dirò di nuovo. Non è di me che mi preoccupo. Posso bypassare programmaticamente qualsiasi vostro bug per me stesso. Ma non sarò in grado di farlo con un numero enorme di utenti.

Aggiungo. Non ho mai venduto nessuno dei miei indicatori e non ho sviluppato nessuno dei miei indicatori a pagamento. Penso che quando i metaquote possono cambiare tutto fondamentalmente come nelle build 387-388, nessuno dall'esterno sarà in grado di costruire un buon business sullo sviluppo utilizzando i linguaggi MQL(*). Non si può ancora offrire agli sviluppatori di terze parti un framework di sviluppo stabile.

E tutti gli sviluppi pagati utilizzando le vostre lingue al momento penso che sia una sorta di truffa.

OK. Ok, ancora una volta mettiamo a riposo tutte le emozioni e affrontiamo con calma la situazione.

Cosa viene dato - test visivo. Eseguiamo dei test visivi e applichiamo lo stesso indicatore per la registrazione. Dopo tutti questi test si ottiene un quadro triste.

Name;Time;GetTickCount;Bars;LastBarsCount;IndicatorCounted
IndicatorCounted() == 0;2011.02.28 09:39:12;156609840;107;107;0
Новый бар;2011.02.28 09:39:12;156610324;108;107;106
Новый бар;2011.02.28 09:39:13;156610838;109;108;107
... (вырезал)
Новый бар;2011.02.28 09:39:23;156621602;128;127;126
Новый бар;2011.02.28 09:39:24;156621758;129;128;127
IndicatorCounted() == 0;2011.02.28 09:39:24;156622180;2648;2648;0
Новый бар;2011.02.28 09:39:24;156622289;130;129;128
Новый бар;2011.02.28 09:39:25;156622819;131;130;129
Новый бар;2011.02.28 09:39:25;156623147;132;131;130
... (вырезал)
Новый бар;2011.02.28 09:39:31;156629699;144;143;142
Новый бар;2011.02.28 09:39:32;156630027;145;144;143
Новый бар;2011.02.28 09:39:32;156630385;2649;2648;2647
Новый бар;2011.02.28 09:39:33;156631009;146;145;144
Новый бар;2011.02.28 09:39:33;156631399;147;146;145
... (вырезал)
Новый бар;2011.02.28 09:40:15;156673364;275;274;273
Новый бар;2011.02.28 09:40:16;156673785;276;275;274
Новый бар;2011.02.28 09:40:16;156673878;277;276;275
IndicatorCounted() == 0;2011.02.28 09:40:16;156673956;2649;2649;0
IndicatorCounted() == 0;2011.02.28 09:40:16;156674081;2649;2649;0
Новый бар;2011.02.28 09:40:16;156674159;278;277;276
Новый бар;2011.02.28 09:40:16;156674612;279;278;277
... (вырезал)

Новый бар;2011.02.28 09:40:27;156684986;314;313;312

Qualcosa è andato storto proprio nella modalità di test visuale - ci sono record con barre uguali a 2648 invece del 130 previsto, ma 130 di nuovo al prossimo tick/barre.

Questo è il motivo, e la reinizializzazione completa non ha assolutamente nulla a che fare con questo, specialmente ad ogni tick.

La paura degli occhi e le mani fanno il lavoro. Esattamente 10 minuti per trovare e descrivere il bug.

Motivazione: