English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
preview
MQL5 Algo Forge'u Kullanmaya Başlama

MQL5 Algo Forge'u Kullanmaya Başlama

MetaTrader 5Örnekler |
1 259 20
MetaQuotes
MetaQuotes

Yeni MQL5 Algo Forge, projelerinizin bir listesinden daha fazlasıdır - geliştiriciler için tam teşekküllü bir sosyal ağdır. Değişiklikleri kolayca takip edebilir, proje geçmişini koruyabilir, benzer düşünen profesyonellerle bağlantı kurabilir ve yeni fikirler keşfedebilirsiniz. Burada ilginizi çeken yazarları takip edebilir, ekipler oluşturabilir ve algoritmik alım-satım projeleri üzerinde işbirliği yapabilirsiniz.  

MQL5 Algo Forge, modern sürüm kontrol sistemi olan Git üzerine inşa edilmiştir. Her geliştiriciyi proje geçmişini izlemek, dallar oluşturmak, denemeler yapmak ve ekipler halinde çalışmak için güçlü bir araç setiyle donatır. Ama tüm bunlar nasıl işliyor? Bu makalede, MQL5 Algo Forge'u kullanmaya nasıl başlayacağınızı açıklayacağız.


MQL5 Algo Forge'da depolama

Yazılım geliştirmek genellikle zaman ve hata ayıklama gerektiren uzun bir süreçtir. Kodun yalnızca yazılması ve bakımının yapılması değil, aynı zamanda güvenli bir şekilde saklanması da gerekir. Modern alım-satım algoritmaları, basit hareketli ortalama çaprazlamalarının çok ötesindedir. Matematiksel kütüphaneler, sinir ağları ve makine öğrenimi üzerine inşa edilirler. Bu, geliştiricilerin değişiklikleri hızlı bir şekilde kaydetmek ve güncel koda her yerden erişmek için uygun bir yola ihtiyaç duydukları anlamına gelir. 

MQL5 Storage, MetaEditor'a entegre yerleşik sürüm kontrol sistemidir. Öncesinde, tüm geçmişin MetaQuotes sunucularında depolandığı merkezi bir sürüm kontrol sistemi olan Subversion 1.7'yi kullanıyordu. İnternet bağlantısı olmadan değişiklikleri işleyemiyor, önceki sürümlere geri dönemiyor veya geçmişi görüntüleyemiyordunuz. Bugün, tamamen daha güçlü ve esnek bir çözüm olan MQL5 Algo Forge ile değiştirildi.

MQL5 Algo Forge farklı çalışıyor:


MQL5 Algo Forge (Git tabanlı) MQL5 Storage (eski)
Geçmiş depolama Yerel ve bulut Yalnızca MetaQuotes bulutu
Çevrimdışı çalışma Tam (commitler, rollbackler, diff) Sınırlı veya mevcut değil
Çalışma hızı Anında, yerel Ağa/sunucuya bağlı

Algo Forge size özgürlük verir. Bir tren üzerinde çevrimdışı çalışabilir, deneysel dallar oluşturabilir, ara sonuçları kaydedebilir ve daha sonra bunları ana dalla birleştirebilirsiniz.

Algo Forge'daki bir proje deposu sadece bir bulut klasörü değildir. Yerel sürücünüzde bulunan ve MQL5 Algo Forge bulut sunucusu ile senkronize olan yapılandırılmış bir Git deposudur. Birkaç katmandan oluşur:

MetaEditor'da çalışma dizini

MetaEditor'da düzenlediğiniz .MQ5, .MQH, .SET ve diğer dosyalarınız. Burası Uzman Danışman kodunu yazdığınız, göstergeleri bağladığınız ve stratejileri test ettiğiniz yerdir. Siz değişiklikleri açıkça ekleyene kadar Algo Forge bunları takip etmez.                                                                   

Hazırlama alanı (İndeks)

Değişiklikleri proje geçmişine kaydetmeden önce onları hazırlarsınız. 'Git Add' komutunu kullanarak bir sonraki commit'e dahil edilecek dosyaları seçersiniz. Bu, değişiklikleri mantıksal olarak gruplandırmanıza olanak tanır - örneğin, alım-satım mantığındaki ayarlamaları arayüz veya yapılandırmadaki güncellemelerden ayrı olarak kaydetmek gibi.


