Programmare la tua strategia in 10 passaggi con l’Expert Advisor Universale e Open Source

EA SUPER TESTER Programma di test multi-thread per Expert Advisor.
EA SUPER TESTER Programma di test multi-thread per Expert Advisor.

Table of Contents (click to show)

List

Descrizione

The X è un costruttore di strategie di trading.

Abbiamo sviluppato un Expert Advisor Universale che comprende tutte le funzioni più intriganti ed essenziali.

Inoltre, è stato incorporato un modulo di segnali che utilizza indicatori standard.

Questo è un costruttore di strategie, che ti permette di programmare la tua strategia personale.

È iniziato come un progetto che ha guadagnato una notevole popolarità. Per 15 anni, abbiamo affinato l’algoritmo, aggiunto nuove funzioni e indicatori, e corretto errori di funzione.

Questo articolo ti guiderà attraverso la programmazione della tua strategia, l’integrazione degli indicatori nell’advisor e l’aggiunta di nuovi segnali e filtri.

Open Source

Una domanda ricorrente che riceviamo è:

  1. Posso integrare i miei indicatori in un advisor?
  2. Quanto costa il codice open-source dell’Expert Advisor?

Non è un segreto che offriamo il codice open-source del nostro advisor in vendita. Questo è pensato per i trader che desiderano sviluppare i propri advisor o costruire i propri segnali.

Inoltre, i trader acquistano spesso il codice open-source per implementare le loro strategie proprietarie e rivendere l’advisor.

  1. Il codice open-source dell’advisor The X può essere acquistato nel nostro Mercato degli Advisor di Trading.
  2. Open Source The X per MetaTrader 5 (Non disponibile)
  3. Open Source The X per MetaTrader 4 (Non disponibile)
  4. A proposito, abbiamo molti codici open-source per i nostri advisor. Sezione: Advisor di Strategia (Open Source)
  5. Prova i nostri Template Open Source.
https://expforex.com/it/templates/

Programmare advisor con indicatori è un processo complesso.

Offriamo servizi di programmazione per advisor di trading. Tuttavia, il processo di sviluppo spesso subisce ritardi perché i clienti non sono sicuri delle funzioni di cui hanno bisogno.

The X è una raccolta di blocchi e funzioni per il trading sul mercato FOREX, utilizzata a livello globale. Abbiamo sviluppato funzioni che vengono utilizzate frequentemente, consentendo all’advisor di soddisfare il 90% delle esigenze di ogni trader.

Naturalmente, ci sono strategie uniche che i programmatori esperti devono sviluppare.

Tali strategie sono rare e richiedono una preparazione meticolosa. Il costo di questo lavoro dipende dalla sua complessità.

Il Vero Valore del Nostro Advisor

Partendo dal nostro articolo sul costo del lavoro di un programmatore, possiamo stimare il costo approssimativo del nostro robot di trading, The X:

Il nostro EA contiene oltre 10.000 righe di codice. Anche se può sembrare eccessivo, è gestibile perché non scriviamo advisor usando PL/SQL (Programming Language/Structured Query Language). Perché? Perché l’OOP (Object-Oriented Programming – Programmazione Orientata agli Oggetti) non è familiare a molti, e gestire l’OOP può essere piuttosto impegnativo!

Quindi, calcoliamo:

  1. Il costo di 1 ora di lavoro di un programmatore = $20 quando programma funzioni e algoritmi.
  2. Il costo di 1 ora di correzione errori = $5.
  3. Il costo della scrittura di testi e video = $10 (Questo prezzo si basa sulle tariffe internet; creo io stesso tutte le istruzioni e i video).
  4. Supponiamo che la scrittura di funzioni e blocchi per The X abbia richiesto oltre 1.000 ore!
  5. Programmare segnali usando indicatori è semplice. Pertanto, supponiamo ci siano volute 10 ore!

Tuttavia, alcuni aspetti non possono essere completati immediatamente:

  1. Il debugging delle funzioni può richiedere altre 1.000 ore!
  2. Lo sviluppo di istruzioni, video e promozioni richiede anche 1.000 ore!

In totale, abbiamo investito oltre 3.000 ore!

Se dovessimo commissionare un tale algoritmo, rifiuteremmo. Non è né ragionevole né redditizio.

Il costo totale di un tale expert advisor personalizzato è di oltre $35.000! Tuttavia, il nostro advisor è venduto a un prezzo dieci volte inferiore!!!!

Il costo del nostro open-source è DIECI volte inferiore!

Tali ordini personalizzati non vengono mai evasi:

  1. In primo luogo, perché i clienti non sono disposti a investire una somma così significativa di denaro.
  2. In secondo luogo, i programmatori sono riluttanti a dedicare così tanto tempo allo sviluppo.

Vi assicuro che programmare un robot di trading così complesso richiede più tempo della creazione di una strategia di trading.

Il debugging di tutti i blocchi e le funzioni richiede molto tempo.

Siamo estremamente grati ai nostri clienti che hanno individuato errori e fornito correzioni negli ultimi cinque anni, oltre ad aver contribuito con le loro funzioni e indicatori per migliorare la funzionalità dell’advisor THE X.

Programmare la Tua Strategia di Trading Forex

Innanzitutto, voglio menzionare che abbiamo aggiornato il codice del nostro expert advisor. Ora è molto facile da capire e ben commentato.

