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 volete testare, ed evitare l'aggiornamento di altri terminali, dovete rimuovere la seguente cartella:
Queste informazioni (probabilmente prese dal forum russo) non sono più aggiornate. Dalla versione 534 in poi, l'aggiornamento su Win7+ è messo in %appdata%\metaquotes\webinstall, non in %programdata%\metaquotes\webinstall.
Può cambiare di nuovo nelle versioni successive.
Questa informazione (probabilmente presa dal forum russo) non è più aggiornata. Dalla v534 in poi, l'aggiornamento su Win7+ viene messo in %appdata%\metaquotes\webinstall, non in %programdata%\metaquotes\webinstall.
Può cambiare di nuovo nelle versioni successive.
Probabilmente non sono un buon esempio, perché sono un programmatore professionista. Quindi non è uno sforzo enorme per me, e mi piace imparare nuovi linguaggi di programmazione. Ho anche qualche esperienza con oop.
. . . . .
Imo, OOP implica credere in Incapsulamento, Astrazione, Ereditarietà e Polimorfismo. Non credo che tu sia in grado di "seguire" i codici di qualcun altro a causa dell'astrazione. Tutto quello che devi sapere è cosa fa . Su una nota più seria, credo che OOP fornisca un livello di organizzazione/catalogazione che è applicato e supportato dal linguaggio e dall'IDE. Un programmatore non può avere troppa organizzazione, questo probabilmente fa risparmiare tempo sui progetti futuri alla maggior parte dei programmatori.
Grazie per la tua risposta angelvoyager che è stata una buona intuizione da qualcuno che ha familiarità con entrambi i lati della medaglia, sono nella stessa barca di Raptor, i concetti di oop hanno iniziato a interessarmi e voglio imparare di più su di esso, è bene sapere che non è del tutto necessario per continuare a utilizzare mql4 anche con le caratteristiche di mql5, ma ancora, vorrei capire quali sono i vantaggi della codifica secondo i concetti e principi oop e quanto bene si applicano alla codifica di un piccolo progetto come un EA.
Quando codifico un EA di solito finisce per essere simile a quello del libro, una funzione centrale che accumula lo stato attuale delle cose, e memorizza queste informazioni in array globali circondati da funzioni periferiche che usano le informazioni in quegli stessi array per decidere cosa fare, ognuna di esse chiama altre funzioni di aiuto per calcolare cose come le dimensioni dei lotti ecc. La funzione start() chiama semplicemente la funzione hub centrale seguita dalle funzioni periferiche in ordine di priorità. Questa struttura di base funziona abbastanza bene anche se non mi è mai piaciuto molto il fatto che l'intera cosa sia centrata sull'accesso globale a questi array, ma non mi è piaciuto abbastanza per cercare un modo diverso di farlo. In altre parole funziona abbastanza bene così non ho provato a sistemarlo lol.
Mi piacerebbe sapere come un approccio oop differisce da questo e quali sarebbero i vantaggi.
Vorrei sapere in che modo un approccio oop differisce da questo e quali sarebbero i vantaggi.
Credo che tu stia descrivendo un flusso di programma. Non credo che questa sia la big_idea dietro l'OOP. (imo) OOP cerca di affrontare i seguenti problemi. Sono un noob OOP, ma sto formando la mia visione del mondo su di esso.
1) Le vostre funzioni sono indipendenti dalle variabili globali? In altre parole, le vostre funzioni sono oggetti indipendenti? Incapsulamento
2) La vostra funzione nasconde i dettagli come i nomi delle variabili locali? Semplifica il volume dei codici sullo schermo? Astrazione
3) Ha la capacità di creare copie duplicate di se stessa per le modifiche? Come la capacità di creare i propri tipi di dati? Ereditarietà.
4) Ha la capacità di cambiare al volo? Esempio: la funzione può gestire sia integer_array che double_array? Polimorfismo.
I modi in cui l'OOP può aiutare a costruire l'ea è simile a come un ea_builder aiuta un non_programmatore a costruire un expert_advisor. Basta prendere la vostra Order_Accounting_Function -> Data_Function -> Event Tracking Function -> Volume Defining Function -> Trading Criteria Defining Function -> Trade Functions -> Error Processing Function. E boom, avete un Expert_Advisor. Tutte le funzioni di definizione dei criteri di trading che avete sviluppato nel corso degli anni possono essere facilmente sostituite.
Per esempio, se tu volessi modificare il mio expert advisor, dovresti studiare dove sono applicate le mie variabili globali e quali altre funzioni dipendono da esse (come i tuoi array di stato o di stato). L'OOP lo rende as_simple_as Accounting(Option_3); Display(Option_1); Caption(Option_5); TradingSys(Option_7); VolumeSize(Option2); OrderType(Option_2) e questo è l'intero esperto.
Questo rende più facile per qualcun altro usare il tuo set di librerie, e di solito ciò che funziona per qualcun altro funziona anche per te in futuro. Se non altro, pensate agli oggetti stand_alone in una catena di montaggio :)
L'ultima versione del mio EA si sta avvicinando a questo, ora sono tutti file di inclusione, ma non sono abbastanza robusti per essere usati fuori dalla scatola senza almeno alcune modifiche. L'errore che faccio spesso è che non mi accorgo di scrivere codice specifico per i criteri nelle funzioni che dovrebbero essere ambigue fino a dopo il fatto e si basano troppo sugli array glabri, quando avrò tempo userò più array locali e più passaggi di parametri per compensare il minor accesso globale.
***Ps: (Non voglio dimenticare questo). Certo a molti di noi non piace non sapere cosa c'è nei codici che stiamo usando. O ci consumiamo nel cercare di capire i codici di qualcun altro, altrimenti probabilmente non li useremmo. Tuttavia, la maggior parte delle funzioni native (esempio OrderSend()) in mql4 sono oggetti dal nostro punto di vista. Noi non vediamo i loro codici ma li accettiamo. Credo che questa accettazione delle librerie di altri sia qualcosa che un programmatore professionale che lavora su grandi progetti deve accettare e su cui deve costruire. Altrimenti sei bloccato a ricreare la ruota.