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

 
nen:

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.

 
AlexSTAL:
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.

 
AlexSTAL:
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 ..............
 
VOLDEMAR:
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 ..............
È sempre stato così, per quanto mi ricordi. Se no, Slava (stringo) mi correggerà.
 
VOLDEMAR:
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

 
sergeev:

Sì, guarda il tipo di parametri passati.

è int

quindi utilizzare iCustom BBands

e come usarlo ?????

mai usato ....

 
VOLDEMAR:

e come usarlo ?????

mai usato ....

È una buona ragione per iniziare, c'è sempre una prima volta per tutto. :)
 

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.

 
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 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.

  1. Nel terminale client ho impostato l'output nel log alla reinizializzazione dei nostri buffer.
  2. Nell'indicatore ZUP mettere stampa quando si cancella farfalla.

Ecco il registro.

15:45:16 Compiling 'ZUP_v92'
15:45:16 ZUP_v92 EURUSD,H1: loaded successfully
15:45:40 ZUP_v92 EURUSD,H1: initialized
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: triangle deleted
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=0
15:45:40 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:40 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1095  IndicatorCounted=1094
15:45:41 custom indicator ZUP_v92 EURUSD,H1 buffer reinitialize
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=0
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:45:41 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1001  IndicatorCounted=1000
15:45:41 ZUP_v92 EURUSD,H1: delete objects from ZigZag
...
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:07 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:07 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:46:08 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1007  IndicatorCounted=1006
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
15:46:08 ZUP_v92 EURUSD,H1: triangle deleted
...
15:55:15 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:15 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:15 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:23 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1036  IndicatorCounted=1035
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:23 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1035
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: triangle deleted
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:24 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:24 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:52 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:52 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036
15:55:53 ZUP_v92 EURUSD,H1: delete objects from ZigZag
15:55:53 ZUP_v92 EURUSD,H1: delete_objects3. Bars=1037  IndicatorCounted=1036

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