Non è necessario approfondire ogni funzione in dettaglio. Puoi programmare la tua strategia in soli 10 passaggi.

Abbiamo preparato un metodo molto user-friendly per lavorare con il nostro open source.

Ricorda: Non programmiamo strategie per l’advisor gratuitamente. Se vuoi sviluppare codice per la tua strategia, fai riferimento alla sezione Programmazione per effettuare un ordine!

Primi Passi:

  1. Apri il codice open-source dell’advisor che hai acquistato dal nostro Mercato degli Advisor;
  2. Premi Ctrl + F per attivare la barra di ricerca;
  3. Inserisci il termine Step – Questa parola chiave ti aiuterà a navigare nel nostro codice sorgente e a scrivere rapidamente la tua strategia.
  4. Funzione di Ricerca nel Codice Sorgente
  5. Ogni passaggio è ben commentato e fornisce un esempio.
  6. Per imparare a programmare la tua strategia, puoi decommentare gradualmente le righe contrassegnate da un asterisco // *.

In totale, ci sono 10 passaggi nel codice open-source affinché l’advisor possa funzionare con i tuoi indicatori.

Interfaccia del Costruttore di Strategie

Analizzeremo ogni passaggio in dettaglio!

Poiché la programmazione differisce tra i terminali MT4 e MT5, divideremo il nostro articolo in due parti:

Se stai usando l’advisor THE X per il terminale MT4, puoi procedere direttamente alla sezione Programmazione per The X sul terminale MetaTrader 4.

Programmare THE X per MetaTrader 5

Devi comprendere le regole di programmazione di base per sviluppare la tua strategia o aggiungere una strategia già pronta utilizzando indicatori da file esistenti (ad esempio, Expert Advisors da Internet).

Programmare advisor per MetaTrader 5 è più complesso che per MetaTrader 4. Tuttavia, il terminale MT5 consente la creazione di strategie più potenti e dispone di uno strategy tester più avanzato.

In ogni caso, dovresti acquistare il codice open-source su cui opererà il terminale.

MetaTrader 5 Passaggio 0: Caricamento degli Indicatori nelle Risorse!

// Passaggio 0 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Per incorporare l'indicatore nell'Expert Advisor durante la compilazione, devi caricarlo nelle risorse dell'Expert Advisor
//
// Ad esempio:
// * #resource "\\Indicators\\Examples\\MACD.ex5"
// ################################################ ###########################

Qui, dobbiamo aggiungere gli indicatori da noi richiesti alle risorse.

Ciò garantisce che l’advisor possa essere compilato per il mercato e previene problemi inutili in cui l’advisor compilato non riesce a trovare l’indicatore desiderato su un altro computer.

Regole per la Denominazione nel Mercato: Usa i nomi completi delle cartelle, iniziando con Indicators!

La cartella è indicata da \\.

Ad esempio:

Se il percorso del tuo indicatore è:

C:\ROBO MT5\MQL5\Indicators\Examples\MACD.ex5

Allora, il percorso di questo indicatore nel linguaggio di programmazione è scritto come:

“\\Indicators\\Examples\\MACD.ex5”

MetaTrader 5 Passaggio 1: Specifica il Nome del Segnale!

// Passaggio 1 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Inserisci il nome del tuo segnale dopo //
// ################################################ ####################
// Ad esempio:
// * Custom = 77, // Segnale Per open source
// ################################################ ############################

In questo passaggio, dobbiamo aggiungere il nostro segnale o strategia all’elenco dei possibili segnali nell’Expert Advisor.

Ciò facilita una comoda gestione dei segnali durante la fase di configurazione dell’expert.

Specificare il Nome del Segnale nel Codice

Ad esempio:

  1. Vuoi nominare la tua strategia MY STRATEGY (LA MIA STRATEGIA)
  2. Anche il numero della strategia deve essere unico. I segnali degli indicatori standard occupano i primi 22 numeri! Ricorda questo numero perché ci servirà più avanti.
  3. Anche il nome deve essere unico. Ad esempio, MYSTRATEGY1

Alla fine, dovremmo scrivere nel codice come segue:

MYSTRATEGY1 = 77, // MY STRATEGY

Puoi anche aggiungere più strategie e scrivere, ad esempio:

  1. MYSTRATEGY1 = 77, // MY STRATEGY a
  2. MYSTRATEGY2 = 78, // MY STRATEGY b
  3. MYSTRATEGY3 = 79, // MY STRATEGY c

MetaTrader 5 Passaggio 2: Specifica il Nome Visualizzato del Segnale!

// Passaggio 2 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Inserisci il nome del tuo segnale, che sarà visualizzato sullo schermo dopo //
// ################################################ ####################
// Ad esempio:
// * if (i == 77) s1 = "Custom";
// ################################################ ###########################

Questo passaggio serve per visualizzare il nome della tua strategia nel nostro pannello EAPADpro EA.

È semplice! Tuttavia, devi usare i numeri del passaggio precedente.

Visualizzazione del Nome del Segnale

Ad esempio:

  1. if (i == 77) s1 = “My1”;
  2. if (i == 78) s1 = “My2”;
  3. if (i == 79) s1 = “My3”;

MetaTrader 5 Passaggio 3: Specifica il Nome del Filtro!

// Passaggio 3 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Inserisci il nome del tuo filtro dopo //
// ################################################ ####################
// Ad esempio:
// * FILTERCustom = 77, // Filtro Per open source
// ################################################ ###########################

