Pubblica il codice del tuo articolo su MQL5 Algo Forge in 10 minuti: Una guida passo passo
Contenuto
- Introduzione
- Preparazione dell'ambiente
- Accesso
- Creazione di un progetto
- Tipo di progetto
- Denominazione
- File di progetto
- Organizzazione delle cartelle
- README
- Codifica e compilazione
- Commit e sincronizzazione con Git
- Modalità pubblica
- Progetti multi-articolo
- Checklist
- Conclusioni
Introduzione
Il tuo articolo è già stato pubblicato su MQL5? Quindi fai il passo successivo: trasforma il codice dell'articolo in un progetto completo su MQL5 Algo Forge. Non lasciare i file sorgente solo in un archivio. Spostali nel repository in modo che i lettori possano visualizzare la versione corrente del progetto, una struttura di file chiara, la cronologia delle modifiche e una descrizione precisa. Algo Forge è basato su Git, ma le principali azioni di Git sono già integrate nell'interfaccia di MetaEditor e il file README.md diventa la vetrina del progetto.
![]()
Preparazione dell'ambiente
Prepara le tue credenziali di accesso a MQL5, tutti i file dell'articolo e il file README.md completo. Non rimandare la pubblicazione del tuo progetto. Crealo ora, finché hai a portata di mano tutto il codice, le impostazioni e i materiali di supporto.
Bastano pochi semplici passaggi per pubblicare il tuo progetto nel repository. Pubblicare il codice richiederà non più di 10 minuti e potrai dimenticarti degli archivi disordinati, poiché il tuo progetto verrà archiviato e aggiornato nel cloud.
Accesso
Apri MetaEditor. Vai su Strumenti -> Opzioni -> Community e assicurati di aver effettuato l'accesso con il tuo account MQL5. Senza questa autenticazione, MetaEditor non sarà in grado di funzionare con MQL5 Algo Forge.

1. Accedi a MetaEditor utilizzando il tuo nome utente e la password di mql5.com.
Creazione di un progetto
Apri la finestra del Navigatore. Individua la cartella Shared Projects. Fai clic con il pulsante destro del mouse e seleziona Nuovo progetto. Crea qui il tuo progetto: questo è il punto di accesso corretto ad Algo Forge da MetaEditor.

2. Crea un nuovo progetto nell'editor di codice.
Tipo di progetto
Seleziona una tipologia di progetto in base al contenuto dell'articolo:
- Expert Advisor — se pubblichi un EA;
- Indicatore personalizzato — se pubblichi un indicatore;
- Script — se pubblichi uno script;
- Servizio — se pubblichi un servizio;
- Libreria — se pubblichi una libreria;
- Vuoto — se l'articolo contiene molti file che devono essere compilati separatamente e hai bisogno di un modello vuoto.
In caso di dubbio, e se il progetto ha un solo file principale compilato, scegli il tipo corrispondente al file principale compilato. In questo modo, MetaEditor creerà immediatamente una comoda struttura di progetto.
Se un articolo contiene un insieme di file diversi che devono essere compilati separatamente, allora tale progetto dovrebbe essere inizialmente creato come Vuoto e poi popolato manualmente con i file necessari.
Se si crea un progetto non vuoto e vi si inseriscono, ad esempio, due o più script, solo uno di loro sarà in grado di compilare. Quando proviamo a compilare altri script, riceviamo un errore che indica che un file di questo tipo esiste già nel progetto.

3. Seleziona il tipo di progetto da creare in base al contenuto dell'articolo
Denominazione
Utilizza il nome che ti invieremo. Se non hai ancora un nome, usa uno schema di denominazione chiaro:
[Material type]-[article ID]-[Short topic]
Per esempio: Article-21732-Code-Tears-And-Algo-Forge. Questo nome collega immediatamente il progetto all'articolo e semplifica la navigazione.
File di progetto
Includi tutto ciò di cui il lettore ha bisogno per compilare, eseguire o testare il codice:
- il file principale .mq5;
- il file .mqh;
- le librerie;
- i file di preimpostazioni .set;
- immagini;
- file CSV, TXT e altri dati;
- risorse aggiuntive utilizzate dal progetto.
Non limitarti a un singolo file principale. Se l'articolo si basa su un modulo, una risorsa o un set di impostazioni, assicurati di includerli anche nel progetto. Un progetto completo è sempre più utile al lettore di un archivio incompleto.

