![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
Inoltre, questo è sbagliato - c'è una parola chiave 'final' in MQL5.
{
//--- class body
};
class CBar : public CFoo
{
//--- class body
};
Questo non permetterà a CBar di compilare perché CFoo è finale.
Qui ti sbagli, whroeder1.
Non aggiungere virtual nella base ti farà perdere il polimorfismo - il metodo sarà chiamato staticamente e non dinamicamente a tempo di esecuzione.
Questo era l'avvertimento menzionato da whroeder1.
Inoltre, questo è sbagliato - c'è una parola chiave 'final' in MQL5.
1. Non è solo una cattiva pratica, ma è richiesto in ogni base (non solo in CObject) se è richiesto il polimorfismo.
2. Cambia le cose - vedi 1.
3. final esiste.
C'è anche una parola chiave finale in MQL4, anche se la documentazione non la mostra (a mia conoscenza). Forse è stata menzionata in un aggiornamento della build.
Corretto!
Era la build 1430 per MQL5. Probabilmente nello stesso periodo per MQL4 con il compilatore comune.
Ciao ragazzi,
Sto lavorando in una classe esattamente come questo post, ma la mia variabile "score" è un metodo. Come ottenere il suo valore?
Questo è il codice dall'inizio del post:
Questo è quello che sto cercando di fare:
La domanda è: come usare getPrice() all'interno del metodo Compare()?
GrazieCiao ragazzi,
Sto lavorando in una classe esattamente come questo post, ma la mia variabile "score" è un metodo. Come ottenere il suo valore?
Questo è il codice dall'inizio del post:
Questo è quello che sto cercando di fare:
La domanda è: come usare getPrice() all'interno del metodo Compare()?
GrazieDichiarare il metodo getPrice() con la parola chiave const.
Dichiara il tuo metodo getPrice() con la parola chiave const.
Ciao @Alain Verleyen,
Ho cambiato il metodo getPrice(), invece di usare CopyClose() sto usando CopyBuffer(). Questo non cambia l'obiettivo principale.
Quindi, se utilizzo la parola chiave "const" nel metodo getPrice(), ottengo l'errore: "'CopyBuffer' - nessuno degli overloads può essere applicato alla chiamata di funzione". Penso che questo accada perché CopyBuffer non è un metodo const, e non è possibile chiamare un metodo non const all'interno di un metodo const.