Makale Kodunuzu 10 Dakikada MQL5 Algo Forge'da Yayınlayın: Adım Adım Kılavuz
İçindekiler
- Giriş
- Ortamın hazırlanması
- Giriş yapma
- Proje oluşturma
- Proje türü
- Adlandırma
- Proje dosyaları
- Klasörleri düzenleme
- README
- Kodlama biçimi ve derleme
- Git'e commit etme ve senkronizasyon
- Herkese açık mod
- Çok makaleli projeler
- Kontrol listesi
- Sonuç
Giriş
Makaleniz MQL5'te zaten yayınlandı mı? Ardından bir sonraki adımı atın: makaledeki kodu MQL5 Algo Forge'da tam teşekküllü bir projeye dönüştürün. Kaynak dosyalarını yalnızca bir arşivde bırakmayın. Okuyucuların projenin mevcut sürümünü, net bir dosya yapısını, değişiklik geçmişini ve net bir açıklamayı görebilmesi için bunları depoya taşıyın. Algo Forge Git tabanlıdır, ancak ana Git eylemleri zaten MetaEditor arayüzüne yerleştirilmiştir ve README.md projenin yüzü haline gelir.
![]()
Ortamın hazırlanması
MQL5 giriş bilgilerinizi, makaledeki tüm dosyaları ve tamamlanmış bir README.md dosyasını hazırlayın. Projenizi yayınlamayı daha sonraya ertelemeyin. Tüm kod, ayarlar ve destekleyici materyaller parmaklarınızın ucundayken şimdi oluşturun.
Projenizi depoya yayınlamak için sadece birkaç basit adımı uygulamanız yeterlidir. Kodunuzu yayınlamak 10 dakikadan fazla sürmez. Projeniz bulutta saklanacak ve güncellenecek, böylece dağınık arşivlerden kurtulacaksınız.
Giriş yapma
MetaEditor'ı açın. Araçlar -> Seçenekler -> Topluluk bölümüne gidin ve MQL5 hesabınızla giriş yaptığınızdan emin olun. Bu yetkilendirme olmadan MetaEditor, MQL5 Algo Forge ile çalışamayacaktır.

1. mql5.com kullanıcı adınızı ve şifrenizi kullanarak MetaEditor'da oturum açın
Proje oluşturma
Kılavuz penceresini açın. Shared Projects klasörünü bulun. Üzerine sağ tıklayın ve Yeni Proje'yi seçin. Projenizi burada oluşturun: bu, MetaEditor'dan Algo Forge'a doğru giriş noktasıdır.

2. Kod düzenleyicide yeni bir proje oluşturun
Proje türü
Makale içeriğine göre bir proje türü seçin:
- Uzman Danışman - bir Uzman Danışman yayınlıyorsanız;
- Özel Gösterge - bir gösterge yayınlıyorsanız;
- Komut Dosyası - bir komut dosyası yayınlıyorsanız;
- Hizmet - bir hizmet yayınlıyorsanız;
- Kütüphane - bir kütüphane yayınlıyorsanız;
- Boş - makalede ayrı ayrı derlenmesi gereken birçok dosya mevcutsa ve boş bir şablona ihtiyacınız varsa.
Kararsız kalırsanız ve projede yalnızca bir ana derlenebilir dosya varsa, ana derlenebilir dosyayla eşleşen türü seçin. Bu şekilde, MetaEditor hemen uygun bir proje çerçevesi oluşturacaktır.
Bir makale ayrı ayrı derlenmesi gereken bir dizi farklı dosya içeriyorsa, böyle bir proje başlangıçta Boş olarak oluşturulmalı ve daha sonra dosyalarla bağımsız olarak doldurulmalıdır.
Boş olmayan bir proje oluşturur ve içine örneğin iki veya daha fazla komut dosyası yerleştirirseniz, bunlardan yalnızca biri derlenebilecektir. Diğer komut dosyalarını derlemeye çalışırken, bu tür bir dosyanın projede zaten var olduğuna dair bir hata alırız.

3. Makalenin içeriğine göre oluşturulacak proje türünü seçin
Adlandırma
Size göndereceğimiz adı kullanın. Henüz bir adınız yoksa, net bir adlandırma düzeni kullanın:
[Material type]-[article ID]-[Short topic]
Örneğin: Article-21732-Code-Tears-And-Algo-Forge. Bu ad, projeyi doğrudan makaleyle ilişkilendirir ve gezinmeyi kolaylaştırır.
Proje dosyaları
Okuyucunun kodu derlemek, çalıştırmak veya test etmek için ihtiyaç duyduğu her şeyi ekleyin:
- Ana .mq5 dosyası;
- .mqh dosyaları;
- Kütüphaneler;
- .set ön ayarları;
- Görüntüler;
- CSV, TXT ve diğer veriler;
- Projenin kullandığı ek kaynaklar.
Kendinizi tek bir ana dosya ile sınırlamayın. Makale bir modül, kaynak veya ayar setine dayanıyorsa, lütfen bunu da ekleyin. Eksiksiz bir proje, okuyucu için her zaman tamamlanmamış bir arşivden daha yararlıdır.