In questo passaggio, dobbiamo aggiungere il nostro filtro all’elenco dei possibili filtri nell’Expert Advisor.

Ciò garantisce una comoda gestione dei filtri durante la fase di configurazione dell’expert.

Tipicamente, il Filtro utilizza lo stesso indicatore del Segnale, ma con la condizione che il Filtro determini la posizione corrente del Segnale, e il Segnale rifletta il segnale effettivo.

Ad esempio:

  1. Vuoi nominare il tuo Filtro MY FILTER (IL MIO FILTRO)?
  2. Anche il numero del filtro dovrebbe corrispondere al numero della strategia (Questo previene confusioni con altre cifre in futuro). I filtri occupano i primi 22 numeri degli indicatori standard! Ricorda questo numero perché ci servirà più avanti.
  3. Anche il nome deve essere unico. Ad esempio, MYFILTER1

Alla fine, dovremmo scrivere nel codice come segue:

MYFILTER1 = 77, // MY FILTER

Puoi anche aggiungere più filtri e scrivere, ad esempio:

  1. MYFILTER1 = 77, // MY FILTER a
  2. MYFILTER2 = 78, // MY FILTER b
  3. MYFILTER3 = 79, // MY FILTER c

MetaTrader 5 Passaggio 4: Specifica i Parametri dell’Indicatore o della Strategia nelle Variabili Esterne!

// Passaggio 4 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Specifica tutte le variabili esterne del tuo indicatore o degli indicatori che saranno usati nella tua strategia
//
// Ad esempio:
// * input string IndicatorName = "-------- Custom Indicator ----------------";
// * input int CUSTOMMAFastPeriod = 1;
// * input int CUSTOMMASlowPeriod = 100;
// * input ENUM_APPLIED_PRICE CUSTOMMAprice = PRICE_CLOSE;
// ################################################ ###########################

In questo passaggio, devi inserire tutte le impostazioni esterne degli indicatori nella tua strategia, che possono essere modificate dall’Expert Advisor. Questo è utile per scopi di ottimizzazione.

Inoltre, puoi estrarre parametri specifici della strategia qui. Ad esempio, i livelli in cui le linee si intersecano, limitando l’operatività dell’indicatore ai prezzi MAX e MIN sul grafico, e così via.

Non è necessario inserire tutti i parametri per gli indicatori. È sufficiente rendere modificabili quelli che potresti voler cambiare in futuro dalle impostazioni dell’Expert Advisor. Tutti gli altri parametri possono essere impostati ai loro valori predefiniti.

Specificare i Parametri dell'Indicatore

MetaTrader 5 Passaggio 5: Crea gli Handle degli Indicatori da Caricare nell’Expert Advisor!

// Passaggio 5 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Crea una voce nell'array in modo che l'Expert Advisor possa assegnare l'handle dell'indicatore durante l'inizializzazione
//
// Ad esempio:
// * case 77:
// * h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
// * if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
// * {
// *     PrintToLogs("Could not get MACD indicator handle");
// *     return(INIT_FAILED);
// * }
// ################################################ ###########################

Questo passaggio assicura che i nostri indicatori vengano caricati una volta durante l’inizializzazione dell’Expert Advisor. In MetaTrader 5, non è necessario caricare costantemente l’indicatore sul grafico.

Quando creiamo un handle, memorizziamo l’handle di un indicatore già aperto per uso futuro.

Stai molto attento qui. Quando crei un handle, devi specificare tutte le variabili esterne dell’indicatore e usare il nome corretto. Altrimenti, l’Expert Advisor non sarà in grado di caricare l’indicatore.

Ricorda che abbiamo caricato l’indicatore nelle risorse dell’Expert Advisor. Pertanto, chiameremo l’indicatore dalle risorse!

Puoi fare riferimento alla documentazione MQL5 sulla chiamata degli indicatori tramite iCustom.

È richiesto anche un numero di strategia per scrivere questo codice. Se la tua strategia utilizza più indicatori, devi specificare ogni indicatore con lo stesso numero. Ciò garantisce che l’advisor carichi correttamente la tua strategia.

Secondo i nostri esempi sopra, dobbiamo fare quanto segue:

case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE)
{
    PrintToLogs("Could not get MACD indicator handle");
    return(INIT_FAILED);
}
break;

Qui, ho specificato esplicitamente solo due parametri esterni. Ho sostituito il parametro di questo Indicatore, InpSignalSMA, con un numero predefinito per dimostrare l’essenza della programmazione!

Allo stesso modo, puoi aggiungere più indicatori e handle.

Se la strategia utilizza diversi indicatori, devi dichiarare ognuno di essi.

Ad esempio:

case 77:
h_custom[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 9, CUSTOMMAprice);
h_custom2[tf_num][sym_num] = iCustom(array_symbol, array_tf, "::Indicators\\Examples\\MACD", CUSTOMMAFastPeriod, CUSTOMMASlowPeriod, 15, CUSTOMMAprice);
if (h_custom[tf_num][sym_num] == INVALID_HANDLE || h_custom2[tf_num][sym_num] == INVALID_HANDLE)
{
    PrintToLogs("Could not get MACD indicator handle");
    return(INIT_FAILED);
}
break;

Inoltre, per altre strategie che desideri integrare nell’Expert Advisor!

