Errori, bug, domande - pagina 2394
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Dati: due grafici nel terminale mt5, ad esempio EURUSD H1, EURUSD H1. Che i grafici abbiano i numeri 1 e 2, rispettivamente, quando si numerano da sinistra a destra.
Se il "pannello" (praticamente qualsiasi) è posto sul grafico che ha il numero 1, allora, dopo il passaggio al grafico 2 e il ritorno al grafico 1, il pannello è minimizzato - minimizzato nell'angolo superiore sinistro.
Allo stesso tempo, se il "pannello" è posto nel grafico 2, con l'esistente, ovviamente, grafico 1, allora dopo il passaggio al diagramma 1 e il ritorno al diagramma 2, la minimizzazione - minimizzazione del "pannello" nell'angolo superiore sinistro non avviene :).
Chi può spiegare qual è il problema e come affrontarlo?
Ciao!
L'ultima versione(build 2007, 25 febbraio 2019) ha scoperto due bug:
1) 1) Quando si apre il programma (o si cambia il profilo) molti grafici (41 in totale) mostrano un eterno "Waiting for update".
2) 2) Quando si chiude il programma, non si chiude completamente, il task manager mostra che il programma non è chiuso, anche se visivamente non è più visualizzato.
3) Bug controverso (sulla versione di dicembre 2018 tutto funzionava bene, nessun errore), forse un bug dell'indicatore, quando si avvia il programma o si cambia il profilo, l'indicatore non viene calcolato correttamente, si può vedere dai dati renderizzati che alcuni dati non vengono calcolati correttamente. Quando si riapplica il modello o le proprietà dell'indicatore di apertura e chiusura, i dati vengono calcolati correttamente.
4) Per qualche motivo gli agenti hanno smesso di funzionare nel cloud dopo l'aggiornamento (l'account è elencato). Test superati 586, tempo passato 0 ore 0 minuti.
Errore nel rendering dei grafici, succede anche con gli indicatori standard, solo il riavvio del terminale e la chiusura forzata tramite task manager aiuta.
Quale può essere l'errore? La storia dei simboli viene caricata.
Errore con il rendering dei grafici, succede con gli indicatori standard, solo il riavvio del terminale, e la chiusura forzata tramite task manager aiuta.
Quale potrebbe essere l'errore? La storia dei simboli è caricata.
Per lo più in indicatori dove lavoro con oggetti (etichette, ecc.). Forse è collegato al grande numero di array di indicatori, in media circa 40 "INDICATOR_DATA" e "INDICATOR_CALCULATIONS". A proposito, se la memoria non mi inganna, in queste situazioni anche dopo una compilazione riuscita il terminale non aggiornerebbe gli indicatori, ma non ne sono sicuro.
Il codice è stato ottimizzato per elaborare i dati dal minor numero possibile di questi array per unità di tempo, con lo stesso numero di array o più.
Non sono a conoscenza di tali sottigliezze, in quanto non sono stato coinvolto nello sviluppo del mio TS su MT5 in passato. Com'è che i take sono dei marketplace, qual è la novità? Se colpiscono un gap devono essere eseguiti alla prima quotazione, cioè in caso di slittamento dei limiti verso il lato positivo. Un broker di qualità può permetterlo sul conto reale. Ma naturalmente questa non è una regola. Ma se lo spread per barra fosse massimo, compenserebbe il profitto sui limiti.
Probabilmente il modo più veloce per controllare lo slippage nello Strategy Tester
Forum sul trading, sistemi di trading automatico e test di strategia
Biblioteche: TradePanel_Csharp
fxsaber, 2019.03.05 10:10
Demo
La colonna SlipPage mostra lo slippage all'apertura (per limite) e alla chiusura (per presa) in pip. Puoi vedere perfettamente come il Tester in modalità tick reali sovrastima il profitto.
Vorrei che desse
'OnInit2' - function not defined Test3.mq5 3 3 Пропишите внизу OnInit 1 error(s), 0 warning(s) 2 1
Altri compilatori hanno questa caratteristica?
Vorrei che emettesse
È improbabile nei compilatori, molto probabilmente negli interpreti. I compilatori di solito hanno il binding statico dei puntatori alle chiamate di funzione o alle variabili (dovrebbe essere come suona?), cioè tutti gli offset dei puntatori saranno calcolati al momento della compilazione
Nel tuo esempio, tutto è alla vecchia maniera, #define e #ifndef ( _DEBUG ? )
nei compilatori è improbabile, negli interpreti molto probabilmente possibile, i compilatori di solito usano il binding statico dei puntatori alle chiamate di funzione o alle variabili (dovrebbe suonare così? ), cioè tutti gli offset dei puntatori saranno calcolati in fase di compilazione
Nel tuo esempio, tutto è come prima, #define e #ifndef ( _DEBUG ? )
Volevo solo che il compilatore completasse il messaggio di errore con un commento di riga.
Non posso dire che nell'ultima versione, ma in quelle precedenti - di sicuro. Soprattutto negli indicatori, dove lavoro con oggetti (etichette ecc.). probabilmente è collegato a un gran numero di array di indicatori. in media, circa 40, sia "INDICATOR_DATA" che "INDICATOR_CALCULATIONS". A proposito, se la memoria non mi inganna, in queste situazioni anche dopo una compilazione riuscita il terminale non aggiornerebbe gli indicatori, ma non ne sono sicuro.
Il codice è stato ottimizzato per elaborare i dati dal minor numero possibile di questi array per unità di tempo, con lo stesso numero di array o più.
Non sono entrato nel codice presentato, lasciami provare a indovinare - il problema è che entrambi gli EA lavorano con la stessa risorsa grafica.
questo è un esempio di utilizzo della classe CAppDialog della libreria standard
se si usa questa classe, il metodo Minimize() viene sempre chiamato quando si cambia grafico
Non ho voluto capirlo, ho semplicemente scritto il mio OnClickButtonMinMax(), era piuttosto incasinato, ma ha funzionato senza problemi.
c'è un altro bug nella classe CAppDialog, dopo Minimize() e Maximize() la proprietà OBJPROP_BACK della classe CCheckBox viene cambiata, e le caselle di controllo diventano con bordo "quadrato", ho fissato ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true) in questo codice rapidamente; ...
Ciao!
Dati: due grafici nel terminale mt5, ad esempio EURUSD H1, EURUSD H1. Che i grafici abbiano rispettivamente i numeri 1 e 2, con numerazione da sinistra a destra.
Se il "pannello" (praticamente qualsiasi) è posto sul grafico che ha il numero 1, allora, dopo il passaggio al grafico 2 e il ritorno al grafico 1, il pannello è minimizzato - minimizzato nell'angolo superiore sinistro.
Allo stesso tempo, se il "pannello" è posto nel grafico 2, con l'esistente, ovviamente, grafico 1, allora dopo il passaggio al diagramma 1 e il ritorno al diagramma 2, la minimizzazione - minimizzazione del "pannello" nell'angolo superiore sinistro non avviene :).
Chi può spiegare qual è il punto e come affrontarlo?
Cancellato la mia risposta precedente
La finestra crolla perché non si adatta al grafico.
Se uscite dalla modalità "grafico a tutta la finestra del terminale", vedrete le dimensioni reali dei grafici.
Per evitare che la finestra del grafico collassi sul grafico, è necessario aumentare le dimensioni dei grafici.
Dopo di che, puoi espandere il grafico a tutto il terminale e provare a passare da uno all'altro