4. Projeyi makaledeki dosyalarla doldurun
Klasörleri düzenleme
Her şeyi bir araya sıkıştırmayın. Projeyi gezinmesi kolay olacak şekilde düzenleyin. Projeler penceresinde, MetaEditor dosyaları mantıksal bölümlere göre otomatik olarak görüntüler: Sources, Headers, Resources, Settings and files ve Dependencies şeklinde ayrı ayrı görüntüler. Bu düzen, ana kodun, header'ların, kaynakların ve hizmet dosyalarının yerini hemen görmenize yardımcı olur.
Eski bir arşivi taşıyorsanız, önce tüm dosyaları düzgün bir proje klasöründe toplayın ve ardından bunları MetaEditor'a bağlayın. Bu şekilde hiçbir şey kaybetmez veya sürümler arasında kafa karışıklığı yaşamazsınız.

5. Dosyaları proje içindeki ilgili klasörlerine yerleştirin
README
Size göndereceğimiz hazır README.md dosyasını alın ve projenizin kök dizinine yerleştirin. Alt klasörlere koymayın. README, projeyi okuyucuya tanıtan şeydir: kodun ne olduğunu, projeye nelerin dahil edildiğini ve nereden başlanacağını açıklar. Bu olmadan, depo isimsiz dosyaların bir koleksiyonu gibi görünür.

6. README.md proje açıklama dosyasını proje kök klasörüne yerleştirin
Kodlama biçimi ve derleme
Göndermeden önce projenizi kontrol etmek için bir dakikanızı ayırın:
- Makaledeki tüm dosyalar eklendi;
- Ana .mq5 dosyası yerinde;
- README.md dosyası kök dizinde bulunuyor;
- Proje hatasız derlendi;
- Eski metin dosyaları (bir arşivden aktarıyorsanız) UTF-8 olarak kaydedildi.

7. Tüm proje dosyalarını UTF-8 kodlama biçiminde kaydedin
Proje tek bir derlenebilir ana dosyadan oluşuyorsa, Kılavuz penceresinde proje adına sağ tıklanarak ve içerik menüsünden Derle komutu seçilerek derleme gerçekleştirilebilir.
Proje birden fazla derlenebilir dosya içeriyorsa, her biri ayrı ayrı derlenmelidir, aksi takdirde bir derleme hatası alırız.

8.1 Projenin başarıyla derlenip derlenmediğini kontrol edin

8.2 Derlenecek çok sayıda yürütülebilir dosya varsa, bunları ayrı ayrı derleyin
Git'e commit etme ve senkronizasyon
Git Add File/Folder komutunu kullanarak Git'e yeni dosyalar ekleyin ve ardından Git Commit'e tıklayın. Ne eklediğinizi veya güncellediğinizi belirten kısa ve net bir commit mesajı yazın. Bu alanı boş bırakmayın. İyi yorumlar hem sizin hem de okuyucularınızın daha sonra proje geçmişini hızlı bir şekilde anlamasına yardımcı olur.
Tipik bir senaryoda şu adım yeterlidir: MetaEditor mevcut proje durumunu commit eder ve değişiklikleri buluta gönderir. Proje zaten mevcutsa ve üzerinde çalışmaya devam ediyorsanız, önce Git Pull işlemini gerçekleştirin ve ardından düzenlemelerinizi ekleyin. Bu, yerel ve bulut sürümleriniz arasında gereksiz çakışmaları önlemenize yardımcı olacaktır.

9.1 Bir proje üzerinde çalışmaya başlamadan önce, değişiklikleri depodan çekin

9.2 Çalışmanız bittiğinde, yerel değişikliklerinizi depoya gönderin

9.3 Her commit için bir commit mesajı sağladığınızdan emin olun
Herkese açık mod
Proje hazır olduğunda ve senkronize edildiğinde, Algo Forge'da web sürümünü açın ve herkese açık hale getirin. O zamana kadar gizli kalabilir. Tüm koda, README'ye ve çalışan bir yapıya sahip olduğundan emin olduktan sonra projenizi yayınlayın.