MetaTrader 5 Passaggio 6: Dichiara le Variabili per Caricare l’Indicatore (o gli Indicatori) della Strategia!

// Passaggio 6 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Dichiara le variabili array degli handle
//
// Ad esempio:
// * int h_custom[6][12];
// * int h_custom2[6][12];
// ################################################ ###########################

Qui, specifichiamo i nomi dei nostri handle creati sopra!

È semplice.

Gli handle sono creati come array per supportare il multi-valuta nell’EA e per consentire di specificare fino a sei segnali o filtri contemporaneamente!

MetaTrader 5 Passaggio 7: Dichiara le Variabili per Memorizzare i Dati dell’Indicatore!

// Passaggio 7 ##############################################
// Questa parte del codice serve per programmare la tua strategia in open source
//
// Dichiara le variabili array per i valori dell'indicatore
//
// Ad esempio:
// * double custom1_buffer[];
// * double custom2_buffer[];
// ################################################ ###########################

Qui, specifichiamo i nomi dei nostri buffer di dati!

È semplice.

Questi array memorizzeranno i dati sui valori dell’indicatore per ogni barra. Se hai bisogno di usare più buffer, puoi dichiarare diverse variabili.

Nel nostro caso, ad esempio, abbiamo bisogno di due buffer per la linea di segnale e la linea principale dell’indicatore MACD.

Dichiarazione delle Variabili dei Dati dell'Indicatore

MetaTrader 5 Passaggio 8: Crea Strategie e Segnali per Aprire Posizioni!

Questo passaggio è cruciale per l’Expert Advisor. Sebbene tutti gli altri passaggi siano obbligatori, senza questo passaggio, l’advisor non funzionerà.

Ho incluso commenti nel codice per spiegare ogni parte!

Il numero della strategia deve corrispondere a quello utilizzato nei passaggi precedenti!

  1. Programma il codice per ogni strategia e segnale individualmente. Dipende dalla strategia e dagli indicatori scelti. La gestione dei buffer per le strategie comporta…
  2. Nota che in questo blocco puoi specificare qualsiasi strategia.
  3. Tutti gli indicatori dichiarati negli handle saranno caricati in memoria e utilizzati per costruire la strategia.
Creazione di Strategie e Segnali

Questo passaggio può essere suddiviso in tre sotto-passaggi:

  1. 1. Dobbiamo copiare i buffer di dati nei nostri set di dati. Nei parametri di copia, dobbiamo specificare i numeri di riga (Nel nostro caso, queste sono le linee dell’indicatore MACD).
  2. Usiamo due linee: MAIN (Principale) e SIGNAL (Segnale).
  3. Puoi leggere la documentazione sulla funzione CopyBuffer.
  4. 2. Programmazione della strategia. In questo caso, è l’intersezione di due linee.
  5. Importante: Il segnale per BUY (Acquisto) è 1, e per SELL (Vendita), è -1.
  6. 3. Qui, registriamo le informazioni che saranno visualizzate nel log quando una posizione viene aperta in base al segnale. Informazioni sulla Strategia.

Se hai compilato correttamente tutti gli handle e i buffer, sullo schermo dovrebbe apparire quanto segue:

Alert(“Congratulazioni, hai completato una lezione che dimostra la programmazione della tua strategia!”);
Alert(“Congratulazioni! Hai completato una lezione che dimostra la programmazione della tua strategia!”);
Se ricevi un messaggio di errore, devi identificare e risolvere la causa di questo errore.

Codici di Errore

Errori più comuni:

ERR_INDICATOR_UNKNOWN_SYMBOL 4801 Simbolo sconosciuto
ERR_INDICATOR_CANNOT_CREATE 4802 Impossibile creare l’indicatore
ERR_INDICATOR_NO_MEMORY 4803 Memoria insufficiente per aggiungere un indicatore
ERR_INDICATOR_CANNOT_APPLY 4804 Impossibile applicare l’indicatore a un altro indicatore
ERR_INDICATOR_CANNOT_ADD 4805 Errore durante l’aggiunta dell’indicatore
ERR_INDICATOR_DATA_NOT_FOUND 4806 Dati richiesti non trovati
ERR_INDICATOR_WRONG_HANDLE 4807 Handle dell’indicatore errato
ERR_INDICATOR_WRONG_PARAMETERS 4808 Numero errato di parametri durante la creazione di un indicatore
ERR_INDICATOR_PARAMETERS_MISSING 4809 Parametri mancanti durante la creazione dell’indicatore
ERR_INDICATOR_CUSTOM_NAME 4810 Il primo parametro nell’array deve essere il nome dell’indicatore personalizzato
ERR_INDICATOR_PARAMETER_TYPE 4811 Tipo di parametro errato nell’array durante la creazione dell’indicatore
ERR_INDICATOR_WRONG_INDEX 4812 Indice non valido del buffer dell’indicatore richiesto

MetaTrader 5 Passaggio 9: Specifica i Filtri dai Tuoi Indicatori o Usa il Tuo Indicatore come Filtro per la Strategia!

Il codice di programmazione in questo passaggio è semplice e simile al passaggio precedente.

L’unica differenza è che in questa fase, programmi i tuoi indicatori come Filtro.

Non puoi specificare segnali usando l’indicatore, ma solo specificare il filtro, o viceversa! Tutto dipende dalla strategia.

 