Yerel depo


'Git Commit' ile değişiklikleri işlediğinizde, Algo Forge dosyalarınızın anlık görüntüsünü bilgisayarınızdaki yerel depoda saklar. İstediğiniz zaman önceki sürümleri inceleyebilir, daha önceki bir duruma geri dönebilir veya Uzman Danışmanınızın performansını hangi değişikliklerin etkilediğini analiz edebilirsiniz.


MQL5 Algo Forge'da uzak depo


Hazır olduğunuzda, 'Git Push'u kullanarak MQL5 Algo Forge sunucusuna commitleri gönderebilirsiniz. Bu, güvenli bir yedekleme oluşturur ve değişikliklerinizi ekip üyelerinin kullanımına sunar. Tek başınıza çalışsanız bile, bu yararlıdır: kodunuz bulutta güvenli bir şekilde saklanır ve proje geçmişiniz bozulmadan kalır.


MQL5 Algo Forge'a nasıl bağlanılır?

MQL5 Algo Forge ile çalışmaya başlamak için tek ihtiyacınız olan bir MQL5 hesabıdır. Giriş bilgilerinizle https://forge.mql5.io/ adresinden giriş yapmanız yeterlidir.  


Giriş yaptıktan sonra tüm özelliklerini keşfedebilirsiniz. Herkese açık projeler Keşfet bölümünde yer alır; bu bölümden projelere göz atabilir, kodlarını inceleyebilir, kendi çalışmalarınızı paylaşabilir ve başkalarıyla işbirliği yapabilirsiniz.



Ancak, geliştirme çalışmalarınızın çoğu MetaEditor ortamında gerçekleşecektir. MetaEditor'ı MQL5 Algo Forge'a bağlamak için Topluluk sekmesinden MQL5 hesabınızla giriş yapmanız yeterlidir.



Git nedir ve MQL5 Algo Forge'da nasıl çalışır?

Git, dosyalarınızın zaman içinde farklı noktalarda nasıl göründüğünü kaydeden bir sürüm kontrol sistemidir. Önemli değişikliklerin kaybolmasını önlemeye yardımcı olur, geri almayı kolaylaştırır, deneyler için dallar oluşturmayı destekler ve birden fazla geliştiricinin aynı proje üzerinde işbirliği yapmasına olanak sağlar.

MetaEditor'da doğrudan Git komutlarıyla çalışmazsınız - her şey kullanıcı dostu bir arayüz aracılığıyla gerçekleştirilir. Ancak Git, kaputun altında birkaç temel işlemi yürütmektedir. Bunları parçalara ayıralım ve MetaEditor'da ilgili komutları kullandığınızda ne olduğunu görelim.

Herkese açık projeler klasöründe yeni bir "Base_EA" projesi oluşturalım.


Kullanılabilir Git komutlarını görmek için proje dosyasına sağ tıklayın.


1. Git Add File/Folder - Değişiklikleri hazırlama

Dosyaları düzenlediğinizde Git bunları otomatik olarak takip etmez. Sisteme bu değişiklikleri kaydetmek istediğinizi söylemek için indekse dosya eklersiniz. Bu, 'Git Add File/Folder' aracılığıyla veya bir commit için dosya seçerken yapılabilir.

Git, dosyanın mevcut durumunun anlık görüntüsünü alır ve kaydetmeye hazırlar - sanki ihtiyacınız olan belgeleri bir "İmzalanacak" klasörüne yerleştirmişsiniz gibi.

2. Git Commit - Projenin anlık görüntüsünü kaydetme

MetaEditor'da 'Git Commit'e tıklamak projenizin mevcut durumunu yakalar ve sürüm geçmişine kaydeder.

Şunlar gerçekleşir:

  • Git, değişikliklerinizi önceki dosyalarla karşılaştırır.
  • Yalnızca farklılıkları depolar (yerden tasarruf etmek için).
  • Değişiklikler gizli bir .git klasörüne yazılır. 
  • Commit benzersiz bir SHA-1 tanımlayıcısı alır. 

Bir commit esasen bir kontrol noktasıdır ve projenin o anda nasıl göründüğünü gösterir. Böyle bir noktaya daha sonra her zaman geri dönebilir ve oradan devam edebilirsiniz.