4. Riempi il progetto con i file dell'articolo
Organizzazione delle cartelle
Non mettere tutto insieme senza criterio. Organizza il progetto in modo che sia facile da consultare. Nella finestra Progetti, MetaEditor visualizza automaticamente i file in sezioni logiche: Sources, Headers, Resources, Settings e altri file, mostrando inoltre le dipendenze separatamente. Questo ordine consente di visualizzare immediatamente la posizione del codice principale, dei file di intestazione, delle risorse e dei file di servizio.
Se stai migrando un vecchio archivio, per prima cosa raccogli tutti i suoi file in una cartella di progetto ordinata, e poi collegali a MetaEditor. In questo modo non perderai nulla e non ti confonderai tra le diverse versioni.

5. Organizza i file nelle rispettive cartelle all'interno del progetto.
README
Prendi il file README.md già pronto che ti invieremo e posizionalo nella directory root del tuo progetto. Non inserirlo in sottocartelle. Il file README è ciò che introduce il progetto al lettore: spiega cos'è il codice, cosa è incluso nel progetto e da dove iniziare. Senza di esso, il repository appare come una raccolta di file senza nome.

6. Posiziona il file di descrizione del progetto README.md nella cartella root del progetto.
Codifica e compilazione
Prima di inviare, prenditi un minuto per controllare il tuo progetto:
- tutti i file dell'articolo sono stati aggiunti;
- il file .mq5 principale è presente;
- il file README.md si trova nella root;
- il progetto viene compilato senza errori;
- i vecchi file di testo (se li trasferisci da un archivio) vengono salvati in formato UTF-8.

7. Salvare tutti i file del progetto con codifica UTF-8
Se il progetto è costituito da un unico file principale compilato, la compilazione può essere eseguita facendo clic con il pulsante destro del mouse sul nome del progetto nella finestra del Navigatore e selezionando il comando Compila dal menu contestuale.
Se il progetto contiene più file compilati, ciascuno di essi deve essere compilato separatamente, altrimenti si verificherà un errore di compilazione.

8.1 Verificare che il progetto sia stato compilato correttamente.

8.2 Se ci sono molti file eseguibili da compilare, compilarli separatamente
Commit e sincronizzazione con Git
Aggiungi nuovi file a Git utilizzando il comando Git Add file/cartella, quindi fai clic su Git Commit. Scrivi un breve e chiaro messaggio di commit che indichi cosa hai aggiunto o aggiornato. Non lasciare vuoto questo campo. I commenti ben scritti aiutano sia te che i tuoi lettori a comprendere rapidamente la cronologia del progetto.
In uno scenario tipico, questo passaggio è sufficiente: MetaEditor esegue il commit dello stato corrente del progetto e invia le modifiche al cloud. Se il progetto esiste già e stai continuando a lavorarci, esegui prima un Git Pull e poi aggiungi le tue modifiche. Questo ti aiuterà a evitare conflitti inutili tra le versioni locali e quelle cloud.

9.1 Prima di iniziare a lavorare su un progetto, scarica le modifiche dal repository

9.2 Al termine, invia le modifiche locali al repository

9.3 Assicurati di fornire un messaggio di commit per ogni commit
Modalità pubblica
Una volta che il progetto è pronto e sincronizzato, apri la sua versione web su Algo Forge e rendilo pubblico. Fino ad allora, può rimanere privato. Pubblica il tuo progetto solo dopo esserti assicurato che contenga tutto il codice, un file README e una struttura funzionante.