MetaTrader 5 Passaggio 10: Questo è l’ultimo passaggio!

// Passaggio 10 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Questa è la fine del nostro codice. Se hai raggiunto questo passaggio, allora hai creato la tua strategia. 
// Ad esempio, ho inserito una strategia segreta. Se hai fatto tutto correttamente, riceverai il risultato sotto forma di un avviso sullo schermo! 
// Grazie per aver scelto il nostro prodotto. Lavoriamo per te! 
// 
// Il nostro sito web: 
// Il nostro negozio: /shop 
// Negozio MQL5: https://www.mql5.com/users/vladon/seller 
// 
// 
// Questa è la fine del nostro codice. Se hai raggiunto questo passaggio, allora hai creato la tua strategia. 
// Ad esempio, ho inserito una strategia segreta. Se hai fatto tutto correttamente, riceverai il risultato sotto forma di un avviso sullo schermo! 
// Grazie per aver scelto il nostro prodotto. Lavoriamo per te! 
// 
// Il nostro sito web: 
// Il nostro negozio: /shop 
// Negozio MQL5: https://www.mql5.com/users/vladon/seller 
// ################################################ ###########################

Ciò indica che la programmazione della tua strategia è completa.

Buona fortuna e buoni profitti a te!

MetaTrader 5 Conclusioni e Verifica della Strategia

Se fai tutto correttamente, la tua strategia sarà integrata nell’Expert Advisor, e potrai fare trading usando il mio advisor.

Ora, dobbiamo testare il nostro advisor e la nostra strategia.

  1. Carica il terminale;
  2. Apri un conto demo;
  3. Allega l’Expert Advisor al grafico;
  4. Se tutto è OK, riceverai un messaggio sull’aggiunta riuscita della strategia:
    • Messaggio di aggiunta strategia riuscita
  5. Oppure riceverai un errore. In tal caso, devi rivedere attentamente il tuo codice e ripetere tutti i passaggi!

Controllo dell’Expert Advisor nello Strategy Tester:

  1. Apri il terminale;
  2. Apri lo Strategy Tester;
  3. Scegli il tuo Expert Advisor, coppia di valute, time frame, e intervallo di date. Abilita il test Ogni Tick basato su tick reali;
    • Screenshot delle impostazioni dello Strategy Tester
  4. Apri la scheda Impostazioni;
    • Screenshot della scheda Impostazioni
  5. Seleziona la tua strategia;
  6. Abilita la Visualizzazione;
  7. Premi START;
  8. Dovrebbe aprirsi un grafico;
  9. Se l’Expert Advisor apre posizioni, hai fatto tutto correttamente!
    • L'Expert Advisor apre posizioni

Programmare THE X per MetaTrader 4

Devi comprendere le regole di programmazione di base per scrivere la tua strategia o aggiungere una strategia già pronta per gli indicatori da un file esistente (ad esempio, Expert Advisors da Internet).

Programmare Expert Advisors per MetaTrader 5 è più complesso che per MetaTrader 4. Tuttavia, il terminale MT5 ti consente di creare strategie più potenti e dispone di uno Strategy Tester più avanzato.

D’altra parte, ci sono numerose strategie e indicatori disponibili online per il terminale MetaTrader 4. Pertanto, puoi usare il codice per MT4!

Un altro promemoria importante: Programmare una strategia in MT4 è molto più facile che programmare in MT5!

In ogni caso, dovresti acquistare il codice aperto basato sul terminale con cui lavorerai.

MetaTrader 4 Passaggio 0: Caricamento degli Indicatori nelle Risorse

// Passaggio 0 ############################################## ######################
    // Questa parte del codice per programmare la tua strategia in open source
    // Questa parte del codice per programmare la tua strategia in open source
    //
    // Per incorporare l'indicatore nell'Expert Advisor durante la compilazione, devi caricarlo nelle risorse dell'Expert Advisor
    // Per incorporare l'indicatore nell'Expert Advisor durante la compilazione, devi caricarlo nelle risorse dell'Expert Advisor
    // ################################################ ####################
    // ad esempio:
    // * #resource "\\ Indicators \\ MACD.ex4"
    // ################################################ ###########################
    

Qui, dobbiamo aggiungere gli indicatori da noi richiesti alle risorse.

Questo ci permetterà di compilare un advisor per il mercato e prevenire problemi inutili quando l’Expert Advisor compilato non riesce a trovare l’indicatore desiderato su un altro computer!

Regole per scrivere il percorso dell’indicatore: Usa i nomi completi delle cartelle, iniziando con Indicators!

La cartella è indicata da \\

Ad esempio:

Se il percorso del tuo indicatore appare così:

C:\ROBO MT4\MQL4\Indicators\Examples\MACD.ex4

Allora, il percorso di questo indicatore nel linguaggio di programmazione è scritto così:

“\\Indicators\\Examples\\MACD.ex4”

MetaTrader 4 Passaggio 1: Specifica il Nome del Segnale

// Passaggio 1 ############################################## ###################### 
    // Questa parte del codice per programmare la tua strategia in open source 
    // Questa parte del codice per programmare la tua strategia in open source 
    // 
    // Inserisci il nome del tuo segnale dopo // 
    // Inserisci il nome del tuo segnale dopo // 
    // ################################################ #################### 
    // ad esempio: 
    // * Custom = 77, // Segnale per open source 
    // ################################################ ############################

In questo passaggio, dobbiamo aggiungere il nostro Segnale o strategia all’elenco dei possibili segnali nell’advisor.

Ciò consente una comoda gestione dei segnali durante la fase di configurazione dell’Expert Advisor.

Esempio di denominazione del segnale

Ad esempio:

  1. Vuoi nominare la tua strategia MY STRATEGY (LA MIA STRATEGIA)
  2. Anche il numero della strategia deve essere unico. I segnali degli indicatori standard occupano i primi 22 numeri! Ricorda questo numero per riferimento futuro.
  3. Anche il nome deve essere unico. Ad esempio, MYSTRATEGY1

Alla fine, dovresti scrivere nel codice così:

MYSTRATEGY1 = 77, // MY STRATEGY

Puoi anche aggiungere più strategie e scrivere, ad esempio, così:

  1. MYSTRATEGY1 = 77, // MY STRATEGY a
  2. MYSTRATEGY2 = 78, // MY STRATEGY b
  3. MYSTRATEGY3 = 79, // MY STRATEGY c

MetaTrader 4 Passaggio 2: Specifica il Nome del Segnale da Visualizzare sullo Schermo

// Passaggio 2 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Inserisci il nome del tuo segnale, che sarà visualizzato sullo schermo, dopo // 
// Inserisci il nome del tuo segnale, che sarà visualizzato sullo schermo, dopo // 
// ################################################ #################### 
// ad esempio: 
// * if (i == 77) s1 = "Custom"; 
// ################################################ ###########################

Questo passaggio serve a visualizzare il nome della tua strategia nel nostro pannello EApadpro EA.

Non c’è niente di complicato! Ma devi usare i numeri del passaggio precedente.

Esempio di visualizzazione del nome del segnale

Ad esempio:

  1. if (i == 77) s1 = “My1”;
  2. if (i == 78) s1 = “My2”;
  3. if (i == 79) s1 = “My3”;

MetaTrader 4 Passaggio 3: Specifica il Nome del Filtro

// Passaggio 3 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Inserisci il nome del tuo filtro dopo // 
// Inserisci il nome del tuo filtro dopo // 
// ################################################ #################### 
// ad esempio: 
// * FILTERCustom = 77, // Filtro per open source 
// ################################################ ###########################

In questo passaggio, dobbiamo aggiungere il nostro Filtro all’elenco dei possibili filtri nell’Expert Advisor.

Ciò consente una comoda gestione dei filtri durante la fase di configurazione dell’Expert Advisor.

Di solito, il Filtro utilizza lo stesso indicatore del Segnale, con la condizione che il Filtro determini la posizione corrente del Segnale, e il Segnale confermi l’azione di trading.

Esempi di differenze tra filtri e segnali

Ad esempio:

  1. Vuoi nominare il tuo Filtro MYFILTER (IL MIO FILTRO)?
  2. Anche il numero del filtro dovrebbe corrispondere al numero della strategia (Questo viene fatto per evitare confusioni con i numeri degli indicatori standard in futuro). I filtri occupano i primi 22 numeri riservati agli indicatori standard! Ricorda questo numero per riferimento futuro.
  3. Anche il nome deve essere unico. Ad esempio, MYFILTER1

Alla fine, dovresti scrivere nel codice così:

MYFILTER1 = 77, // MY FILTER

Puoi anche aggiungere più filtri e scrivere, ad esempio, così:

  1. MYFILTER1 = 77, // MY FILTER a
  2. MYFILTER2 = 78, // MY FILTER b
  3. MYFILTER3 = 79, // MY FILTER c

MetaTrader 4 Passaggio 4: Specifica i Parametri dell’Indicatore o della Strategia nelle Variabili Esterne

// Passaggio 4 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Specifica tutte le variabili esterne del tuo indicatore o degli indicatori che saranno usati nella tua strategia 
// Specifica tutte le variabili esterne del tuo indicatore o degli indicatori che saranno usati nella tua strategia 
// ################################################ #################### 
// ad esempio: 
// * input string IndicatorName = "-------- Custom Indicator ----------------"; 
// * input int CUSTOMMAFastPeriod = 1; 
// * input int CUSTOMMASlowPeriod = 100; 
// ################################################ ###########################

In questo passaggio, devi inserire tutte le impostazioni esterne degli indicatori utilizzati nella tua strategia, che possono essere cambiate dall’Expert Advisor. Questo è utile per l’ottimizzazione.

Inoltre, puoi estrarre parametri specifici della strategia, come i livelli di intersezione delle linee, la limitazione dell’operatività dell’indicatore basata sui prezzi MAX e MIN sul grafico, e così via.

Non è necessario inserire tutti i parametri per gli indicatori. È sufficiente includere quelli che potresti voler cambiare in futuro dalle impostazioni dell’Expert Advisor. Per tutti gli altri parametri, puoi lasciare l’indicatore con le sue impostazioni predefinite.

Esempio di configurazione delle variabili esterne

MetaTrader 4 Passaggi 5, 6, 7: Rilassati!

// Passaggio 5 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Il passaggio 5 è necessario solo per il terminale MT5. Quindi in questo passaggio, puoi rilassarti e prendere un caffè 
// Il passaggio 5 è necessario solo per il terminale MT5. Quindi in questo passaggio, puoi rilassarti e prendere un caffè 
// ################################################ ###########################
    