3. Git Push - MQL5 Algo Forge bulutuna gönderme

'Git Push'u seçtiğinizde, yerel commitleriniz MQL5 Algo Forge sunucusuna yüklenir. 

Bu, projenizin yeni bir sürümünü buluta yüklemek gibidir, ancak tam bir değişiklik geçmişine sahiptir.

Kolaylık sağlamak için MetaEditor, 'Git Commit'ten hemen sonra otomatik olarak 'Git Push' gerçekleştirir. Bu, mevcut sürümünüzün her zaman bulutla senkronize edilmesini sağlar. Değişiklikleri sunucuya göndermek herhangi bir nedenle başarısız olursa, 'Git Push'u manuel olarak çalıştırabilirsiniz.

4. Git Pull - En son sürümü alma

İşbirliği içinde çalışırken, projeyi sizden önce başka biri güncelleyebilir. Ya da bir bilgisayardaki değişiklikleri işleyip başka bir bilgisayarda (veya aynı bilgisayarda ancak farklı bir terminalde) çalışmaya devam edebilirsiniz. Bu güncellemeleri almak için Forge'dan tüm değişiklikleri alan 'Git Pull'u kullanın.

Git, yeni commitleri buluttan indirecek ve bunları yerel sürümünüzle birleştirecektir.

5. Git Branch - Güvenli bir şekilde dallar oluşturma ve denemeler yapma

Bazen ana projeyi etkilemeden fikirleri test etmek istersiniz. Bu, dallar aracılığıyla yapılabilir. Örneğin, farklı bir göstergeyi test etmek veya stratejinize bir filtre eklemek için bir dal oluşturabilirsiniz. Her dalın kendi adı vardır ve bunlar arasında serbestçe geçiş yapabilirsiniz.

Bir dal, basitçe paralel bir gelişim çizgisidir. İstediğiniz kadar deneme yapabilir, ardından ya atabilir ya da ana dalla birleştirebilirsiniz.


6. Git Difference - Dosya değişikliklerini inceleme

Bu komut, commit yapmadan önce bir dosyada tam olarak nelerin değiştiğini (satır satır) gösterir. Eklenen, silinen veya düzenlenen satırları vurgulayan bir karşılaştırma paneli açar.


7. Git Log - Proje geçmişini görüntüleme

'Git Log' komutu tüm commitleri tarih, yazar ve commit mesajıyla birlikte listeler. Bu size proje gelişiminin net bir zaman çizelgesini verir ve kimin neyi ne zaman değiştirdiğini izlemenizi sağlar.


8. Git Revert - Bir commiti geri alma

'Git Revert', bir önceki commitin etkisini ortadan kaldıran ancak geçmişten silmeyen yeni bir commit oluşturur. Bu, değişiklikleri geri almanın en güvenli yoludur. Ancak yalnızca en son committe temiz bir şekilde çalışır.

Bu komut, özellikle bir commitin Uzman Danışmanı bozduğunu fark ederseniz yararlı olabilir - diğer commitleri etkilemeden bu commiti hızlı bir şekilde geri alabilirsiniz. Ancak, geri alınan commit daha sonraki commitlerle aynı kodu etkiliyorsa, manuel olarak çözülmesi gereken bir birleştirme çakışması meydana gelebilir.


Projelerle güvenli çalışma ipuçları

Sürüm kontrolünde en sık karşılaşılan sorunlardan biri yerel ve uzak sürümler arasındaki çakışmalardır. Bunlardan kaçınmak için şu basit kurallara uyun: Her zaman önce Pull yapın. Çalışmaya devam etmek için bir projeyi açtığınızda, en son sürüme sahip olduğunuzdan emin olmak için ‘Git Pull’ çalıştırın.

Diğer bir kural ise her zaman en son Commit + Push yapın. Çalışmayı bitirdiğinizde, güncellemelerinizi buluta göndermek için 'Git Commit'i (otomatik Push ile) çalıştırın. Bu alışkanlıklara uymak iş akışınızı sorunsuz ve çatışmasız tutarken kodunuzun her zaman güvende olmasını sağlayacaktır.


MQL5 Algo Forge - Güvenilir proje yönetimi için ihtiyacınız olan her şey

