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
Se stai usando classi per qualcosa che non capisci, non è OOP.
E sì, vi consiglio, finché non capite la necessità di questi espedienti, non usateli.
Con questo approccio, la comprensione non arriverà mai.
Non credo che con un uso improprio possa arrivare la comprensione.
Igor, ti ricordi il compito che lo zar diede a Fedot lo Streltsy?
E quale fu la risposta dei due giovani?
Come si può cercare di riprodurre qualcosa, se non si conoscono le regole, o il risultato finale da ottenere...
Beh, è più o meno così, ecco un'imitazione del fatto che i tempi delle notizie e la quantità di notizie differiscono da paese a paese:
ma resta da vedere se è necessario avvolgerlo in un OLP.
;)
Ecco un registro di come è stato chiamato e cosa ha ottenuto:
2019.09.08 16:00:35.031 tst (EURUSD,H1) NewsRU::NewsRU
2019.09.08 16:00:35.032 tst (EURUSD,H1) NewsEN::NewsEN
2019.09.08 16:00:35.032 tst (EURUSD,H1) NewsFake::NewsFake
2019.09.08 16:00:35.032 tst (EURUSD,H1) Errore, non questo tipo FR
2019.09.08 16:00:35.032 tst (EURUSD,H1) Notizie #1 in 1970.01.01 00:01:51
2019.09.08 16:00:35.032 tst (EURUSD,H1) Notizie #2 in 1970.01.01 00:03:42
2019.09.08 16:00:35.032 tst (EURUSD,H1) Notizie #3 in 1970.01.01 00:05:33
2019.09.08 16:00:35.032 tst (EURUSD,H1) Notizie #1 in 1970.01.01 00:07:24
2019.09.08 16:00:35.032 tst (EURUSD,H1) Notizie #2 in 1970.01.01 00:09:15
Non credo che con un uso improprio possa arrivare la comprensione.
Almeno si capirà che "qui non ci sono pesci")).
Lo abbiamo sentito molte volte da alcuni personaggi locali.
E questo solo per mancanza di comprensione.
E ci sono i pesci!
Beh, questo è tutto, ecco una simulazione che i tempi delle notizie e il numero di notizie sono diversi per i diversi paesi:
ma resta da vedere se è necessario avvolgerlo in un OOP.
;)
Ecco un registro di come tutto è stato chiamato e di cosa si è concluso:
No, Igor. Questo non è un approccio del genere.
Le stringhe evidenziate sono tre casi d'uso. Allo stesso tempo, l'intervallo di tempo cambia. Poi l'array values[] viene elaborato in un certo modo. L'id dell'evento è usato per ottenere la descrizione di questo evento. La sua importanza, il tempo e altri attributi.
Lo abbiamo sentito molte volte da alcuni personaggi locali.
E questo solo per mancanza di comprensione.
E ci sono i pesci!
L'ho letto. Ci sono dei pesci, ma non dove non si capisce. Che tipo di progetto dovrebbe essere in mql5 perché ci sia pesce... Voglio vedere almeno un progetto in mql5, dove si vedrebbe la necessità di OOP.
Probabilmente, non c'è bisogno di OOP. In linea di principio, tutto può essere fatto in uno stile strutturato. Ma personalmente, il mio primo impulso è iniziato quando ho deciso di usare strutture invece di insiemi di variabili globali, che avevano cominciato a crescere pericolosamente. Ero già passato dalle strutture alle classi perché sembrava logico integrare le funzioni che elaborano i dati di quelle strutture direttamente in esse, il che ha portato alla creazione delle classi. Non è una questione di necessità, ma semplicemente di organizzare i dati e lavorare con essi.
Non è necessario "uccidere" l'oggetto non appena è stato creato e ha fatto il suo lavoro.
Gli oggetti creati possono essere "uccisi" nella funzione OnDeinit dopo che il programma MQL è finito,
Mentre il programma è in esecuzione, tutti gli oggetti possono essere tenuti in memoria e vi si può accedere.
Se l'oggetto ha svolto il suo compito, perché tenerlo in memoria?
Non si verificherà una perdita di memoria?
No, Igor. Non è questo l'approccio qui.
Le linee evidenziate sono i tre casi d'uso. In questo caso l'intervallo di tempo cambia. Poi l'array values[] viene elaborato in un certo modo. L'id dell'evento è usato per ottenere la descrizione di questo evento. La sua importanza, il tempo e altri attributi.
l'approccio non è importante
Se vuoi capire OOP, la mia opinione (ho già scritto) - è conveniente, ma OOP è solo un paradigma, beh, un modo di scrivere, che combina diversi concetti OOP - Wiki...
Quindi puoi provare il contrario: ecco il tuo compito, devi scomporlo in dati e modi di trattare i dati...
1. Dove memorizzerete i dati? - molto probabilmente una struttura
2. Come elaborerete i dati? - Molto probabilmente un insieme di funzioni.
3. Come inizializzerete i dati? - molto probabilmente un array di strutture, e avrete bisogno di azzerare questo array e poi riempirlo di dati
4. Come garantirete la flessibilità del codice scritto in precedenza - refactoring?
Ora se si usa OOP:
1. in campi in una classe, anche se forse questo campo sarà una struttura, o forse scriverò una classe base a tutti che memorizzerà i dati e farà l'ereditarietà O questa classe sarà un campo nella classe in discussione ora
2.1. sarà un insieme di metodi. Se scrivo una classe base, probabilmente creerò metodi in una classe base che faranno l'elaborazione dei dati di base, e se eredito da una classe base, questi metodi saranno disponibili nella classe, è l'ereditarietà!
2.2. Se voglio cambiare solo un metodo dopo aver ereditato dalla classe base, non riscriverò nulla nella classe base, non è necessario! - Scriverò semplicemente un metodo (una funzione!) con lo stesso nome del metodo della classe base, e sarà eredità!
3. sarà un costruttore, e se non scrivo un costruttore, sarà chiamato implicitamente, quindi tengo presente che ogni classe da cui ho ereditato e/o classe nei miei campi avrà sempre un costruttore chiamato; e l'OOP mi dà la possibilità di non scrivere un costruttore, di scrivere un costruttore senza parametri, di scrivere una dozzina di altri costruttori con parametri
4. usando OOP non dovete riscrivere frammenti di codice creati in precedenza, potete ereditare, potete .... si può sbagliare, il compilatore pulirà dopo il programmatore nella maggior parte dei casi!
bene, questo è il mio punto di vista piuttosto amatoriale su OOP, in generale, è conveniente e al fine di rendere tutto funziona in modo efficiente, il lavoro principale quando si utilizza OOP, non il programmatore, ma gli sviluppatori del compilatore, in modo che i campi / metodi non vengono utilizzati per non includere nel file compilato, dove il programmatore ha fatto un errore, beh, per avvisarlo)))