English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Türkçe
preview
Introduzione a MQL5 Algo Forge

Introduzione a MQL5 Algo Forge

MetaTrader 5Esempi |
531 29
MetaQuotes
MetaQuotes

Il nuovo MQL5 Algo Forge è più di un semplice elenco dei tuoi progetti - è un vero e proprio social network per sviluppatori. È possibile monitorare facilmente le modifiche, mantenere la cronologia dei progetti, connettersi con professionisti affini e scoprire nuove idee. Qui è possibile seguire autori interessanti, formare team e collaborare a progetti di trading algoritmico.  

MQL5 Algo Forge è costruito su Git, il moderno sistema di controllo delle versioni. Fornisce a tutti gli sviluppatori un potente set di strumenti per tracciare la cronologia dei progetti, per la ramificazione, per la sperimentazione e per il lavoro in team. Ma come funziona il tutto? In questo articolo spiegheremo come iniziare a utilizzare MQL5 Algo Forge.


Che cos'è un Archivio (Repository) in MQL5 Algo Forge?

Lo sviluppo di un software è di solito un processo lungo, che richiede tempo e debug. Il codice non solo deve essere scritto e mantenuto, ma anche conservato in modo sicuro. I moderni algoritmi di trading vanno ben oltre il semplice incrocio delle medie mobili. Si basano su librerie matematiche, reti neurali e apprendimento automatico. Ciò significa che gli sviluppatori hanno bisogno di un modo pratico per salvare rapidamente le modifiche e accedere al codice aggiornato da qualsiasi luogo. 

MQL5 Storage è il sistema di controllo delle versioni integrato in MetaEditor. In precedenza utilizzava Subversion 1.7, un sistema di controllo delle versioni centralizzato in cui tutta la cronologia era archiviata sui server di MetaQuotes. Senza una connessione a Internet, non era possibile eseguire il commit delle modifiche, il rollback alle versioni precedenti o la visualizzazione della cronologia. Oggi è stato completamente sostituito da una soluzione più potente e flessibile - MQL5 Algo Forge.

Ora, MQL5 Algo Forge funziona in modo differente:


MQL5 Algo Forge (basato su Git) Archivio MQL5 (legacy)
Archivio della cronologia Locale e cloud Solo MetaQuotes cloud
Lavoro offline Completo (commit, rollback, diff) Limitato o non disponibile
Velocità di funzionamento Immediato, locale Dipende dalla rete/server

Algo Forge vi dà la libertà. È possibile lavorare offline su un treno, creare rami sperimentali, salvare i risultati intermedi e successivamente unirli al ramo principale.

Un repository del progetto in Algo Forge non è solo una cartella cloud. Si tratta di un repository Git strutturato che esiste sul disco locale e si sincronizza con il server cloud MQL5 Algo Forge. È composto da diversi strati:

Directory di lavoro in MetaEditor

I tuoi file .MQ5, .MQH, .SET e altri file modificati in MetaEditor. È qui che si scrive il codice dell'Expert Advisor, si collegano gli indicatori e si testano le strategie. Finché non si aggiungono esplicitamente le modifiche, Algo Forge non ne tiene traccia.                                                                   

Area di preparazione (Indice)

Prima di salvare le modifiche nella cronologia del progetto, è necessario prepararle. Con il comando 'Git Add' si selezionano i file da includere nel prossimo commit. Ciò consente di raggruppare le modifiche in modo logico - ad esempio salvando le modifiche alla logica di trading separatamente dagli aggiornamenti dell'interfaccia o della configurazione.


Repository locale


Una volta effettuate le modifiche con 'Git Commit', Algo Forge memorizza un'immagine dei file nel repository locale sul vostro computer. In qualsiasi momento è possibile rivedere le versioni precedenti, tornare a uno stato precedente o analizzare quali modifiche hanno influito sulle prestazioni dell'Expert Advisor.


Repository remoto in MQL5 Algo Forge


Una volta pronti, si possono inviare i commit al server MQL5 Algo Forge utilizzando "Git Push". In questo modo si crea un backup sicuro e si rendono disponibili le modifiche ai membri del team. Anche se lavorate da soli, questo è utile: il vostro codice è memorizzato in modo sicuro nel cloud e la cronologia del progetto rimane intatta.


Come collegarsi a MQL5 Algo Forge