Git komutlarını manuel olarak yazmanıza gerek yoktur. Her şey MetaEditor'a entegre edilmiştir:

  • Dosyalar ekleme, değişiklikleri işleme ve dallar oluşturma - projenin içerik menüsü aracılığıyla.
  • Push ve Pull - bulut ile senkronizasyon için sadece iki düğme.
  • Branch ve Revert - geliştirme sürecinin kontrolü için basit komutlar.
  • Değişiklik geçmişi - net, yerleşik bir günlük şeklinde mevcuttur.

MQL5 Algo Forge'u güvenle kullanmak için ihtiyacınız olan tek şey bu 8 komuttur. Yapılandırılmış geliştirme, güvenli deneyler, ekip çalışması desteği ve veri kaybına karşı tam koruma sağlarlar.



Bugün kullanmaya başlayın

MQL5 Algo Forge, depolamadan daha fazlasıdır - algoritmik yatırımcılar için eksiksiz bir proje yönetim sistemidir. Her değişikliği takip etmenize, risk almadan denemeler yapmanıza, ekipler halinde işbirliği yapmanıza ve kararlı, güvenilir kodlar oluşturmanıza olanak tanır.

Git bir zamanlar çok karmaşık geldiyse, MQL5 Algo Forge bunu basitleştirir. MetaEditor temel komutları entegre eder, böylece kod yazmaya, ilerlemeyi kaydetmeye ve herhangi bir geri dönüş için hazır olmaya odaklanabilirsiniz.


MQL5 Algo Forge'a hoş geldiniz!


Faydalı linkler:

MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal makale: https://www.mql5.com/ru/articles/18518

Son yorumlar | Tartışmaya git (20)
Yuriy Bykov
Yuriy Bykov | 5 Eyl 2025 saat 12:33
Fernando Carreiro #:

Bir test olarak, Heikin Ashi yayınının açıklamasını Markdown formatında bir README dosyası olarak ekledim ve depoya iş ledim.

Lütfen bu değişiklikle ilgili bildirim alıp almadığınızı ve çatalı güncelleyip güncelleyemeyeceğinizi kontrol edin.

Bunu depo web arayüzünde gördüm:

Çatalı daha sonra güncellemeye çalışacağım

Yuriy Bykov
Yuriy Bykov | 5 Eyl 2025 saat 12:49
Fernando Carreiro #:

Bir test olarak, Heikin Ashi yayınının açıklamasını Markdown formatında bir README dosyası olarak ekledim ve depoya iş ledim.

Lütfen bu değişiklikle ilgili bildirim alıp almadığınızı ve çatalı güncelleyip güncelleyemeyeceğinizi kontrol edin.

Öncelikle, yerel çatal klonum henüz en son commit'e sahip değil:


Git belgelerine göre orijinal depoya bağlanıyor:

Çatalın web arayüzüne gidiyorum ve bunu görüyorum:


"Sync" düğmesine tıklıyorum ve ardından MetaEditor'da bir Pull yapıyorum:


Gördüğünüz gibi, tüm taahhütleriniz güvenli bir şekilde çatalda ve ardından yerel bilgisayarımdaki çatalın klonunda Pull'dan sonra.

Bu dokümantasyon sayfasında konsol komutlarını kullanarak senkronize etmenin başka yolları da var, ancak tüm komutlar zaten senkronize olduğu için bunları test etmedim.

MetaEditor'daki Commit ve Push komutunun çatal için nasıl davranacağını görmek için daha sonra daha fazla deneme yapacağım. Acaba düzenlemeleri orijinal depoya da göndermeye çalışacak mı?

[Silindi] | 5 Eyl 2025 saat 13:00
@Yuriy Bykov #:

İlk olarak, yerel çatal klonum henüz en son işleme sahip değil:

Git belgelerine göre orijinal depoyu bağlama:

Çatalın web arayüzüne gidiyorum ve şunu görüyorum:

"Eşitle" düğmesine tıklıyorum ve ardından MetaEditor'da bir Çekme işlemi yapıyorum:

Gördüğünüz gibi, tüm taahhütleriniz güvenli bir şekilde çatalda ve ardından Pull'dan sonra yerel bilgisayarımdaki çatalın klonundaydı.

