PLO - pagina 6

 
Rosh:
Non c'è differenza finché non ci si riferisce esplicitamente all'oggetto per riferimento come puntatore. Prova tu stesso e vedi l'articolo Quando usare i puntatori in MQL5
Grazie!
 
Serj_Che:

Per favore non prendetemi a calci, ma spiegate sulle vostre dita che tipo di OOP è e come prepararlo.

Spero di sentire una risposta dai creatori di MKL5 e dai programmatori che hanno chiesto di fare OOP in MKL5.

Per quanto riguarda l'accelerazione o il rallentamento. In apparenza, MKL5 è un mangiatore di risorse senza alcun aumento di velocità rispetto a MKL4.

Vorrei vedere esempi concreti di guadagni di prestazioni.

OOP permette di simulare diverse situazioni e anche di parallelizzare i calcoli. Tetris non è un buon esempio, può essere scritto senza OOP, solo più codice. Provate, per esempio, a creare una boccia per pesci dove ogni pesce ha la sua velocità e la sua traiettoria e ce ne sono 500. - Per questo tipo di compiti l'OOP è proprio la cosa giusta! Se prendiamo i consulenti esperti nel forex, allora, per esempio, un oggetto può essere eseguito attraverso la storia con certi parametri, mentre l'EA stesso farà trading in quel momento. O gli stessi pannelli grafici - toolbox - per esempio, diverse finestre di dati indipendenti. Dove è necessario il parallelismo del lavoro e dei calcoli, è qui che si inserisce l'OOP.

 

OOP non ha niente a che fare con la parallelizzazione.

 
papaklass:
Quindi, l'affermazione "Dove è necessario il parallelismo del lavoro e dei calcoli, è lì che dovrebbe esserci OOP" non è vera?

CUDA, per esempio, è scritto in semplice C, e nessuna OOP è fuori questione lì.

Per quanto ne so, non ci sono linguaggi che usano OOP direttamente per il parallelismo oggi.

 
papaklass:
Quindi, l'affermazione "Dove è necessario il parallelismo del lavoro e dei calcoli, è lì che dovrebbe esserci OOP" non è vera?
Non esattamente. Quando si applica l'OOP si deve tener conto della contabilità delle risorse, per esempio, non ci sono 500 milioni di pesci ma 5 milioni di essi più le alghe)). Facciamo un esempio: per esempio, avete un Expert Advisor che utilizza diversi schemi di gestione del denaro. E vuoi vedere l'intera dinamica dell'EA che lavora con diversi schemi di gestione del denaro. Se non usassimo OOP, dovremmo calcolare sequenzialmente per ogni schema, il che potrebbe portare all'obsolescenza di una zecca. O fare l'esecuzione di ogni schema MM in un oggetto. Poiché c'è una riserva di risorse, tutto verrebbe prodotto quasi "allo stesso modo" - "in parallelo". Questo è il tipo di parallelismo che avevo in mente.
 
papaklass:
Quindi, l'affermazione "Dove è necessario il parallelismo del lavoro e dei calcoli - è lì che si inserisce OOP" non è vera?

Sì, non è vero.

 
Serj_Che:

OOP è un bug, come "Niva" o "Lada".

Utilizzare la normale programmazione procedurale in MetaTrader 5.

È accessibile qui come in MetaTrader 4.

Peccato che MetaQuotes non lo sottolinei.

 
MoneyJinn:

OOP è un bug, come "Niva" o "Lada".

Utilizzare la normale programmazione procedurale in MetaTrader 5.

È accessibile qui come in MetaTrader 4.

Peccato che MetaQuotes non lo sottolinei.


Un errore, perché dovrebbero?
 
MoneyJinn:

OOP è un bug, come Niva o Lada.

Utilizzare la normale programmazione procedurale in MetaTrader 5.

È disponibile qui come in MetaTrader 4.

È un peccato che MetaQuotes non lo sottolinei.

Secondo me, lei si sbaglia di grosso!

Una volta che avete grandi progetti (almeno alcune migliaia di linee di codice), vedrete che la programmazione con classi (OOP) rende molto facile controllare il processo di sviluppo e, soprattutto, il debug.

Inoltre, OOP rende i progetti più vicini alla vita reale, infatti nella vita reale abbiamo a che fare solo con istanze di oggetti (una casa, un albero, un uomo, una macchina, un ordine, ecc.), cioè con un insieme di proprietà e metodi :)

Provate a fare qualcosa in OOP, vedrete che è più elegante e chiaro. È più facile della programmazione procedurale!

 

MoneyJinn:

OOP è un bug, come Niva o Lada.

Utilizzare la normale programmazione procedurale in MetaTrader 5.

È disponibile qui come in MetaTrader 4.

È un peccato che MetaQuotes non si concentri su di esso.


Finché l'applicazione dell'OOP non porterà alcun beneficio pratico sotto forma di denaro, ci saranno discussioni. Non sono un sostenitore delle argomentazioni. Dopo tutto, puoi leggere wikipedia e cercare su Google pro e contro di OOP, parallelizzazione. Se avete bisogno di esempi, ce ne sono molti nell'insieme dei programmi terminali. Anche questo insieme di programmi terminali non è più facile scrivere programmi? La programmazione procedurale convenzionale è meno versatile.

Ho diversi oggetti, ognuno dei quali fa qualcosa di diverso - per ognuno scrivere procedure e aspettare che siano fatte a turno - non preoccupatevi.

OOP è un bug, come "Niva" o "Lada". - coraggiosamente! Mi chiedo quanti programmi sono installati sul suo computer, compresi i sistemi operativi? E qual è il rapporto tra i programmi che usano OOP e quelli che non lo fanno?

Motivazione: