Friday 8 September 2017

Build Your Own Automatizzato Trading System


MetaTrader 5 - Esempi Come fare un robot commerciale in tempo di fare un robot commerciale, avete bisogno di un Trading System Trading sui mercati finanziari comporta molti rischi, tra cui la più critica uno - il rischio di prendere una decisione commerciale sbagliata. Il sogno di ogni commerciante è quello di trovare un robot commerciale. che è sempre in buona forma e non soggetto a debolezze umane - la paura, l'avidità e l'impazienza. Ogni nuovo arrivato vuole ottenere o creare un sistema di scambio chiaro e rigoroso che possa essere presentato sotto forma di algoritmi e completamente sbarazzarsi di operazioni di routine. E 'possibile un sistema di trading è una condizione necessaria per entrare nel mercato e che il sistema deve essere redditizia, naturalmente. Quando i nuovi arrivati ​​vengono al mercato, di solito sono sopraffatti dalla grande massa di informazioni difficili da afferrare. Libri e forum commerciante in grado di fornire un aiuto in questo caso. Purtroppo, non tutti gli autori sono i commercianti di successo e non tutti i commercianti di successo scrivono libri. Molte risorse web speciali sono creati solo per guadagnare il profitto per i loro proprietari, in quanto è molto più difficile per il commercio il proprio denaro rispetto a rilasciare previsioni e insegnare sistemi di trading. Ogni trader deve passare in modo indipendente tutte le fasi della creazione del sistema di trading. C'è un detto popolare che non importa quale sistema si usa per la negoziazione, la cosa principale è che in realtà si dovrebbe commercio in base a tale sistema. In caso contrario, la negoziazione sul mercato si trasforma in un gioco d'azzardo con un risultato prevedibile. Trading Robot Forex e mercato è creduto di avere una grande liquidità. Inoltre, permette di trading 24 ore al giorno, a differenza di molti altri mercati. Pertanto, molti commercianti cercano di fare trading robot appositamente per il mercato Forex, in quanto offre un gran numero di strumenti di trading. Tuttavia, gli scettici sostengono che tutte le coppie di valute sono fortemente correlati tra di loro fornendo molto bassa volatilità del mercato. Ma i loro avversari rispondere che ogni coppia di valute ha le proprie caratteristiche e bassa volatilità è compensata da una grande leva. In ogni caso, gli strumenti di Forex sono attraenti per fare trading robot e la maggior parte dei sostenitori del trading automatico affinare le loro abilità su coppie di valute. MetaTrader 4 e MetaTrader 5 terminali di trading sono stati appositamente progettati per sviluppare facilmente sistemi di trading automatizzati, ma allo stesso tempo la loro interfaccia è anche conveniente per il trading manuale. Come iniziare a fare un robot commerciale Ci sono molti approcci per la costruzione di un sistema di trading automatico. Descriveremo solo pochi quelli principali. Il primo approccio si basa sulla matematica. Uno sviluppatore tenta di creare una sorta di un'equazione che può prendere in considerazione molti fattori. Questo approccio si basa sulla convinzione che i movimenti dei prezzi sono gestiti da un modello che può essere trovato utilizzando i dati storici disponibili. Nella maggior parte dei casi, i seguaci di un tale approccio sanno troppo la matematica, ma non sanno nulla, non aboutare interessati al mercato. Il mercato è una pura astrazione, un tipo di gioco intellettuale per loro. Questo approccio di solito porta a molti anni di studio e sviluppo, mentre un risultato definitivo sotto forma di un sistema automatizzato di negoziazione di lavoro non è così importante. Il secondo approccio si basa sullo studio delle leggi di mercato. Non si cerca di capire perché il prezzo sale o scende quando le varie figure di analisi tecnica appaiono su un grafico. Il vantaggio di questo approccio è che non richiede particolari conoscenze della matematica e non fa ipotesi circa la forza trainante del mercato. E 'più chiaro e conveniente quando si studia il commercio. È il più popolare tra gli operatori che hanno ricevuto riconoscimento universale. Lo svantaggio di questo approccio è la necessità di monitorare costantemente tutti i simboli necessari. Prima o poi, un commerciante inizia a considerare l'automazione dei processi commerciali e la questione più rilevante appare in quella fase la complessità di formalizzare regole di negoziazione quando si cerca di esprimerli sotto forma di algoritmi. In alcuni casi i commercianti che cercano di ordinare un robot commerciale non si può descrivere le regole di negoziazione e di trovare un terreno comune con i programmatori. Il terzo approccio si basa sul tentativo di creare una scatola nera basato su reti neurali con l'uso degli strumenti preconfezionati ampiamente disponibili in software e matematica pacchetti speciali. La creazione di un sistema di trading automatico con gli elementi della intelligenza artificiale è un compito eccitante e stimolante anche per i nuovi arrivati, in quanto richiede né profondo background matematico, né esperienza di programmazione - tutto è fatto tramite ausili visivi. Un trader dovrebbe conoscere i principi fondamentali di indicatori tecnici, in possesso di una capacità di preparare dati sui prezzi e dell'esperienza necessarie in qualche pacchetto definitivo per l'utilizzo di reti neurali. Il principale svantaggio di questo approccio è che un robot commerciale ottenuto con tali strumenti specializzati per lavorare con reti neurali è in realtà una scatola nera. I commercianti non sanno i suoi principi di funzionamento e, in generale, è impossibile prevedere cosa fase di mercato sarà il più problematico per il robot. I programmatori spesso scelgono il quarto approccio che iniziare a fare un robot commerciale sin dall'inizio senza spendere tempo per il trading manuale. Perché il commercio manualmente È possibile effettuare un robot spendere un paio di mesi e raccogliere i frutti dei vostri sforzi allora. Ma nessun dolore, nessun guadagno. Nella maggior parte dei casi, i programmatori iniziano la creazione di tutte le infrastrutture necessarie utilizzando un linguaggio di programmazione familiare, piuttosto che solo facendo un robot commerciale ottenere e dati relativi ai prezzi di elaborazione, rappresentazione visiva di grafici e indicatori, mezzi personalizzate di strategie di sperimentazione su dati storici e così via. Guadagnano molta esperienza nel processo. Ma nella maggior parte dei casi, tale esperienza non avvicinarle alla creazione obiettivo finale di un sistema automatizzato di negoziazione. E anche se è stato creato un robot commerciale, non vi è alcuna garanzia che sarà redditizio. E se un programmatore vuole scrivere un altro sistema di negoziazione errori di ristrutturazione e nuova programmazione profonde sono inevitabili. C'è anche il quinto approccio acquistare un sistema commerciale preconfezionata nella forma di un robot commerciale. In questo caso, un operatore agisce come un operatore o un sintonizzatore. Questo approccio consente di risparmiare molto tempo (non c'è bisogno di imparare molte cose nuove) e consente agli operatori di entrare rapidamente nel mondo del trading automatico. Lo svantaggio principale di questo approccio deriva da i suoi vantaggi non si sa i principi di funzionamento del vostro robot commerciale e la sua struttura. E anche se un venditore vi ha fornito una descrizione dettagliata del sistema di trading implementato, non si sarà mai completamente sicuro in esso. Tuttavia, nessuno dei due approcci menzionati può dare garanzia assoluta ad eccezione di un deposito bancario. Ma questa non è una soluzione molto adatta per le persone interessate nel commercio di mercato e modi per aumentare il loro patrimonio privato. Qual è l'approccio migliore per il trading automatizzato per un commerciante Ciascuno dei cinque approcci descritti ha i suoi vantaggi e corrisponde a un certo tipo definito di commerciante. E 'improbabile che si sceglierà il primo approccio (mercato descrizione analitica) senza buon background matematico. È altrettanto improbabile che si inizierà a fare trading robot basati su reti neurali. Tuttavia, entrambi questi approcci sono molto eccitante e fornire un buon esercizio intellettuale. Di seguito si discuterà solo il secondo approccio, che è già considerata quella classica. Questo è l'approccio di solito scelto dai nuovi seguaci del trading automatico, come l'analisi tecnica rimane l'area conoscenze chiave quando si impara nozioni di base di negoziazione. Un altro vantaggio del secondo approccio è che dopo si spende un po 'di tempo per il trading manuale e ottenere il senso del mercato, si avrà già una buona conoscenza di strumenti di analisi tecnica. Inoltre, si sarà in grado di programmare strategie di trading o di creare reti neurali su un livello più alto. I primi passi per rendere un robot commerciale Per rendere un sistema di trading automatizzato, è necessario competenze e le conoscenze di tutte le complessità di lavorazione richieste commerciali di programmazione. Ma prima si può iniziare dalle Expert Advisor robot commerciali pronti dalla biblioteca libera Codice di base. Scaricare qualunque Expert Advisor (robot commerciale) e lanciarlo nella strategia Tester di MetaTrader 4 o MetaTrader 5 terminali client. Selezionare un intervallo di storia che mostra una forte tendenza e un intervallo di una TV. Eseguire l'ottimizzazione dei parametri di input un consulente esperto ed esaminare le loro differenze a questi due intervalli. Avviare un Expert Advisor con i parametri ottimali per un piatto su un intervallo di tendenza e con i parametri ottimali per una tendenza a un intervallo piatta. Esaminare le differenze nei risultati commerciali, si occupa distribuzioni e altri parametri statistici. Come risultato, si sa quanto il comportamento del sistema di trading può variare quando la situazione del mercato cambia. Sarebbe meglio per provare diverse strategie di trading standard che utilizzano questo metodo su diverse parti della storia e vari simboli. Tale periodo di prova impedisce di montare un sistema di negoziazione per un certo intervallo di storia definita e fornisce una migliore comprensione dei sistemi di tendenza e controtendenza. Il passo successivo sarebbe quello di creare sistemi di trading più complessi basati sulla combinazione di segnali semplici già esistenti da MQL5 guidata set. È possibile testare e sviluppare la vostra intuizione commerciale smistamento segnali negativi di un sistema che utilizza un filtro basato su un altro sistema senza mezzi di programmazione. La cosa principale è di non overachieve. I più parametri di input di un sistema di negoziazione ha, più facile è quello di essere montato. Ci sono state molte discussioni sulle differenze tra l'ottimizzazione e il montaggio. Non ci sono soluzioni ampiamente accettati qui. Ma la visualizzazione dei risultati testoptimization e il proprio buon senso può aiutare. Imparare a identificare i parametri di input più critici che interessano il sistema di trading da l'intero insieme di dati di input. Non prestare molta attenzione ai parametri secondari che richiedono tempo durante l'ottimizzazione, ma non influenzano la logica stessa del sistema. Ricordate che un buon sistema di trading dimostra sempre un piccolo movimento privo di parametri secondari, ma non visualizza drammatica la volatilità in caso di cambiamenti del mercato trascurabili. Si può spendere così tanto tempo in questa fase, come si desidera, fino a quando si è sicuri che si può comprendere qualsiasi strategia di trading analizza i risultati dei test e ottimizzazione. La conoscenza dei punti di forza e di debolezza dei sistemi standard vi permetterà di essere meglio preparati quando si crea il proprio robot commerciale. Programmazione di un robot commerciale Si supponga di avere learnedare apprendimento MQL4 o di programmazione MQL5 lingua e ora si è pronti a scrivere il tuo primo terminale del cliente Expert Advisor per MetaTrader. Diversi casi sono possibili qui. In primo luogo, è possibile esaminare diversi trading robot pronti descritti negli articoli per capire meglio complessità di programmazione. In secondo luogo, è possibile porre domande su MQL4munity o MQL5munity. se avete problemi irrisolti. partecipanti della comunità con esperienza di solito aiutano i nuovi arrivati ​​che mostrano sincero interesse per l'argomento. In terzo luogo, è possibile ordinare imrpovement o lo sviluppo di un Expert Advisor o di un indicatore in servizio Jobs. se non si è in grado di scrivere un programma necessario per conto proprio. Ma anche se si effettua un ordine tramite il servizio free-lance, si dovrebbe avere qualche idea su test strategia per trovare un linguaggio comune con uno sviluppatore. Inoltre, la conoscenza di base di un linguaggio di programmazione consente di implementare correzioni minori e modifiche nel codice dopo che il lavoro è stato già completato. Dopo tutto, non sarebbe troppo comodo per chiamare un programmatore per risolvere ogni piccolo problema si incontrano. Sarebbe molto più facile e più veloce per risolvere il problema da soli. Non c'è bisogno di reinventare la ruota Come trovare la propria strategia di trading, o almeno in quale direzione si dovrebbe concentrare la ricerca Tutti i commercianti di proteggere i propri sistemi di trading, se ne hanno uno. Tutti i nuovi arrivati ​​vogliono creare un sistema redditizio o di ottenere uno ready-made. Allo stesso tempo, la soluzione ottenuta sembra essere troppo semplice rispetto ai nuovi idee su un sistema commerciale autentico. uomini dell'esercito di tutto il mondo sono inclini a livelli eccessivi di segretezza. Ci sono molti scherzi circa che, tra cui la seguente: Il segreto militare non è in ciò che si sta studiando, - dice un ufficiale per gli studenti delle scuole militari, - ma nel fatto che esattamente si sta studiando. La situazione con i sistemi di trading è simile a sufficienza: la maggior parte dei commercianti utilizzare idee di trading semplici e noti con piccole modifiche, per esempio, l'aggiunta di Trailing Stop o conferme da indicatori di tendenza. Ci sono un sacco di forum commerciante con accesso limitato in cui i partecipanti si uniscono i loro sforzi per sviluppare o migliorare alcuni sistemi di trading segreti. La maggior parte cosa interessante è che tali sistemi non contengono nulla di speciale a tutti. Solitamente un'idea noto (come commercio con la tendenza) viene utilizzato come base. Poi si è perfezionato con alcuni nuovi indicatori sconosciuti al grande pubblico. Pertanto, si può facilmente prendere i codici sorgente di robot di trading disponibili e cercare di usarli correttamente con i vari simboli e tempi. Un altro detto popolare può essere menzionata qui: Tu non come i gatti È appena non sai come cucinare loro E 'difficile da credere, ma la probabilità che si svilupperà qualcosa di veramente nuovo è molto piccolo. La cosa più importante è quello di creare un sistema che utilizza ingredienti disponibili. Non pensare che alcuni geni hanno accesso ad alcuni sistemi segreti dai laboratori della NASA. Questo è il segreto del Graal. Solo pochi renderà attraverso così, perché non fa le idee un uso commerciale, se essi sono letteralmente a portata di mano La risposta probabilmente sta nella psicologia umana. Il personale di molte banche e grandi fondi di investimento comprende gli operatori che effettuano offerte in base alle leggi severe e all'interno di volumi limitati. Ma per alcuni motivi, solo pochi operatori istituzionali lasciano le loro aziende e iniziare a fare trading con il proprio denaro. Si scopre che è necessario non solo una strategia di trading, ma anche la disciplina di ferro per seguirla. Molti commercianti scoperto con rammarico che hanno anche gli stessi problemi psicologici descritti nei libri. Dopo aver realizzato che il peggior nemico dei commercianti sono essi stessi, un nuovo arrivato inizia a pensare di fare un robot commerciale per eliminare un peso psicologico. Anche se ho un po 'divagare rispetto all'argomento, vorrei ricordare i leggendari commercianti Tartarughe che commerciavano con successo su più mercati nel tardo 20 ° secolo. Leggi Via della Tartaruga e vedrete che la cosa più importante per un commerciante è un auto-disciplina e non certo sistema top secret. Purtroppo, la maggior parte dei nuovi arrivati ​​non saranno in grado di seguire una strategia proficua, anche se ottengono gratuitamente. Il problema è che la maggior parte delle strategie di trading che sono perfettamente equipaggiate per il trading manuale difficilmente possono essere formalizzate e trascritti per un linguaggio di programmazione. Le strategie che possono essere facilmente formalizzate (per esempio, quelli che coinvolgono due medie mobili intersezione) sono troppo semplici e richiedono molti perfezionamenti e miglioramenti, in modo che possano essere utilizzati nella pratica. Così, una semplice idea è progressivamente complicata da un sacco di parametri esterni che impediscono un robot commerciale dalle false voci e gli errori ben visibili per uno sviluppatore. Un problema di ottimizzazione robot commerciale emerge. Questo processo non dovrebbe trasformarsi in un sovraottimizzazione e adatta per un determinato intervallo di storia. Per risolvere questo problema, la sperimentazione in avanti utilizzando i parametri di sistema ottenuti è stato implementato in MetaTrader 5 terminale. Se i risultati dei test a termine non si discostano significativamente da quelli ottenuti nella sezione ottimizzazione, vi è una probabilità che un robot commerciale sarà abbastanza stabile per qualche tempo dopo il suo lancio su un conto di trading. Una lunghezza di un intervallo per i parametri di ottimizzazione e un valore effettivo di tale tempo dipendono da un certo sistema commerciale. Così, l'ottimizzazione di un robot commerciale prima di lanciare su un conto trading ricorda rilassarsi un'imbracatura - più accuratamente abbiamo srotolato e gettato un proiettile dalla imbracatura, più lontano volerà e più accurata la sua traiettoria sarà. Un robot commerciale completamente sviluppato manterrà un risultato positivo su un conto di negoziazione per un tempo più lungo di un robot commerciale ottenuto come risultato di un raccordo. Possiamo dire che il Graal è una idea di lavoro e la corretta regolazione dei parametri effettuate di volta in volta nei momenti delle condizioni di mercato cambiamenti. Ciò può essere illustrato dai risultati del Campionato Automated Trading che si tiene da molti anni già. Inviato Expert Advisors di tutti i partecipanti passano attraverso test automatici l'intervallo di tempo da gennaio a fine luglio. Il requisito principale per passare il test automatico è un profitto guadagnato per otto mesi di test. Ma meno della metà di trading robot ammesse per il Campionato rimanere redditizio dopo di te mesi di lavoro autonomo. Si può anche provare la tua abilità nel fare e adattando lo robot commerciale a partecipare al campionato e ottenere i risultati dei test a termine di tuo Expert Advisor. Inoltre, la partecipazione è gratuita ed i premi sono impressionanti. Speriamo di vedervi lì Conclusione professionista trader intraday trascorrono molte ore seduti davanti al computer e in attesa del momento giusto per eseguire un affare. Naturalmente, essi non possono essere in forma tutto il tempo. La maggior parte dei commercianti giungono alla conclusione che le loro azioni violano le proprie regole di negoziazione. Non tutti i sistemi di trading possono essere completamente formalizzate ma anche tali sistemi possono in molti casi adottare strumenti aggiuntivi, come gli indicatori, sistemi di analisi e filtri falsi segnali. Noi non facciamo eventuali raccomandazioni speciali qui riguardanti MQL4 o MQL5 apprendimento delle lingue, come ci sono un sacco di altri articoli utili concernenti la materia. Lo scopo di questo articolo è stato quello di fornire qualche idea iniziale su come iniziare a fare il vostro robot commerciale per MetaTrader 4 e MetaTrader 5 terminali. Speriamo che questo articolo farà risparmiare tempo per i nuovi arrivati ​​e indicare la direzione giusta nel difficile compito di sviluppare un sistema di trading automatico. Attenzione: Tutti i diritti di questi materiali sono riservati a MQL5 Ltd. La copia o ristampa di questi materiali in tutto o in parte è prohibited. How per costruire il proprio sistema Automated Trading in Python Come costruire il proprio sistema di trading automatizzato in Python Panoramica del corso: in questo seminario imparerete come sviluppare le proprie coppie di valute, CFD e commodities trading system automatico utilizzando Python e la piattaforma Oanda. Al termine del seminario, si sarà in grado di: Acquisire una cervi comprensione di Python e il suo ecosistema piattaforma utilisé Oanda e le sue tariffe API Estratto di mercato aggiornate Scarica un elenco di strumenti negoziabili (coppie di valute, CFD e materie prime) sulla Oanda Piattaforma ottenere informazioni sul conto, il margine utilizzato, ordini aperti. Panoramica del corso: In questo seminario imparerete come sviluppare le proprie coppie di valute, CFD e materie prime sistema di trading automatico utilizzando Python e la piattaforma Oanda. Al termine del seminario, si sarà in grado di: Acquisire una cervi comprensione di Python e il suo ecosistema piattaforma utilisé Oanda e le sue tariffe API Estratto di mercato aggiornate Scarica un elenco di strumenti negoziabili (coppie di valute, CFD e materie prime) sulla Oanda Piattaforma ottenere informazioni sul conto, il margine utilizzato, ordini aperti, posizioni aperte, realizzate e profitti non realizzati e la perdita di creare e gestire ordini aperti eseguire la gestione del commercio (monitor, modificare o chiudere) Eseguire la gestione posizione aggregata (monitor, modificare o chiudere) Scarica la cronologia delle transazioni per ulteriori stream tassi di analisi di mercato dal vivo Questo seminario è presentato da Anthony Ng, NYP docente. Anthony Ng: è docente presso il Politecnico di Nanyang insegnamento bancario, finanziario, di investimento e gestione del portafoglio. Si assiste Quantopian per condurre Trading algoritmico Workshop a Singapore e ha presentato nel recente QuantCon di Singapore 2016 sul tema della Time Series Momentum. Appassionato con la finanza, la scienza dei dati e pitone, Anthony goduto la ricerca, l'insegnamento e la condivisione su questi temi. Anthony ha studiato Master of Science in ingegneria finanziaria a NUS di Singapore. Si può raggiungere o rintracciarlo su: 8 partecipanti (30 invitati) MetaTrader 5 - Esempi Crea il tuo trading robot a 6 punti One More Time sulla MQL5 guidata Il mondo intorno a noi sta cambiando rapidamente, e noi cerchiamo di tenere il passo con essa. Non abbiamo tempo per imparare qualcosa di nuovo, e questo è un atteggiamento normale di un normale essere umano. I commercianti sono persone come tutti gli altri, che vogliono ottenere il massimo risultato per il minimo sforzo. Specialmente per i commercianti, MetaEditor 5 offre una meravigliosa MQL5 Wizard. Ci sono diversi articoli che descrivono come creare un sistema di trading automatico utilizzando la procedura guidata, tra cui una versione leggera MQL5 Wizard for Dummies e una versione da parte degli sviluppatori - MQL5 Wizard: nuova versione. Sembra tutto buono - un robot commerciale è creato in 5 click del mouse, è possibile verificare nel Tester strategia ed ottimizzare i parametri di un sistema di negoziazione, si può lasciare che il commercio robot risultante sul vostro conto senza la necessità di fare qualsiasi altra cosa manualmente . Ma il problema sorge quando lo sviluppatore un traderMQL5 vuole creare qualcosa di suo, qualcosa di unico che non è mai stato descritto da nessuna parte, e sta andando a scrivere il proprio modulo di segnali di trading. Il commerciante si apre la documentazione MQL5, arriva alla libreria standard, ed è inorridito a vedere. Cinque classi terribili vero, il MQL5 Wizard semplifica notevolmente la creazione di Expert Advisor, ma prima è necessario imparare ciò che verrà utilizzato come input per esso. Per creare automaticamente un Expert Advisor utilizza il MQL5 guidata, fare in modo che i suoi componenti aderiscono a cinque classi di base delle classi sezione di base di Expert Advisor: CExpertBase è una classe base per altre quattro classi. CExpert è la classe per la creazione di un robot commerciale questa è la classe che commercia. CExpertSignal è una classe per la creazione di un modulo di segnali di trading l'articolo è su questa classe. CExpertTrailing è una classe per trailing uno Stop Loss proteggere. CExpertMoney è la classe di gestione del denaro. Qui è l'intera forza del grande e terribile approccio che si chiama programmazione orientata agli oggetti (OOP). Ma non abbiate paura, ormai quasi tutti hanno un telefono cellulare con un sacco di funzioni, e quasi nessuno sa come funziona. Non abbiamo bisogno di studiare tutto questo, discuteremo solo alcune funzioni della classe CExpertSignal. In questo articolo andremo a passare attraverso le fasi di creazione di un modulo di segnali di trading. e si vedrà come fare questo senza dover imparare OOP o le classi. Ma se si vuole, si può andare un po 'oltre, allora. 1. Creazione di una classe da zero Non modificare qualsiasi modulo esistente di segnali di trading per i nostri bisogni, perché è il modo per ottenere confuso. Pertanto, ci limiteremo a scrivere la nostra classe, ma prima useremo il Navigatore per creare una nuova cartella per memorizzare i nostri segnali in MQL5IncludeExpert. Fai clic destro sulla cartella che abbiamo creato, selezionare Nuovo file e creare una nuova classe per il nostro modulo di segnali di trading. Compilare i campi: Nome classe - il nome della classe. Questo sarà un modulo per generare segnali all'intersezione di due medie mobili, così lascia denominarlo Macross. Nome Base è la classe da cui è derivata la nostra classe. E dovremmo derivare dalla CExpertSignal classe di base. Fare clic su Fine e un progetto del nostro modulo di noi pronto. Tutti i suoi est fino ad ora. Abbiamo solo bisogno di aggiungere l'inclusione dichiarazione al file risultante in modo che il compilatore sa dove trovare la classe di base CExpertSignal Controllare la classe risultante (deve essere privo di errori di compilazione) e fare clic su F7. Non sono presenti errori e si può passare. 2. una maniglia per il modulo La nostra classe è completamente vuoto, non ha errori e possiamo provarlo - proviamo a creare un nuovo Expert Advisor nella MQL5 guidata basato su di esso. Raggiungiamo la fase di scegliere un modulo di segnali di trading e vedere. che il nostro modulo non è lì. E come può essere lì non aggiungiamo eventuali indicazioni per l'MQL5 guidata per capire che la nostra classe potrebbe essere qualcosa di utile. Consente di risolvere questo problema. Se si guardano i moduli del pacchetto standard, youll vedere che ognuno di essi contiene un'intestazione all'inizio del file. Questa è la maniglia del modulo compilato secondo certe regole. E le regole sono molto semplici. Aperto, per esempio, il codice sorgente del modulo di segnali di trading basate AMA (vedi la descrizione logica Segnali del Adaptive media mobile.) Ed eseguire il MQL5 guidata scegliere questo modulo. Confronto: L'ultimo blocco nel manico si riferisce ai parametri del modulo, la prima riga contiene il nome del modulo da visualizzare nella MQL5 guidata. Come si può vedere, non vi è nulla di complicato. Così, la maniglia di ogni modulo contiene le seguenti voci: Titolo - il nome del modulo da visualizzare nella MQL5 guidata. Tipo - la versione del modulo di segnali. Deve essere sempre SignalAdvanced. Nome - il nome del modulo dopo la sua è selezionato nella MQL5 guidata e viene utilizzato nei commenti per descrivere i parametri interni del generato Expert Advisor (preferibilmente specificato). ShortName - un prefisso per la denominazione automatica dei parametri esterni nel generato Expert Advisor (sotto forma di SignalltShortNamegtltParameterNamegt). Class - il nome, che è contenuta nel modulo. Pagina - un parametro per ottenere aiuto per questo modulo (solo per i moduli dalla consegna standard). Segue la descrizione dei parametri sotto forma di Parameterlistofvalues, in cui è specificato quanto segue (separati da virgole): il nome della funzione per impostare il valore del parametro quando si avvia l'Expert Advisor. Il tipo di parametro può essere enumerazione. Il valore predefinito per il parametro, cioè il valore che verrà impostato il parametro, se non si cambia nella MQL5 guidata. Descrizione del parametro, che si vede quando si avvia il consulente esperto generato nel MQL5 guidata. Ora, sapendo tutto questo, consente di creare il manico del nostro modulo di segnali di trading. Quindi, stiamo scrivendo un modulo per ottenere segnali di trading nel punto di intersezione di due medie mobili. Abbiamo bisogno di impostare almeno quattro parametri esterni: FastPeriod - il periodo del digiuno movimento FastMethod media - il tipo di livellamento del rapido movimento SlowPeriod media - il periodo del lento movimento SlowMethod media - il tipo di lisciatura della media lento movimento si potrebbe anche aggiungere un turno e il tipo di prezzi per calcolare ciascuna delle medie mobili, ma non cambia nulla fondamentalmente. Così la versione attuale è la seguente: La maniglia del modulo è pronto, e abbiamo descritto il seguente in esso: il nome visualizzato nella MQL5 Wizard - I segnali all'intersezione di due medie mobili. Quattro parametro esterno per configurare i segnali di trading. FastPeriod - il periodo della media in rapido movimento con il valore predefinito di 13. FastMethod - il tipo di lisciatura della media in rapido movimento, semplice levigatura per impostazione predefinita. SlowPeriod - il periodo della media mobile lenta con il valore predefinito di 21. SlowMethod - il tipo di lisciatura della media mobile lenta, semplice levigatura per impostazione predefinita. Salvare le modifiche e compilare. Non ci dovrebbe essere alcun errore. Eseguire il MQL5 guidata da controllare. Vedete, il nostro modulo è ora disponibile per la selezione, e si vede tutti i nostri parametri Complimenti, il nostro modulo di segnale di trading sembra grande ora 3. Metodi per impostare i parametri Ora è il momento di lavorare con i parametri esterni. Poiché il nostro modulo di trading è rappresentato dalla classe Macross, allora i suoi parametri devono essere memorizzati all'interno della stessa classe di membri privati. Consente di aggiungere quattro linee (pari al numero di parametri) per la dichiarazione della classe. Weve già descritto il parametro nel manico e conoscono il seguente: Ma come si fa i valori dei parametri esterni del modulo appaiono nei membri appropriati della nostra classe Macross E 'tutto molto semplice, è sufficiente dichiarare metodi pubblici con lo stesso nome nella classe, vale a dire, per aggiungere quattro righe alla sezione pubblico: quando si genera un Expert Advisor, sulla base di questo modulo utilizzando la MQL5 Wizard e eseguirlo sul grafico, questi quattro metodi vengono chiamati automaticamente durante l'inizializzazione l'Expert Advisor. Così qui è una semplice regola: la regola della creazione parametro nel modulo - per ogni parametro che abbiamo dichiarato nel manico, dovremmo creare un membro privato nella classe per memorizzare il suo valore e un membro del pubblico per l'impostazione di un valore ad essa . Il nome del metodo deve corrispondere al nome del parametro. E l'ultimo momento è quello di impostare valori di default per i nostri parametri che verranno utilizzati nel caso in cui i metodi di impostazione del valore non sono chiamati. Ogni membro variabile o classe dichiarata deve essere inizializzato. Questa tecnica permette di evitare molti errori difficili da individuare. Per l'inizializzazione automatica, il migliore adattandosi è il costruttore della classe è sempre il primo ad essere chiamato durante la creazione di un oggetto. Per i valori di default, useremo quelle scritte nel manico del modulo. Qui i membri della classe sono inizializzati utilizzando l'elenco di inizializzazione. Come si può vedere, noi havent usato in movimento ancora indicatori medi. Abbiamo trovato una regola semplice - come molti parametri sono indicati nel manico del modulo, tanti metodi e aderenti sono nella classe che implementa il modulo. Non c'è nulla di complicato, tuttavia, non dimenticate di impostare valori di default dei parametri sul costruttore. 4. verificare la correttezza dei parametri d'ingresso Abbiamo creato i parametri per il nostro modulo di negoziazione, metodi scritte per l'impostazione dei valori a loro, e ora arriva la prossima fase importante - la correttezza dei parametri deve essere controllato. Nel nostro caso, dobbiamo controllare i periodi di medie mobili e il tipo di smoothing per il loro calcolo. A questo scopo si dovrebbe scrivere il metodo proprio ValidationSettings () nella classe. Questo metodo è definito nella CExpertBase classe genitore. e in tutti i suoi figli è obbligatoriamente ridefinito. Ma se non si sa nulla di programmazione orientata agli oggetti, basta ricordare - nella nostra classe dovremmo scrivere la funzione (), che non richiede parametri e restituisce vero o falso ValidationSettings. Come si può vedere, nella parte pubblica della classe Macross weve aggiunto la dichiarazione del metodo ValidationSettings (), e poi aggiunto il corpo del metodo nella forma seguente: Prima viene il tipo restituito, quindi il nome della classe, poi operatore di risoluzione dell'ambito. e tutto questo è seguito dal nome del metodo precedentemente dichiarato. Non dimenticate che il nome e il tipo di parametri devono corrispondere nella dichiarazione e descrizione del metodo di classe. Tuttavia, il compilatore vi avvertirà di un tale errore. Si noti che prima il metodo della classe base viene chiamato, e poi i parametri di input vengono controllati. Se non si aggiunge questa linea, il generato Expert Advisor non sarà in grado di inizializzare il nostro modulo di segnali di trading. 5. Dove sono i nostri indicatori suo tempo a lavorare con gli indicatori, dal momento che tutto il lavoro di preparazione con i parametri per loro sono state completate. Ogni modulo di segnali di trading contiene il metodo (), che viene chiamato automaticamente quando si esegue il generato Expert Advisor InitIndicators. In questo metodo, dobbiamo fornire indicatori di media mobile per il nostro modulo. First, declare the InitIndicators() method in the class and paste its draft: So there is nothing complicated, we declare the method and then simply create the method body, as we have done for the ValidationSettings() method. Above all, do not forget to insert the class name and the operator. in the function definition. We have a draft, which we can insert into a code to create moving averages. Lets do this properly - for each indicator we create a separate function in the class, which returns true if successful. The function can have any name, but let it reflect its purpose, so lets call the functions CreateFastMA() and CreateSlowMA(). Thats all, we only need to write code that generates the MA indicators and somehow integrates the handles of these indicators into the trading module, so that the module can use the values of these indicators. That is why a pointer to a variable of type CIndicators is passed as a parameter. The following is written in Documentation about it: The CIndicators is a class for collecting instances of timeseries and technical indicators classes. The CIndicators class provides creation of instanced of technical indicator classes, their storage and management (data synchronization, handle and memory management). This means that we must create our indicators and place them in this collection. Since only indicators of the CIndicator form and its children can be stored in the collection, we should use this fact. We will use CiCustom. which is the above mentioned child. For each moving average we declare an object of type CiCustom in the private part of the class: Of course, you can create your own indicator class, which will be derived from CIndicator. and implement all the necessary methods for use with the MQL5 Wizard. But in this case we want to show how you can use any custom indicator in the module of trading signals using CiCustom . Heres how it looks in the code: In the CreateFastMA() method, first check the pointer of the collection of indicators, and then add a pointer of the fast MA mfastma to this collection. Then declare the MqlParam structure, which is especially designed for storing parameters of custom indicators, and fill it with values. We use Custom Moving Average from the standard terminal delivery pack as the custom MA indicator. The name of the indicator must be indicated relative to the folder datafolderMQL5Indicators . Since Custom Moving Average. mq5 from the standard package is located in datafolderMQL5Indicators Examples, we specify its path including the Examples folder: If you look at the code for this indicator, you can see all the required data: The values of the structure contain the type-value pairs: parameter type - string (to transfer the name of the indicator) the name of the executable file of the custom indicator - Custom Moving Averages. exe parameter type - int (value of the period) period of the moving average parameter type - int (shift value) horizontal shift of the average in bars parameter type - int (enumeration value is an integer) method of averaging After filling the structure, the indicator is initialized by the Create() method of all the required parameters: symbol name and the timeframe on which it is calculated, the type of the indicator from the ENUMINDICATOR enumeration, the number of indicator parameters and the MqlParam structure with parameter values. And the last one is specifying the number of indicator buffers using the NumBuffers() method. The CreateSlowMA() method for creating the slow moving average is simple. When using custom indicators in the module, do not forget that the Expert Advisor generated by the MQL5 Wizard will also run in the tester. So at the beginning of our file we add the property property testerindicator that communicates to the tester the location of required indicators: If we use several different indicators, we should add this line for each of them. So, we have added the indicators. For more convenience, lets provide two methods of receiving MA values: As you can see, the methods are very simple, they used the GetData() method of the SIndicator parent class, which returns a value from the specified indicator buffer at the specified position. If you need classes for working with classical indicators of the standard package, they are available in section Classes for working with indicators. We are ready to proceed to the final stage. 6. Define the LongCondition and ShortCondition Methods Everything is ready to make our module work and generate trading signals. This functionality is provided by two methods that must be described in each child of CExpertSignal. LongCondition() checks the buy conditions and returns the strength of the Long signal from 0 to 100. ShortCondition() - checks the sell condition and returns the strength of the Short signal from 0 to 100 . If the function returns a null value, it means that there is no trading signal. If there are conditions for the signal, then you can estimate the strength of the signal and return any value not exceeding 100. Evaluation of the signal strength allows you to flexibly build trading systems based on several modules and market models. Read more about this in MQL5 Wizard: New Version . Since we are writing a simple module of trading signals, we can agree that the buy and sell signals are valued equally (100). Lets add necessary methods in the class declaration. Also, lets create the description of functions. This is how the buy signal is checked (its all the same with the sell signal): Note that we have declare the idx variable, to which the value returned by the StartIndex() function of the parent class CExpertBase is assigned. The StartIndex() function returns 0, if the Expert Advisor is designed to work on all ticks, and in this case the analysis starts with the current bar. If the Expert Advisor is designed to work at open prices, StartIndex() returns 1 and the analysis starts with the last formed bar. By default StartIndex() returns 1 . which means that the Expert Advisor generated by the MQL5 Wizard will only run at the opening of a new bar and will ignore incoming ticks during formation of the current bar. How to activate this mode and how it can be used will be described later in the finishing stroke. The module is ready for use, so lets create a trading robot in the MQL5 Wizard based on this module. Checking an Expert Advisor in the Tester To test the efficiency of our module, lets generate an Expert Advisor based on it in the MQL5 Wizard and run it on the chart. The Inputs tab of the appeared start window contains the parameters of the MACross module. All other parameters have also been added by the MQL5 Wizard while generating the EA based on the selected money management module and position maintenance module (Trailing Stop). Thus, we only had to write a module of trading signals and received a ready solution. This is the main advantage of using the MQL5 Wizard Now lets test the trading robot in the MetaTrader 5 Strategy Tester. Lets try to run a quick optimization of key parameters. In these settings of input parameters, more than half a million of passes is required for full optimization. Therefore, we choose fast optimization (genetic algorithm) and additionally utilize MQL5 Cloud Network to accelerate the optimization. The optimization has been done in 10 minutes and we have got the results. As you can see, creating a trading robot in MQL5 and optimization of input parameters have taken much less time than would be required for writing the position management servicing logic, debugging and searching for the best algorithms. You can skip this item or go back to it later when you are completely comfortable with the technique of writing a module of trading signals. If you open the source code of the Expert Advisor generated by the MQL5 Wizard, you will find the global variable ExpertEveryTick with the false value. Based on this variable, the StartIndex() function returns its value. It communicates to the Expert Advisor the mode it should run in. If you set ExpertEveryTick true and compile the code, the trading robot will analyze each incoming tick, and thus make decisions on the values of the current incomplete bar. Do this only if you understand how it works. Not all trading systems are designed to work inside the bar. You can also add a keyword input for the ExpertEveryTick parameter, and then you will have a new input parameter of the Expert Advisor. which you can set at the EA startup on a chart or in the tester: And now its time to summarize what we have done. 6 Steps to Create a Module of Trading Signals If you have mastered MQL5, then you no longer need to write an Expert Advisor from scratch. Just create a module of trading signals and, based on this module, automatically generate a trading robot with the enabled trailing and trade volume management modules. And even if you are not familiar with OOP or do not want to delve much into the structure of trade classes, you can just go through 6 steps: Create a new class using the MQL5 Wizard in a separate folder MQL5IncludeMySignals. Our module of trading signals will be stored there. Create a module handle that describes the parameters, their type and default values. Declare module parameters in the class and add methods for initialization in the constructor. Check the input parameters and do not forget to call ValidationSettings() of the CExpertSignal base class. Create indicator-objects and add a predefined initialization method InitIndicators(). Identify conditions of trading signals in the methods LongCondition() and ShortCondition(). Each step is simple and requires little skill in MQL5 programming. You only need to write your module once, following the instructions, and further verification of any trade idea will take no more than an hour, without tiring hours of coding and debugging. From Simple to Complex Remember that the trading strategy implemented by your trading robot created using the MQL5 Wizard, is as complex as the module of trading signals it uses. But before you start to build a complex trading system based on a set of rules for entry and exit, split it into several simple systems and check each one separately. Based on simple modules you can create complex trading strategies using the ready-made modules of trading signals, but this is a topic for another articleTrading Systems Coding Trading systems are simply sets of rules that traders use to determine their entries and exits from a position. Lo sviluppo e l'utilizzo di sistemi di trading può aiutare gli operatori a raggiungere rendimenti costanti limitando il rischio. In una situazione ideale, gli operatori devono sentirsi come i robot, l'esecuzione di traffici in modo sistematico e senza emozione. Così, forse youve chiesti: cosa per fermare un robot dalle negoziazioni mio sistema La risposta: Niente Questo tutorial vi introdurrà agli strumenti e le tecniche che è possibile utilizzare per creare il proprio sistema di trading automatizzato. Trading Systems Come sono automatizzati creati sistemi di trading automatici sono creati convertendo le regole dei sistemi di trading in codice che il computer può capire. Il computer esegue quindi quelle regole tramite il software di trading, che si presenta per le negoziazioni che aderiscono alle regole. Infine, i mestieri sono automaticamente collocati con il proprio broker. Questo tutorial si concentrerà sulle seconda e terza parte di questo processo, in cui le regole vengono trasformati in un codice che il software di trading in grado di comprendere e utilizzare. Quali Trading software supporta Automated Trading Systems Ci sono molti programmi di trading che supportano i sistemi di trading automatico. Alcuni genererà automaticamente e commerci con il proprio broker. Altri troveranno automaticamente mestieri che si adattano ai tuoi criteri, ma richiedono di posizionare gli ordini con il proprio broker manualmente. Inoltre, i programmi di trading completamente automatici spesso richiedono l'uso di intermediazione specifici che supportano tali caratteristiche si può anche avere per completare un modulo di autorizzazione aggiuntivo. Vantaggi e svantaggi e sistemi automatizzati di negoziazione hanno diversi vantaggi, ma hanno anche i loro lati negativi. Dopo tutto, se qualcuno aveva un sistema commerciale che ha reso automaticamente il denaro per tutto il tempo, lui o lei sarebbe letteralmente possedere una macchina per fare soldi Vantaggi: Un sistema automatizzato prende l'emozione e occupato-lavoro di trading, che consente di concentrarsi sul miglioramento la vostra strategia e di gestione del denaro regole. 13 Una volta che un sistema redditizio è sviluppato, non richiede alcun lavoro da parte vostra fino a quando si rompe, o le condizioni di mercato richiedono un cambiamento. Svantaggi: Se il sistema non è correttamente codificato e testato, grandi perdite possono verificarsi molto rapidamente. 13 A volte è impossibile mettere alcune regole in codice, il che rende difficile sviluppare un sistema di trading automatico. In questo tutorial imparerete come pianificare e progettare un sistema di trading automatico, come tradurre questo progetto in codice che il computer capirà, come testare il vostro piano per garantire prestazioni ottimali e, infine, come mettere il vostro sistema di utilizzare. Sistemi commercianti dividono il loro tempo tra il commercio, lo sviluppo, test a ritroso, l'ottimizzazione e la sperimentazione in avanti, per creare sistemi di trading vitali e ad alta probabilità. Automated forex trading software esegue la scansione del mercato per le negoziazioni favorevoli, sulla base di input. Per saperne di più su questo strumento forex prezioso. Un sistema di trading può risparmiare tempo e prendere l'emozione di trading, ma l'adozione di uno richiede abilità e risorse - saperne di più qui. La maggior parte dei broker vi fornirà record di categoria, ma it039s anche importante tenere traccia da soli. Software ha reso giorno di negoziazione rapido e automatico - a maggior ragione di essere il più accurato possibile al momento di scegliere quello giusto per le vostre esigenze. Domande frequenti Il fossato economica a lungo termine, coniato e reso popolare da Warren Buffett, si riferisce ad una capacità di business per mantenere vantaggi competitivi. Scopri le differenze tra società in nome collettivo e le società a responsabilità limitata ogni tipo ha caratteristiche uniche, i vantaggi. Scopri la storia della SampP 500, che sofisticati operatori di mercato ritengono essere l'indice migliore per capire. Scoprire quali paesi hanno le tariffe di importazione più restrittive sui prodotti internazionali, sulla base dei dati raccolti dal. Domande frequenti Il fossato economica a lungo termine, coniato e reso popolare da Warren Buffett, si riferisce ad una capacità di business per mantenere vantaggi competitivi. Scopri le differenze tra società in nome collettivo e le società a responsabilità limitata ogni tipo ha caratteristiche uniche, i vantaggi. Scopri la storia della SampP 500, che sofisticati operatori di mercato ritengono essere l'indice migliore per capire. Scoprire quali paesi hanno le tariffe di importazione più restrittive sui prodotti internazionali, sulla base dei dati raccolti dal.

No comments:

Post a Comment