Per iniziare a lavorare con MQL5 Algo Forge, tutto ciò che serve è un account MQL5. È sufficiente accedere con le proprie credenziali a https://forge.mql5.io/.  


Una volta effettuato l'accesso, è possibile esplorare tutte le sue funzioni. I progetti pubblici sono disponibili nella sezione Esplora, dove è possibile sfogliare i progetti, studiarne il codice, condividere il proprio lavoro e collaborare con altri.



Tuttavia, la maggior parte del lavoro di sviluppo si svolgerà nell'ambiente di MetaEditor. Per collegare MetaEditor a MQL5 Algo Forge, basta accedere con le credenziali del proprio account MQL5 nella scheda Community.



Cos'è Git e Come Funziona in MQL5 Algo Forge

Git è un sistema di controllo delle versioni che registra come apparivano i tuoi file in diversi momenti nel tempo. Aiuta a prevenire la perdita di modifiche importanti, facilita il rollback, supporta il branching per gli esperimenti e consente a più sviluppatori di collaborare allo stesso progetto.

In MetaEditor non si lavora direttamente con i comandi Git - tutto viene gestito attraverso un'interfaccia di facile utilizzo. Sotto sotto, tuttavia, Git esegue alcune operazioni essenziali. Analizziamoli nel dettaglio e vediamo cosa succede quando si utilizzano i comandi corrispondenti in MetaEditor.

Creiamo un nuovo progetto "Base_EA" nella cartella progetti condivisi.


Fate clic con il tasto destro del mouse sul file del progetto per visualizzare i comandi Git disponibili.


1. Git Add File/Folder - Modifiche in fase di Stadiazione

Quando si modificano i file, Git non li traccia automaticamente. Per comunicare al sistema che si desidera salvare le modifiche, si aggiungono i file all'indice. Questo può essere fatto tramite "Git Add File/Folder" o quando si selezionano i file per un commit.

Git prende un'istantanea dello stato attuale del file e lo prepara per il salvataggio - come se si trattasse di inserire i documenti in una cartella "Da firmare".

2. Git Commit - Salvataggio di un'Immagine del progetto

Facendo clic su 'Git Commit' in MetaEditor si acquisisce lo stato attuale del progetto e lo si salva nella cronologia delle versioni.

Ecco cosa succede:

  • Git confronta le modifiche con i file precedenti.
  • Memorizza solo le differenze (per risparmiare spazio).
  • Le modifiche vengono scritte in una cartella .git nascosta. 
  • Il commit riceve un identificatore SHA-1 univoco. 

Un commit è essenzialmente un punto di controllo, che mostra l'aspetto del progetto in quel momento. È sempre possibile tornare a un punto qualsiasi in un secondo momento e continuare da lì.

3. Git Push - Invio al Cloud di MQL5 Algo Forge

Quando si seleziona "Git Push", i commit locali vengono caricati sul server MQL5 Algo Forge. 

È come caricare una nuova versione del progetto nel cloud, ma con una cronologia completa delle modifiche.

Per comodità, MetaEditor esegue automaticamente il 'Git Push' subito dopo il 'Git Commit'. Questo assicura che la versione corrente sia sempre sincronizzata con il cloud. Se l'invio delle modifiche al server non riesce per qualsiasi motivo, è possibile eseguire 'Git Push' manualmente.

4. Git Pull - Recupero dell'Ultima Versione

Quando si collabora, qualcun altro può aggiornare il progetto prima di voi. Oppure potreste eseguire il commit delle modifiche da un computer e continuare a lavorare su un altro (o sullo stesso computer ma in un terminale differente). Per recuperare questi aggiornamenti, usare "Git Pull", il quale recupera tutte le modifiche da Forge.

Git scaricherà i nuovi commit dal cloud e li unirà alla versione locale.

5. Git Branch - Diramare e Sperimentare in Modo Sicuro

A volte si desidera testare le idee senza influenzare il progetto principale. Questo può essere fatto attraverso le branches. Ad esempio, si può creare un ramo per testare un indicatore diverso o aggiungere un filtro alla strategia. Ogni ramo ha un nome proprio e si può passare da un ramo all'altro liberamente.

Un ramo è semplicemente una linea di sviluppo parallela. Si può sperimentare quanto si vuole, poi si può scartare o unire al ramo principale.