10. Se il progetto deve essere pubblico, deseleziona la casella "progetto privato".
Progetti multi-articolo
Se hai una serie di articoli su una singola libreria, un indicatore o un Expert Advisor, non caricare solo l'ultima versione senza fornire il contesto. Aggiungi le versioni in sequenza dal primo all'ultimo articolo e se necessario, crea le relative release nell'interfaccia web di Algo Forge. In questo modo, il lettore vedrà subito quale versione del progetto corrisponde a quale articolo.

11. Per ogni articolo della serie, creare una nuova release del repository per preservare la cronologia dello sviluppo del progetto.
Checklist
Prima di terminare, assicurati che:
- il progetto sia stato creato in Shared Projects;
- il nome del progetto è corretto;
- tutti i file dell'articolo sono stati aggiunti;
- La struttura del progetto è leggibile e non genera confusione;
- il file README.md si trova nella root;
- il progetto sia compilato;
- le modifiche siano state committate e inviate ad Algo Forge;
- se necessario, che il progetto sia aperto all'accesso del pubblico.
Conclusioni
Non inserire il codice dell'articolo come semplice appendice alla pubblicazione. Trasformalo in un progetto. Questo renderà i tuoi contenuti più utili, semplificherà la manutenzione, preserverà la cronologia delle revisioni e offrirà ai lettori un comodo punto di accesso al tuo lavoro. L'articolo spiega l’idea. Il progetto MQL5 Algo Forge mostra questa idea in azione.
Assicurati di studiare le seguenti fonti per una panoramica dettagliata di MQL5 Algo Forge:
- Introduzione ad Algo Forge MQL5 — una guida di base per un avvio rapido;
- Code, tears and Algo Forge — transizione ad Algo Forge con esempi pratici; (in Inglese)
- Serie "Passaggio a MQL5 Algo Forge":
Tradotto dal russo da MetaQuotes Ltd.
Articolo originale: https://www.mql5.com/ru/articles/22699
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.
Arriva il Nuovo MetaTrader 5 e MQL5
Dal “Best Pass” a soluzioni robuste: Esplorazione della superficie di ottimizzazione in MetaTrader 5
Utilizza i canali MQL5.community e le chat di gruppo
Dalle matrici ai modelli: Come costruire una pipeline di machine learning in MQL5 ed esportarla nel formato ONNX
- 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
Именование
Utilizzate il nome che vi forniremo. Se non avete ancora un nome, seguite uno schema chiaro:
Ad esempio: Article-21732-Code-Tears-And-Algo-Forge. Un nome di questo tipo collega immediatamente il progetto all'articolo e semplifica la navigazione.
Vi preghiamo di non renderlo uno standard obbligatorio per chi ha le proprie idee su come organizzare i repository.
La mia idea è questa. Ho creato un'organizzazione in cui saranno raccolti i repository relativi a una stessa serie di articoli. È come una "cartella" che raggruppa i repository collegati tra loro, aggiunge contesto e permette di dare ai repository nomi concisi. Si apre l’organizzazione e al suo interno sono raccolti in modo ordinato tutti i repository relativi alla serie di articoli (e solo quelli).
Ad esempio: Article-21732-Code-Tears-And-Algo-Forge. Un nome del genere collega immediatamente il progetto all’articolo e semplifica la navigazione.
La mia situazione è la seguente:
Pertanto, questo schema non mi va affatto bene.
L’idea in sé è buona e si adatta perfettamente alla maggior parte degli autori (credo). Chiedo però di consentire di non attenersi a questa regola, se una persona è in grado di spiegare in modo argomentato perché non fa al caso suo.
Типизация
È possibile suddividerli in diversi repository (spesso).
È un'idea per chi ha abbastanza entusiasmo e disciplina da dedicarsi a questa attività.
Grazie
Vi preghiamo di non renderlo uno standard obbligatorio per chi ha le proprie idee su come organizzare i repository.