Belgelerin bu sayfasında konsol komutlarını kullanarak senkronize etmenin başka yolları da var, ancak bunları test etmedim çünkü tüm komutlar zaten senkronize edilmiş durumda.

Bunların hepsi güzel, ancak "Klon" ve "Çatal "ın aynı şey olmadığını ve MetaQuotes'un benimsediği yöntemin sadece projeyi senkronize edebilmek için MetaEditor dışında ekstra müdahale gerektirdiğini kanıtladınız.

Bir "klon" ekstra depolama alanı veya ekstra adım gerektirmezken, "çatallar" için AlgoForge sunucularında ekstra depolama alanı gerektirdiğinden bahsetmiyorum bile.

MetaQuotes uygulamalarının etkili kullanım için çok "kusurlu" olduğunu düşünüyorum ve harici bir Git istemcisi kullanmaya veya VSCode kullanmaya devam edeceğim (AlgoForge ile sorunsuz çalışıyor).

Vladislav Boyko
Vladislav Boyko | 5 Eyl 2025 saat 13:22
Fernando Carreiro #:
MetaQuotes uygulamalarının etkili kullanım için çok "kusurlu" olduğunu düşünüyorum ve harici bir Git istemcisi kullanmaya veya VSCode kullanmaya devam edeceğim (AlgoForge ile sorunsuz çalışıyor).

Sizi harici Git istemcileri kullanıcıları topluluğumuza davet etmekten mutluluk duyuyoruz!😁

Yuriy Bykov
Yuriy Bykov | 5 Eyl 2025 saat 14:25
Fernando Carreiro #:

MetaQuotes uygulamasını etkili bir şekilde kullanmak için çok "kusurlu" buluyorum ve harici bir Git istemcisi veya VSCode kullanmaya devam edeceğim (AlgoForge ile sorunsuz çalışıyor).

Maalesef şimdilik durum gerçekten de böyle. Ben de şimdilik harici bir istemci kullanmayı tercih ediyorum. Ancak son 5 ayda MetaEditor'a eklenenleri karşılaştırırsanız, gözle görülür bir ilerleme olduğunu görürsünüz. Sadece daha önce yeni depo ile çalışmak için hiçbir araç yoktu ve şimdi en azından bu kadar azaltılmış bir sürüm var.

MQL5 Algo Forge'a Geçiş (Bölüm 1): Ana Deponun Oluşturulması MQL5 Algo Forge'a Geçiş (Bölüm 1): Ana Deponun Oluşturulması
MetaEditor'da projeler üzerinde çalışırken, geliştiriciler genellikle kod sürümlerini yönetme ihtiyacıyla karşılaşırlar. MetaQuotes kısa süre önce GIT'e geçiş yapılacağını açıkladı ve kod sürümleme ve işbirliği özelliklerine sahip MQL5 Algo Forge'u duyurdu. Bu makalede, yeni ve daha önce var olan araçların nasıl daha verimli kullanılabileceğini tartışacağız.
MetaTrader 5 ve diğer MetaQuotes uygulamalarını HarmonyOS NEXT'e yükleme MetaTrader 5 ve diğer MetaQuotes uygulamalarını HarmonyOS NEXT'e yükleme
MetaTrader 5 ve diğer MetaQuotes uygulamalarını DroiTong kullanarak HarmonyOS NEXT cihazlarına kolayca yükleyin. Telefonunuz veya dizüstü bilgisayarınız için ayrıntılı bir adım adım kılavuz.
MQL5 Algo Forge'a Geçiş (Bölüm 2): Birden Fazla Depo ile Çalışma MQL5 Algo Forge'a Geçiş (Bölüm 2): Birden Fazla Depo ile Çalışma
Bu makalede, projenin kaynak kodunun herkese açık bir depoda saklanmasını organize etmek için olası yaklaşımlardan birini ele alıyoruz. Proje geliştirme için net ve uygun kurallar oluşturmak amacıyla kodu farklı dallara dağıtacağız.
MQL5'te kantitatif analiz: Başarılı bir algoritmanın uygulanması MQL5'te kantitatif analiz: Başarılı bir algoritmanın uygulanması
Kantitatif analizin ne olduğu ve büyük oyuncular tarafından nasıl kullanıldığı konusunu inceleyeceğiz. MQL5 dilinde kantitatif analiz algoritmalarından birini oluşturacağız.