6. Git Difference - Revisione delle Modifiche ai File

Questo comando mostra esattamente cosa è stato modificato in un file (riga per riga) prima del commit. Apre un pannello di confronto che evidenzia le righe aggiunte, eliminate o modificate.


7. Git Log - Visualizzazione della Cronologia del Progetto

Il comando 'Git Log' elenca tutti i commit con la loro data, l'autore e il messaggio di commit. In questo modo è possibile avere una chiara cronologia dello sviluppo del progetto e tenere traccia di chi ha modificato cosa e quando.


8. Git Revert - Annullare un Commit

Git Revert" crea un nuovo commit che annulla l'effetto di uno precedente senza cancellarlo dalla cronologia. Questo è il modo più sicuro per annullare le modifiche. Ma funziona in modo pulito solo con l'ultimo commit.

Questo comando può essere particolarmente utile se ci si accorge che un commit ha danneggiato l'Expert Advisor - è possibile annullarlo rapidamente senza influenzare altri commit. Tuttavia, se il commit annullato riguarda lo stesso codice dei commit successivi, può verificarsi un conflitto di unione, che deve essere risolto manualmente.


Pratiche di Sicurezza per Lavorare con i Progetti

Uno dei problemi più comuni nel controllo della versione sono i conflitti tra le versioni locali e quelle remote. Per evitarli, seguite delle semplici regole: Sempre prima pull. Quando si apre un progetto per continuare a lavorare, eseguire 'Git Pull' per assicurarsi di avere l'ultima versione.

Un'altra regola è sempre commit + push per ultimo. Quando si finisce di lavorare, eseguire 'Git Commit' (con il push automatico) per inviare gli aggiornamenti al cloud. Seguendo queste abitudini, il flusso di lavoro sarà fluido e privo di conflitti, garantendo allo stesso tempo che il codice sia sempre sicuro.


MQL5 Algo Forge - Tutto ciò che Serve per una Gestione Affidabile dei Progetti

Non è necessario digitare manualmente i comandi Git. Tutto è integrato in MetaEditor:

  • Aggiunta di file, commit e branching - tramite il menu contestuale del progetto.
  • Push and Pull - solo due pulsanti per la sincronizzazione con il cloud.
  • Branch e Revert - semplici comandi per il controllo dello sviluppo.
  • Cronologia delle modifiche - disponibile come registro chiaro e integrato.

Questi 8 comandi sono tutto ciò che serve per utilizzare MQL5 Algo Forge con sicurezza. Offrono uno sviluppo strutturato, una sperimentazione sicura, un supporto al lavoro di gruppo e una protezione completa contro la perdita di dati.



Inizia Oggi

MQL5 Algo Forge è più di un semplice archivio - è un sistema completo di gestione dei progetti per i trader algoritmici. Permette di tenere traccia di ogni modifica, di sperimentare senza rischi, di collaborare in team e di mantenere un codice stabile e affidabile.

Se una volta Git sembrava troppo complesso, MQL5 Algo Forge lo rende semplice. MetaEditor integra i comandi essenziali, in modo che possiate concentrarvi sulla scrittura del codice, sul salvataggio dei progressi, restando pronti a qualsiasi rollback.


Benvenuti a MQL5 Algo Forge!


Link utili:

Tradotto dal russo da MetaQuotes Ltd.
Articolo originale: https://www.mql5.com/ru/articles/18518

Ultimi commenti | Vai alla discussione (29)
Vladislav Boyko
Vladislav Boyko | 16 lug 2026 a 05:56
Vladislav Boyko #:
Puoi provare a cancellarti utilizzando Swagger:

