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

Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Questo non è un bug della modalità visiva. È esattamente l'azzeramento dei buffer degli indicatori - reinizializzando i buffer con la versione 388.
Ahimè, vi sbagliate. È un lavoro standard del meccanismo chiamato IndicatorCounted() - azzeramento dei buffer degli indicatori a cambiamenti significativi della storia (questo meccanismo era in tutte le build).
In questo caso, c'è un bug in modalità visiva (non l'ho trovato in modalità reale durante la settimana). Ho già descritto qual è il bug.
Ho trovato completamente la ragione di questo comportamento nel post qui sotto.
Grazie per aver controllato, ora è chiaro dove scavare.
Cercheremo di trovarlo, sistemarlo e rilasciare un aggiornamento il più presto possibile.
Ecco, stai rispondendo alla tua stessa domanda
Errore mio, IndicatorCounted() non si applica nei recenti sviluppi. Lo fa solo in ZUP. E non cattura questa reinizializzazione.
Voglio informarvi che nel terminale e nell'ultima build c'è un Bug, cioè l'indicatore iBands quando si specifica il parametro di deviazione 0.8 mette 0. Capisco che questo parametro appartiene all'int e deve essere un intero, ma quando si attacca l'indicatore al grafico il valore di deviazione può essere impostato meno di 1. Perché è possibile impostare meno di 1 sul grafico, ma non nell'Expert Advisor ...... o come superare questo ..............
Voglio farvi sapere che nel terminale e nell'ultima build c'è un Bug, cioè l'indicatore iBands quando si specifica il parametro di deviazione 0.8 mette 0 . Capisco che questo parametro appartiene all'int e deve essere un intero, ma quando si attacca l'indicatore al grafico il valore di deviazione può essere impostato meno di 1. Perché è possibile impostare la deviazione inferiore a 1 sul grafico, ma non nell'Expert Advisor ...... o come evitarlo ..............
Sì, guarda il tipo di parametri passati.
è int.
quindi utilizzare iCustom BBands
Sì, guarda il tipo di parametri passati.
è int
quindi utilizzare iCustom BBands
e come usarlo ?????
mai usato ....
e come usarlo ?????
mai usato ....
Al terminale manca ovviamente una funzione come GetTerminalState che dovrebbe restituire un qualche codice (insieme di bit) che possa essere usato per "chiedere" direttamente al terminale cosa sta facendo ora, ad esempio IsConnected (che tra l'altro non sempre restituisce correttamente il risultato dopo i re-login) riporta solo sì o no. ma vorrei una spiegazione più dettagliata:
- offline (cercando di connettersi, non funzionante, fermo)
- connessione (cercare di connettersi)
- connesso (connesso al server)
Nell'ultimo caso anche bisogno di chiarimenti:
- HistoryOrdersLoading, HistoryOrdersLoaded (scaricato, tutta la storia degli ordini viene scaricata).
- HistoryBarsLoading, HistoryBarsLoaded (scaricato, l'intera storia in base ai prezzi).
Inoltre, durante l'elaborazione dell'ordine è utile sapere che un comando per aprire un ordine è stato inviato e ora il terminale è in attesa della sua apertura, modifica o chiusura. Gli ordini non vengono mai eseguiti immediatamente e sarebbe bene sapere a cosa sta pensando il terminale (i tick ticchettano ma il terminale non fa trading - perché?)
Puoi anche "impacchettare" lo stato dei permessi di lavoro/trading dell'EA.
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 è gonfiato.
-------
In conclusione, lo dirò di nuovo. Non sono preoccupato per me stesso. Posso bypassare qualsiasi vostro bug programmaticamente per me. Ma gli utenti - e ce ne sono molti - non potranno farlo.
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.
Tutti gli sviluppi a pagamento che utilizzano le vostre lingue sono considerati una specie di schivata.
Ha fatto tutto come descritto. Ma con alcune modifiche.
Ecco il registro.
Dopo l'ultima cancellazione della farfalla (due linee cancellate dal triangolo) non c'è stata alcuna reinizializzazione del buffer!
A proposito, lo stesso comportamento è riprodotto nella vostra build 225 preferita