// Passaggio 6 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Il passaggio 6 è necessario solo per il terminale MT5. Quindi in questo passaggio, puoi rilassarti e fare uno spuntino 
// Il passaggio 6 è necessario solo per il terminale MT5. Quindi in questo passaggio, puoi rilassarti e fare uno spuntino 
// ################################################ ###########################
    
// Passaggio 7 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Il passaggio 7 è necessario solo per il terminale MT5. Fai una pausa per allenarti 
// Il passaggio 7 è necessario solo per il terminale MT5. Fai una pausa per allenarti 
// ################################################ ###########################

Nota: MetaTrader 4 non richiede il caricamento degli indicatori in memoria per ulteriori lavori. Quando l’indicatore viene chiamato di nuovo in MT4, l’Expert Advisor utilizza lo stesso handle.

MetaTrader 4 Passaggio 8: Creazione di Strategie e Segnali per l’Apertura di Posizioni

Questo passaggio è molto importante per l’Expert Advisor. Sebbene tutti gli altri passaggi siano obbligatori, senza questo passaggio, l’advisor non funzionerà.

Ho aggiunto commenti nel codice!

Il numero della strategia corrisponde a quello dei passaggi precedenti!

  1. Codice di programmazione per strategia e segnale individualmente. Dipende dalla strategia e dagli indicatori scelti. Impostazione dei buffer di strategia…
  2. Voglio sottolineare che in questo blocco puoi specificare qualsiasi strategia.
  3. Tutti gli indicatori che abbiamo dichiarato negli handle saranno caricati in memoria e utilizzati per costruire la strategia.
Esempio di buffer di strategia

Questo passaggio può essere suddiviso in 2 sotto-passaggi:

  1. 1. Programmazione della strategia. In questo caso, è l’intersezione di due linee.
  2. Importante: Il Segnale per BUY (Acquisto) è 1, e per SELL (Vendita), è -1.
  3. 2. Registra le informazioni che saranno visualizzate nel log quando una posizione viene aperta. Informazioni sulla Strategia

Se ricevi un messaggio di errore, devi identificare la causa dell’errore.

Codici di Errore

Errori più comuni:

ERR_INDICATOR_UNKNOWN_SYMBOL 4801 Simbolo sconosciuto
ERR_INDICATOR_CANNOT_CREATE 4802 Impossibile creare l’indicatore
ERR_INDICATOR_NO_MEMORY 4803 Memoria insufficiente per aggiungere un indicatore
ERR_INDICATOR_CANNOT_APPLY 4804 Impossibile applicare l’indicatore a un altro indicatore
ERR_INDICATOR_CANNOT_ADD 4805 Errore durante l’aggiunta dell’indicatore
ERR_INDICATOR_DATA_NOT_FOUND 4806 Dati richiesti non trovati
ERR_INDICATOR_WRONG_HANDLE 4807 Handle dell’indicatore errato
ERR_INDICATOR_WRONG_PARAMETERS 4808 Numero errato di parametri durante la creazione di un indicatore
ERR_INDICATOR_PARAMETERS_MISSING 4809 Parametri mancanti durante la creazione dell’indicatore
ERR_INDICATOR_CUSTOM_NAME 4810 Il primo parametro nell’array deve essere il nome dell’indicatore personalizzato
ERR_INDICATOR_PARAMETER_TYPE 4811 Tipo di parametro errato nell’array durante la creazione dell’indicatore
ERR_INDICATOR_WRONG_INDEX 4812 Indice non valido del buffer dell’indicatore richiesto

MetaTrader 4 Passaggio 9: Specifica i Filtri dai Tuoi Indicatori o Usa il Tuo Indicatore come Filtro per la Strategia

Nella programmazione del codice di questo passaggio, non c’è niente di complicato, ed è simile al passaggio precedente.

L’unica differenza è che in questa fase, programmi i tuoi indicatori come Filtro.

Non puoi specificare segnali usando l’indicatore, ma solo specificare il filtro, o viceversa! Tutto dipende dalla strategia.

 

MetaTrader 4 Passaggio 10: Questo è il Passaggio Finale!

// Passaggio 10 ############################################## ###################### 
// Questa parte del codice per programmare la tua strategia in open source 
// Questa parte del codice per programmare la tua strategia in open source 
// 
// Questa è la fine del nostro codice. Se hai raggiunto questo passaggio, allora hai creato la tua strategia. 
// Ad esempio, ho inserito una strategia segreta. Se hai fatto tutto correttamente, riceverai il risultato sotto forma di un avviso sullo schermo! 
// Grazie per aver scelto il nostro prodotto. Lavoriamo per te! 
// 
// Il nostro sito web: 
// Il nostro negozio: /shop 
// Negozio MQL5: https://www.mql5.com/users/vladon/seller 
// 
// 
// Questa è la fine del nostro codice. Se hai raggiunto questo passaggio, allora hai creato la tua strategia. 
// Ad esempio, ho inserito una strategia segreta. Se hai fatto tutto correttamente, riceverai il risultato sotto forma di un avviso sullo schermo! 
// Grazie per aver scelto il nostro prodotto. Lavoriamo per te! 
// 
// Il nostro sito web: 
// Il nostro negozio: /shop 
// Negozio MQL5: https://www.mql5.com/users/vladon/seller 
// ################################################ ###########################

Questo passaggio è stato creato per non farti perdere durante l’uso della ricerca.

