
Introduzione a MQL5 Algo Forge
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.
Link utili:
Tradotto dal russo da MetaQuotes Ltd.
Articolo originale: https://www.mql5.com/ru/articles/18518
Avvertimento: Tutti i diritti su questi materiali sono riservati a MetaQuotes Ltd. La copia o la ristampa di questi materiali in tutto o in parte sono proibite.





- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
La radice del catalogo MQL5 è il vostro progetto personale chiamato denkir/mql5. Non può essere condiviso ed è vostro personalmente.
Tutti i file nella cartella principale di MQL5 possono essere utilizzati per la memorizzazione in Algo Forge.
Ma i progetti nel catalogo dei Progetti condivisi sono esclusi dalla cartella MQL5 condivisa e sono il punto di ingresso per progetti separati o condivisi. Creando un progetto in Progetti condivisi, è possibile dare accesso in lettura o scrittura ad altri utenti.
Non si può condividere
Può essere condiviso. Sarebbe strano se un repository git non potesse essere condiviso tramite il server forgejo. Ecco il primo repository da explore (non l'ho controllato personalmente):
https://forge.mql5.io/darashikoh/mql5
Può essere condiviso. Sarebbe strano se un repository git non potesse essere condiviso tramite il server forgejo. Ecco il primo repository di explore (non l'ho controllato personalmente):
https://forge.mql5.io/darashikoh/mql5
Sì. Ho controllato che sia pubblico. 🙂 👍 Sembra essere qualcosa di equivalente a GITHUB, solo orientato verso MQL.
Come si fa a usare"Git Clone" per clonare il repository di un altro utente, da MetaEditor e non dal sito web di AlgoForge?
Quando lo faccio dal sito web di AlgoForge, tramite il link "Apri in MetaEditor", non funziona, probabilmente perché sto usando esclusivamente la modalità "portatile". Probabilmente sarà problematico anche nel caso di installazioni multiple.
Non ho trovato alcuna documentazione su come usare l'opzione di menu "Git Clone" in MetaEditor.
EDIT: Finora l'unica soluzione che ho trovato è stata quella di usare un client Git esterno per clonare prima il repository (sotto la directory " Progetti condivisi", dopo di che MetaEditor l'avrebbe riconosciuto).
Buongiorno,
Con le nuove versioni di git non è possibile unirsi e scaricare un progetto dalla comunità mql5 come mql5book. non è possibile cliccare sul pulsante "join", o "activate algoforge". come fare per favore?