Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1320
![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
Dopo l'aggiornamento alla versione 2981, un errore ha iniziato ad apparire nella linea
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Peculiarità di mql5, consigli e trucchi
Ilyas, 2021.05.28 18:18
Stiamo espandendo le nostre sequenze di inizializzazione "{ ... Nella prossima build permetteremo di usare qualsiasi espressione, non solo costante.
Al posto di questa modifica, ci sarà una restrizione sull'uso delle costanti per le enumerazioni (come per un'espressione ordinaria): se la costante non appartiene all'enum, verrà prodotto l'errore corrispondente.
L'analisi dei codici esistenti ha mostrato che la sequenza di zero singolo "{0}" è spesso usata in modo scorretto.
Per esempio, così:
Tale notazione significa impostare il valore zero per il primo campo della struttura e azzerare il resto dei campi.
Per la linea di codice qui sopra, secondo le nuove regole, ci sarà un errore poiché il primo campo ha il tipo ENUM_TRADE_REQUEST_ACTIONS, un'enumerazione che non ha il valore "0".
Il modo corretto sarebbe:
MqlTradeRequest request={};
Quindi sto scrivendo: da quale classe dovrei ereditare la mia classe per usare questi metodi dalla loro libreria standard?
Cosa c'è di sbagliato nella mia domanda? ))))
Ecco il codice, cosa c'è di sbagliato?
La classe include![](https://c.mql5.com/3/359/3578821118892__1.png)
La classe Test_Nasledovania : public CObject è essa stessa un'erede della classe base CObject di tutta la libreria standard).
Ecco il codice, cosa c'è di sbagliato?
La classe include
La classe Test_Nasledovania : public CObject stessa è un'erede della classe base CObject dell'intera libreria standard).
Oltre a collegare la classe di trading, dovete anche creare un oggetto della classe di trading, e poi fare riferimento ai metodi della classe attraverso l'oggetto creato
Cosa c'è di sbagliato nella mia domanda? ))))
Perché l'aiuto ha l'intera eredità di tutte queste classi scritta nero su bianco.
Oltre a collegare una classe di trading, dovete anche creare un oggetto di questa classe di trading e poi fare riferimento ai metodi della classe attraverso l'oggetto creato
La domanda sull'uso di metodi di classe in Expert Advisors e script è ovviamente la creazione di oggetti, ma la domanda riguarda l'uso di metodi di una classe base in una classe discendente. Perché abbiamo bisogno di creare oggetti lì?
Per quanto riguarda l'uso di metodi di classi, in Expert Advisors e script, va da sé che creiamo oggetti. Ma la domanda riguarda l'uso di metodi di una classe base, all'interno di una classe discendente. Perché avete bisogno di creare oggetti lì?
Avete ereditato la vostra classe da CObject:
Mi scusi, ma quali metodi si aspettava di vedere?
Ecco un esempio di come usare i metodi di una classe base in una classe ereditata senza usare un oggetto
Voglio usare così tutti i metodi inclusi in![](https://c.mql5.com/3/359/2557050834480__1.png)
Da quale classe dovrei ereditare la mia classe, in modo da poter utilizzare i metodi di tutte queste classi all'interno della mia classe senza creare oggetti? Se è possibile)))
Avete ereditato la vostra classe da CObject:
Scusa, quali metodi ti aspettavi di vedere?
Sono d'accordo))), sono stato stupido))), la classe base di tutti questi metodi, non permette di utilizzare metodi di classi dei suoi discendenti)))