Ciò indica che la programmazione della tua strategia è completa.

Buona fortuna e buoni profitti a te!

MetaTrader 4 Conclusioni e Verifica della Strategia

Se fai tutto correttamente, la tua strategia sarà integrata nell’Expert Advisor, e potrai fare trading usando il mio advisor.

Ora, dobbiamo testare il nostro advisor e la nostra strategia.

  1. Carica il terminale;
  2. Apri un conto demo;
  3. Allega l’Expert Advisor al grafico;

Controllo dell’Expert Advisor nello Strategy Tester:

  1. Apri il terminale;
  2. Apri lo Strategy Tester;
  3. Scegli il tuo Expert Advisor, coppia di valute, time frame, e intervallo di date. Abilita il test Ogni Tick basato su tick reali;
    • Screenshot della selezione dello Strategy Tester
  4. Apri la scheda Impostazioni;
    • Screenshot della scheda impostazioni dello Strategy Tester
  5. Seleziona la tua strategia;
  6. Abilita la Visualizzazione;
  7. Premi START;
  8. Dovrebbe aprirsi un grafico;
  9. Se l’Expert Advisor apre posizioni, allora hai fatto tutto correttamente!
    • Screenshot delle posizioni aperte dall'Expert Advisor

Cos’Altro Può Essere Cambiato nell’Expert Advisor?

Naturalmente, potresti voler personalizzare la tua strategia e dare al nostro advisor un aspetto unico!

Parametri che puoi cambiare a tua discrezione:

 // Cambiamento 1: Versione dell'Expert Advisor // Versione dell'EA
#define versionea "18.008" 
// Cambiamento 2: Logo dell'Advisor // LOGO dell'EA
#define BMPLOGO "Images\\dollar.bmp"
// Cambiamento 3: Icona dell'Expert Advisor // Icona dell'EA
// #property icon "\\Images\\dollar.bmp"
// Cambiamento 4: Nome dell'Expert Advisor sul grafico // Nome dell'EA sul Grafico
#define defEANAME "EXP-The X (OS)"
// Cambiamento 5: Link all'istruzione completa // Link all'istruzione completa
#define linkTOfull "www.expforex.com/it/publ/4-1-0-166" 
// Cambiamento 6: Versione demo dell'Expert Advisor. Funziona solo su un conto demo o su un conto reale con la coppia USDJPY // Versione demo dell'advisor. Funziona solo su un conto demo o su un conto reale con la coppia USDJPY
bool DEMO = false;
    

Si raccomanda di non modificare tutti gli altri parametri, poiché ciò potrebbe compromettere la funzionalità dell’Expert Advisor!

Debugging di una Strategia

Il prossimo passo è testare e ottimizzare The X e trovare le tue migliori impostazioni.

In alternativa, esegui il debug e aggiorna la tua strategia.

A volte, ci vogliono giorni o settimane. A volte, anche mesi.

Mercato Forex – Notifiche di Rischio! Questo è un modo molto rischioso di guadagnare. Migliora la tua strategia.

Buona fortuna e buon profitto!

Emissione di Informazioni Aggiuntive nel Blocco Strategia

Questa è una funzione opzionale nel nostro codice open-source.

Puoi emettere qualsiasi valore di qualsiasi parametro nel blocco Strategia EAPADPRO.

1. Per fare ciò, crea una variabile locale,

ad es., double EAPADPRO_StrategyValue1 = 0; double EAPADPRO_StrategyValue2 = 0;

2. Assegna un valore a questa variabile,

ad esempio, assegna il valore dell’indicatore ATR (trova la riga double atr = iATR):

EAPADPRO_StrategyValue1 = atr;
EAPADPRO_StrategyValue2 = atrma;

Codice filtro completo:

3. Successivamente, aggiungi il valore della variabile al blocco di emissione informazioni:

Trova la funzione CreateStrategy() nel codice e aggiungi una nuova riga:

ArrayAddStrategy("StrategyValue1", DoubleToString(EAPADPRO_StrategyValue1, 5), "", "");
    
ArrayAddStrategy("StrategyValue2", DoubleToString(EAPADPRO_StrategyValue2, 5), "", "");

Il primo parametro della funzione è il nome della variabile.

Il secondo parametro della funzione è il valore della variabile in un formato comodo!

Attenzione! Aggiungi un numero pari di parametri per garantire una visualizzazione ordinata sullo schermo!

Questo post è disponibile anche in: English Portuguese Español Deutsch Українська Chinese Русский Français Italiano Türkçe 日本語 한국어 العربية Indonesian ไทย Tiếng Việt




    Attendere, contattando ...

     

    Avviso di rischio:


    Le performance di trading passate non garantiscono i risultati futuri.

    La negoziazione di valuta estera con margine comporta un elevato grado di rischio e potrebbe non essere adatta a tutti gli investitori.

    Tieni presente che l'utilizzo dei robot di trading comporta un rischio notevole e potresti perdere più del tuo investimento iniziale.

    Ti invitiamo a procedere con cautela, a valutare attentamente la tua situazione finanziaria e a prendere in considerazione l'idea di rivolgerti a un professionista qualificato.

    Esclusione di responsabilità

    Questo sito utilizza i cookie per migliorare la tua esperienza. Utilizzando questo sito accetti la nostra Politica di Protezione dei Dati e Disclaimer.
    Leggi di più