10. Projenin herkese açık olması gerekiyorsa, özel proje kutusundaki işareti kaldırın
Çok makaleli projeler
Tek bir kütüphane, gösterge veya Uzman Danışman hakkında bir makale seriniz varsa, en son sürümü bağlamından kopuk bir şekilde yüklemeyin. Sürümleri ilk makaleden sonuncuya doğru sırayla ekleyin ve gerekirse Algo Forge web arayüzünde ilgili sürümleri oluşturun. Bu şekilde, okuyucu projenin hangi versiyonunun hangi makaleyle ilgili olduğunu hemen görecektir.

11. Serideki her makale için, proje geliştirme geçmişini korumak amacıyla deponun yeni bir sürümünü oluşturun
Kontrol listesi
Bitirmeden önce şunlardan emin olun:
- Proje Shared Projects'te oluşturuldu;
- Proje adı doğru;
- Makaledeki tüm dosyalar eklendi;
- Proje yapısı anlaşılır durumda ve kafa karışıklığına yol açmaz;
- README.md dosyası kök dizinde bulunuyor;
- Proje derlendi;
- Değişiklikler commit edildi ve Algo Forge'a gönderildi;
- Gerekiyorsa, proje herkese açık hale getirildi.
Sonuç
Makale kodunu yayının basit bir eki olarak bırakmayın. Bunu bir projeye dönüştürün. Bu, içeriğinizi daha kullanışlı hale getirecek, bakımı basitleştirecek, revizyon geçmişinizi koruyacak ve okuyuculara çalışmanıza uygun bir giriş noktası sağlayacaktır. Makale fikri açıklar. MQL5 Algo Forge projesi ise bu fikrin işleyişini gösterir.
MQL5 Algo Forge hakkında ayrıntılı bir genel bakış için aşağıdaki kaynakları incelediğinizden emin olun:
- MQL5 Algo Forge'u Kullanmaya Başlama - hızlı başlangıç için temel bir kılavuz;
- Kod, gözyaşları ve Algo Forge - pratik örneklerle Algo Forge'a geçiş;
- "MQL5 Algo Forge'a Geçiş" serisi:
MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal makale: https://www.mql5.com/ru/articles/22699
Uyarı: Bu materyallerin tüm hakları MetaQuotes Ltd'ye aittir. Bu materyallerin tamamen veya kısmen kopyalanması veya yeniden yazdırılması yasaktır.
Yeni Raylara Adım Atın: MQL5'te Özel Göstergeler
"En İyi Geçişten" Sağlam Çözümlere: MetaTrader 5'te Optimizasyon Yüzeyini Keşfetme
İşte Karışınızda Yeni MetaTrader 5 ve MQL5
En Güçlü Makine Öğrenimi Destekli İşlem Platformunu Nasıl Oluşturduk: Arşivler, Forumlar ve Sürümler Aracılığıyla MQL ve MetaTrader’ın Gelişim Süreci
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Web sitesi politikasını ve kullanım şartlarını kabul edersiniz
Именование
Size ileteceğimiz adı kullanın. Henüz bir ad yoksa, anlaşılır bir şemaya uyun:
Örneğin: Article-21732-Code-Tears-And-Algo-Forge. Bu tür bir isim, projeyi makaleyle doğrudan ilişkilendirir ve gezinmeyi kolaylaştırır.
Depoların düzenlenmesine ilişkin kendi görüşleri olan kişiler için bunu zorunlu bir standart haline getirmeyin lütfen.
Benim fikrim şöyle: Tek bir makale serisiyle ilgili depoları bir araya getirecek bir organizasyon oluşturdum. Bu, birbiriyle ilişkili depoları bir "klasör" gibi bir araya getiren, bağlam katan ve depolara kısa ve öz isimler verilmesini sağlayan bir yapıdır. Organizasyonu açtığınızda, makale serisiyle ilgili tüm depolar (ve sadece onlar) düzenli bir şekilde bir araya getirilmiş olarak karşınıza çıkar.
Örneğin: Article-21732-Code-Tears-And-Algo-Forge. Bu tür bir ad, projeyi doğrudan makaleyle ilişkilendirir ve gezinmeyi kolaylaştırır.
Benim durumum şöyle:
Bu nedenle bu şema bana hiç uymuyor.
Fikirin kendisi iyi ve çoğu yazar için mükemmel bir seçim olacaktır (bence). Ancak, bir kişinin bunun kendisine neden uygun olmadığını makul gerekçelerle açıklayabilmesi durumunda, bu kurala uymamasına izin verilmesini rica ediyorum.
Типизация
O zaman bunları birkaç depoya bölebilirsiniz (çoğu zaman).
Bu, uğraşmak için yeterli heves ve disipline sahip olanlar için bir fikir olarak sunulabilir.
Teşekkürler
Depoların düzenlenmesine ilişkin kendi görüşleri olan kişiler için bunu zorunlu bir standart haline getirmeyiniz.