Ho appena aggiunto un account di prova come collaboratore (non è attiva l'autenticazione a due fattori). Se non sei un amministratore dei collaboratori, questa procedura non funzionerà:

{

   "message": "user should be an owner or a collaborator with admin write of a repository",

   "url": "https://forge.mql5.io/api/swagger"

}

Dopo aver reso l'account di prova amministratore, sono riuscito a cancellarlo tramite Swagger. Ma è improbabile che tu sia un amministratore lì, quindi questo non ti sarà d'aiuto.


Aleksandr Slavskii
Aleksandr Slavskii | 16 lug 2026 a 06:38
Vladislav Boyko #:

Probabilmente sei un coautore di questo repository. Puoi provare a rimuovere il tuo nome utilizzando Swagger:

https://forge.mql5.io/api/swagger#/repository/repoDeleteCollaborator

È richiesta l'autenticazione (nella parte superiore della pagina):


Ho provato a farlo (dopo essermi aggiunto come coautore all'account di prova), ma ho ricevuto lo stato di risposta 401 (OTP fornito non valido), probabilmente perché ho attivato l'autenticazione a due fattori (2FA). Non voglio disattivare l’autenticazione a due fattori; provateci voi stessi, se volete.

Per me è un vero e proprio mistero. Mi chiede una sorta di codice, ma dove dovrei prenderlo? E come posso diventare coautore lì?

Capisco perfettamente che questo post, o qualunque cosa sia, l’ho trovato da qualche parte. Ma mi sorprende davvero non poter eliminare questa spazzatura di cui non ho bisogno.

Vladislav Boyko
Vladislav Boyko | 16 lug 2026 a 17:44
Aleksandr Slavskii #:
E come posso diventare coautore in quel progetto?

Ecco come: guarda il video qui sotto.

Immagino che tu abbia manifestato interesse in passato e che il proprietario del repository abbia deciso di darti l'opportunità di contribuire.

Vladislav Boyko
Vladislav Boyko | 16 lug 2026 a 17:50
Aleksandr Slavskii #:
Mi chiede una specie di chiave… ma dove diavolo dovrei trovarla?

C'è un'opzione per accedere con nome utente e password. Ma, come ho già scoperto, questo metodo funziona solo se sei un amministratore di questo repository. È altamente improbabile, quindi non ha senso perdere tempo a provarci.


Vladislav Boyko
Vladislav Boyko | 16 lug 2026 a 18:54
Aleksandr Slavskii #:
Come faccio a rimuovere il progetto di qualcun altro dalla mia pagina?

Sembra che tu non abbia la possibilità tecnica di smettere di essere un collaboratore autonomamente.

Prova a contattare singwai e chiedi loro di rimuoverti dall'elenco dei collaboratori.

Se quell'utente non risponde, molto probabilmente solo un amministratore di AlgoForge (che dovrebbe essere qualcuno di MQ) potrà rimuoverti dall'elenco dei collaboratori.

Testare i diversi tipi di media mobile per vedere quanto sono efficaci Testare i diversi tipi di media mobile per vedere quanto sono efficaci
Conosciamo tutti l'importanza per molti trader dell'indicatore Media Mobile. Esistono altri tipi di Media Mobile che possono essere utili nel trading; in questo articolo le identificheremo e faremo un semplice confronto tra ognuno di loro e il tipo di media mobile semplice più popolare per vedere quale può mostrare i risultati migliori.
Tutto quello che c'è da apprendere sulla struttura del programma MQL5 Tutto quello che c'è da apprendere sulla struttura del programma MQL5
Qualsiasi programma in qualsiasi linguaggio di programmazione ha una struttura specifica. In questo articolo, imparerete le parti essenziali della struttura del programma MQL5, comprendendo le basi della programmazione di ogni parte della struttura del programma MQL5 che può essere molto utile quando creiamo il nostro sistema di trading MQL5 o strumento di trading che può essere eseguito nella MetaTrader 5.
Comprendere il piazzamento degli ordini in MQL5 Comprendere il piazzamento degli ordini in MQL5
Quando si crea un qualsiasi sistema di trading, c'è un compito che dobbiamo affrontare in modo efficace. Questo compito è l'inserimento degli ordini o la gestione automatica degli ordini da parte del sistema di trading creato, perché è fondamentale in qualsiasi sistema. In questo articolo troverete quindi la maggior parte degli argomenti che dovete comprendere per creare il vostro sistema di trading in termini di inserimento degli ordini in modo efficiente.
Comprendere le funzioni in MQL5 con le applicazioni Comprendere le funzioni in MQL5 con le applicazioni
Le funzioni sono elementi critici in qualsiasi linguaggio di programmazione, aiutano gli sviluppatori ad applicare il concetto di (DRY), che significa non ripetersi, e molti altri vantaggi. In questo articolo troverete molte altre informazioni sulle funzioni e su come creare le nostre funzioni in MQL5 con semplici applicazioni che possono essere utilizzate o richiamate in qualsiasi sistema per arricchire il vostro sistema di trading senza complicare le cose.