- Il codice è corretto?
- Come migliorare il codice?
- Come accelerare il codice?
Cosa intende per giusto o sbagliato? Se funziona correttamente, è giusto. Se non funziona, è sbagliato.
Migliorare. Migliorare quando qualcosa non soddisfa un bisogno. Quali bisogni non soddisfa, allora dovreste migliorarlo in questa direzione.
Perché accelerare? Gli ordini non si aprono così spesso, anche raramente rispetto al numero totale di tick nel tester.
Ma quella era filosofia.
Pratica. Perché abbiamo bisogno di questa classe se c'è una grande classe standard? È vero, è per MT5 e non so se è disponibile per MT4. Non ne hai uno?
C'è uno svantaggio nel tuo codice: l'assenza di Stop Loss e Take Profit.
Quindi OOP è solo una funzione da stipare in una classe? Produttivo, presto ci sarà da divertirsi sul forum.
Se sei così intelligente, allora scrivi nel modo giusto, il topic non è stato creato per il sarcasmo ....
Se sei così intelligente, allora scrivi nel modo giusto, l'argomento non è per il sarcasmo ....
Dipende da ciò che vuoi, da ciò di cui hai bisogno e dal tuo stile di programmazione.
Potete fare una classe come un insieme di funzioni con parametri, come nel vostro caso.
Potete fare dei metodi per impostare dei parametri, e aprire direttamente l'ordine chiamando il metodo senza parametri.
Sarebbe meglio quando è più semplice - in questo caso, sarà più applicabile in diversi casi. Cercare di fare qualcosa di super-perfettamente universale è il sogno di un idiota, una perdita di tempo e di sforzo mentale.
Di più. Finché non avete dovuto risolvere lo stesso problema 20 volte, è meglio non cercare di creare un approccio universale.
Cosa significa giusto o sbagliato? Se funziona correttamente, è giusto. Se non funziona, è sbagliato.
Migliorare. Si dovrebbe migliorare quando qualcosa non soddisfa un bisogno. Quali esigenze non sono soddisfatte, in quella direzione per migliorare.
Perché accelerare? Gli ordini non si aprono così spesso, anche raramente rispetto al numero totale di tick nel tester.
Ma quella era filosofia.
Pratica. Perché abbiamo bisogno di questa classe se c'è una grande classe standard? È vero, è per MT5 e non so se è disponibile per MT4. Non ne hai uno?
C'è uno svantaggio nel tuo codice: l'assenza di Stop Loss e Take Profit.
Stop loss e takeaway per gli ordini sono impostati separatamente, dato che potremmo non sapere su quale tipo di account lavoreremo ....
Potete creare dei metodi per impostare dei parametri, e aprire direttamente un ordine chiamando un metodo senza parametri.
Puoi dimostrarlo con il mio esempio?
Non ho voglia di codificare. Comunque... Nella sezione privata dichiarare le variabili per i valori di Stop Loss, Take Profit e lotto. Queste variabili sono utilizzate nei metodi di apertura degli ordini, naturalmente, il lotto è come è e i livelli di prezzo sono calcolati utilizzando queste variabili. Ma dovremmo impostare dei valori per queste variabili. Questo significa che abbiamo bisogno di metodi come: SetTakeProfit(int Value), SetStopLoss(int Value), SetLots(double Value).
Nella maggior parte degli EA, i metodi SetTakeProfit(int Value), SetStopLoss(int Value), SetLots(double Value) dovranno essere chiamati solo una volta nell'inite. Chiamare i metodi per aprire gli ordini senza parametri accelera notevolmente il tempo di esecuzione.
Se sei così intelligente, scrivilo correttamente, il topic non è stato creato per il sarcasmo ....
Come sempre, volevo imparare, ma ci sono sempre quelli che non hanno altro da dire se non essere intelligenti...
Ho scritto un semplice esempio per smontarlo, non so come scrivere in modo più competente con OOP ... È solo un esempio, se sai come scrivere un codice simile correttamente e OOP allora per favore scrivi, così che io e altri possano imparare...
Come sempre, volevo imparare, ma ci sono sempre quelli che non hanno più niente da dire se non essere intelligenti...
Ho scritto un semplice esempio per smontarlo, non so come scrivere in modo più competente con OOP ... È solo un esempio, se sai come scrivere un codice del genere correttamente e OOP allora per favore scrivi, così che io e altri possano imparare...
Non importa.
* * *
Dovreste cercare di assicurarvi che i metodi principali e più frequentemente usati siano chiamati senza passare alcun parametro. Questo aumenterebbe le prestazioni. Ma ridurrà l'usabilità.

- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Ciao a tutti!
Penso che sia il momento di creare questo thread, perché non c'è una buona formazione OOP da nessuna parte, ma abbiamo bisogno e voglia di imparare.
Riempire il ramo "domande dai neofiti" con esempi di codice più complicati e non comprensibili per i neofiti non è probabilmente utile.
Avendo letto due articoli "The Basics of Object Oriented Programming eOOP in MQL5: Error and Warning Code Handling" di esempi
Ho scritto un codice di esempio e voglio studiarlo in dettaglio. Vi suggerisco anche di pubblicare i vostri codici e discuterli insieme.
Sono interessato a quanto segue: