Errori, bug, domande - pagina 1889
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
È un bug o mi sfugge qualcosa? Un normale EA parabolico piazza un ordine stop al punto precedente, in caso di acquisto con lo spread preso in considerazione.
E ora il prezzo (Ask) ha raggiunto il prezzo dell'ordine 57781, ma l'ordine non è aperto.
Qual è l'errore di runtime
se fai questo:
cioè la conversione in genitore, allora tutto va correttamente, apparentemente sono avvenuti cambiamenti molto significativi nella struttura del linguaggio e ora il tipo derivato non è inequivocabilmente un tipo antenato.
Controllato su C++:
La preconversione di un oggetto di una classe madre in una derivata è gestita correttamente, cioè c'è un errore nel meccanismo di MQL5 con la conversione dei tipi, a meno che non sia stato progettato in quel modo.
Qual è l'errore di esecuzione
Se non controllate cosa restituisce dynamic_cast, non ha senso usarlo.
se fai questo:
cioè la conversione in genitore, allora tutto va correttamente, apparentemente un cambiamento molto significativo nella struttura del linguaggio ha avuto luogo e ora il tipo derivato non è inequivocabilmente un tipo antenato.
Se non controllate cosa restituisce dynamic_cast, non ha senso usarlo.
Grazie, nel mio esempio restituisce NULL. Perché succede questo?
Potresti fare un esempio pratico di come usare questo trucco?
Gli sviluppatori lo usano solo in Graphic.mqh come segue
Allo stesso tempo hanno definizioni di classi/oggetti come questa
Cioè, passano un puntatore genitore a un figlio. Beh, è esattamente quello che faccio nel mio esempio! Dov'è l'intoppo?
Un puntatore a una classe padre può effettivamente contenere un puntatore a un discendente.
Un puntatore a una classe padre può effettivamente contenere un puntatore a un discendente.
Grazie, ho capito!
Ancora non capisco perché in MQL non si può lanciare un puntatore a un tipo di puntatore di classe discendente, ma in C++ è possibile, potete spiegare se è un bug in MQL o dovrebbe essere così?
è possibile in C++, puoi spiegare se è un bug in MQL o dovrebbe esserlo?