MT4 Göstergelerini Dakikalar İçinde MT5'e Dönüştürme
Yayınlanan: 2021-02-03MT4 Göstergeleri Dakikalar İçinde Nasıl MT5'e Dönüştürülür: MT4 üzerinde çalışacak uzman danışmanları MT5 platformunda da çalışabilmelerini sağlamak için dönüştürmek ister misiniz?
Burada uzun yöntemler yok!
MQL4 kodunu MQL5 dil koduna bu kadar kolay bir şekilde dönüştürme konusunda size rehberlik edeceğiz; sevineceksin! Devrim niteliğindeki MetaTrader serisinin başarısının kredisi Metaquotes Inc'e aittir ve şimdi sonunda MT5'i gelecek için yazılım olarak işaretlemeye karar verdiler.
Şirket, çabalarının çoğunu MetaTrader 5 platformuna (MT5) odaklamış görünüyor ve şüphesiz MT4'ten daha iyi bir şey.
Peki nasıl göç edeceksiniz? Okumaya devam et!
Neden Dakikalar İçinde MT4'ten MT5'e Geçiş Yapmalısınız?
Bu planlı geçişle programcıların ve tüccarların karşılaştığı en büyük soru, MT4 ve MT5'in aynı anda çalışamayacağı gerçeğini göz önünde bulundurarak, MQL4 dilinde kodlanmış uzmanları MT5 platformunda nasıl verimli bir şekilde çalıştırabileceğinizdir.
Bu sorunun daha da derinlerine indiğimizde, aşağıdaki gibi bazı gerçeklerle karşılaşıyoruz:
- MT4 ve MT5, aynı programlama dillerini kullanarak çalıştırılamaz. Bu nedenle, MT4 üzerinde çalışacak şekilde kodlanmış uzmanlar MT5 üzerinde çalışmayacak ve bu da sahneyi zorlaştırıyor.
- MT4'ün çok sıkıcı ve sıkıcı bir geleceği var ve bunu MT4'ün gelecekteki güncellemeleriyle ilgili duyuruyu takip ettikten sonra aktarabiliriz. Bu nedenle, yazılım artık yeterli meyve suyuna sahip olmayacak.
- Metaquotes, MT4'ün aksine daha işlevsel avantajlar elde etmesi nedeniyle MT5'in işlevselliğinde çok sayıda değişiklik yaptı.
MT4 Göstergelerini başarıyla MT5'e Dönüştürme: Temel süreç
Teknik olarak imkansız göründüğü için MT4 EA'yı MT5'te kullanmak ve mevcut MQ4 EA'nın kaynak dosyasının MT5'te mükemmel şekilde çalışması için değiştirilmesi (bazı unsurları) gerekiyor.
MQL4'ün dilinin ve ortamının MQL4'ünkinden nasıl farklı olduğu konusunda iyi bilginiz varsa , o zaman kesinlikle tüm bu değişiklikleri yapabilirsiniz.
Burada, MT4 EA by Average.mq4 EA yardımıyla MT4 EA'nın MT5 formatına dönüştürülmesini göstereceğiz. Bunu seçmenin nedeni, ilk olarak, tüm MT4 kurulumları ile önceden yüklenmiş olarak gelmesi ve ikinci olarak, programcıların çoğu bu EA'ya aşinadır.
“Moving Average.mq4” Örneğini Kullanma ve MT4 EA'yı MT5 EA'ya Dönüştürme
- MetaEditor 4'te açmanız gereken “MQL4\Experts\Moving Average.mq4” adlı kaynak dosyayı bulacaksınız.
- Ctrl + A, Ctrl + C tuşlarına basarak + Tüm metni Kopyala'yı seçin.
- F4 tuşuna basın ve MT4 istemci terminalinin açık olduğunu gördüğünüz MetaEditor'u açın.
- MT5 masaüstü terminalini istediğiniz aracıdan başarıyla indirdikten sonra, MT5 istemcisinin örneğini açın.
- Şimdi MetaEditor 5'i açın ve aşağıda gösterdiğimiz gibi yeni bir EA (şablon) oluşturun.
- “Ad” alanını doldurun ve EA şablonunuza uygun bir ad atayın. Bunu yaptıktan sonra, yakında çıkacak olan EA'nızı MT5 üzerine inşa edeceksiniz.
- Şimdi, Ctrl + A'ya dokunarak şablondaki tüm metni seçtikten ve hepsini sildikten sonra, MT4'ten kopyaladığınız metni yapıştırın.
MetaTrader 5, diğer emir sistemi (örneğin, aç, kapat, seç, gönder vb.) yöntemleriyle birlikte gelir. Ancak, MT4'ten MT5 EA'ya dönüşüm için uzmanlarımıza göre en kolay yöntem bir kitaplık kullanmaktır – mq4.mqh.
Daha öte…
Bu kitaplığı öneriyoruz çünkü programcının MQL5'teki siparişlerle MQL4'te olduğu gibi çalışmasına izin veriyor. Kısacası, kütüphane OLS'nin (düzenli dil sistemi) MQL4'ünkine benzer olmasına izin verir.
mq4.mqh kitaplık dosyasını seçilen programcılardan çevrimiçi olarak alabilirsiniz . Böyle bir programcıdan bizimkini aldıktan sonra biraz işlevsellik ekledik. Her şeyi tek bir dosyada birleştirdik. Bu kütüphane sadece sipariş sistemlerini kapsamak içindir.
- MT5 platformunun örneğinin açık olduğundan emin olun
- MT5 platformunu açtıktan sonra Dosya -> Veri klasörünü aç” …\MQL5\Include” öğesine dokunun.
- Kütüphane dosyasını (mq4.mqh) bu klasöre bırakın.
- MT5 platformunu yenilemek artık önemli. Kapatın ve tekrar açın.
- Şimdi MetaEditor5'i ve uzman danışmanın kaynak kodunu açın.
- SimpleEA.mq5'in kaynak koduna şu dizeyi ekleyin: #include <mq4.mqh>
- Dizeyi kaynak koduna ekledikten sonra “F7” düğmesine basın ve SimpleEA.mq5'in kaynak kodunu birleştirin. Ayrıca MetaEditor 5'in araç çubuğunda belirtilen bir “Derleme” seçeneği vardır.
- Montajı tamamladıktan sonra iki hata alacaksınız. MT4 ve MT5 platformları arasındaki ayrımın vurgulandığı yer burasıdır.
MetaEditor 4'te iMA yazmanız yeterlidir, burada “shift” fiyat mumunun numarasıdır. Bu tanıtıcı tarafından EA/göstergeden değer almak için MetaEditor5'teki her bir EA ve işlev için tanıtıcıların oluşturulması gerekir.
MT4 Göstergelerini MT5'e Dönüştürme : Kaynak kodunu değiştirme
Bu bölümde, MT5'te mükemmel şekilde çalıştığından emin olmak için MT4'ün kaynak kodunu düzenlemeye odaklanacağız. Bu kaynak kodu değişiklikleri, burada değiştirdiğiniz şey kaynak kodundaki yalnızca bir satır olduğundan, yalnızca gösterge üzerinde geçerlidir.
Şimdi bu değişiklikleri gerçekleştiren adımları açıklayalım. Yapalım mı?
- İşlemi başlatmak için MA-gösterge tutamacı için değişken bir Tamsayı türü oluşturun.
- INVALID_HANDLE adında bir değer atayın. Aşağıdaki resim de aynı şeyi açıklıyor.
Uzman danışmanlar ve göstergeler, çalışma zamanında başlatmalar için OnInit() bölümüyle birlikte gelir. Form şöyle:
Bunu okumak için yardım dosyasını kullanabilirsiniz. MetaEditor5'teki Yardım Dosyasına erişmek için “F1” tuşuna dokunmanız yeterlidir. Ayrıca MQL5 Topluluğunda, Yardım Dosyasında bulabileceğiniz birçok bilgiyi sağlayan bir belge de bulacaksınız. bu belgeye erişmek için bu bağlantıyı kullanın –
https://www.mql5.com/en/docs/basis/function/events
- Ayrıca, bu kodu (kaynak kodu) EA'mızın metnine ekleyin. Bu bölümün yokluğunda MetaEditor 5'ten Alt + M tuşlarına basın.
- İşlevler listesinde beş işlev görünür, ancak OnInit() işlevinin varsayılan olarak orada olmadığını göreceksiniz. Bu yüzden manuel olarak anlatmamız gerekiyor ve aşağıdaki resim size nasıl oluşturulacağını gösterecek:
- Kaynak koduyla eşleştirilmiş OnInit() işlevini görmek için Alt + M'ye dokunmanız yeterlidir.
- Şimdi, OnInit() bölümüne aşağıdaki kodu yazın
MT4 MetaEditor'da genellikle aşağıdaki kodu yazmanız gerekir:
Öte yandan, kod MT5 için bir gösterge için bir tanıtıcı olarak anlatılıyor ve bu nedenle MT5'te aşağıdaki kodu yazıyorsunuz:
- Şimdi, Hareketli Ortalama EA'dan değer elde etmek için, gelecek görüntüde göreceğiniz tutamacı kullanarak bir işlev yazmanız yeterlidir:
Daha önce tartıştığımız gibi, MetaEditor5 kullanarak EA/indicator için değer elde etmek için bir fonksiyon oluşturmak gereklidir ve değerleri almak için kullandığımız fonksiyonun CopyBuffer() dediğimiz bir dizgisi vardır.
Görevi, göstergeden dizinize veri kopyalamaktır ve belirli bir miktarda belirli bir göstergenin belirli bir arabelleğinin verilerini alır.
Mevcut belgeyi okumak için -https://www.mql5.com/en/docs/series/copybuffer bağlantısını gözden geçirmeniz yeterlidir.
Kod şöyle:
MA, “0” olarak numaralandırılmış 1 arabelleğe sahiptir. Şimdi MA'dan bir değer kopyalayın. MetaTrader4'te aşağıdaki gibi yazılmıştır:
Son “0”, MA'nın grafikteki son mumdaki değeriyle eşleşir (sıfır mum). MT5 MetaEditor'da bunu aşağıdaki gibi yazacaksınız:
- İndeks konumundan MA dizisine bir değer kopyalamanız gerekir.
- Kodu derlerken, başlangıçta her iki hatayı da temizlemek için hareket edin. Bunu yapmak için, ilk kayıttaki hatayı işaretleyin ve üzerine çift tıklayın.
- Şimdi, EA'nız için MT5 kaynak kodunda hatanın bulunduğu yere gideceksiniz. Bu örnek için 114. satırda hata kodunu alacaksınız.
- Hatayı gösteren satırı silmeniz ve aşağıda belirttiğimiz şekilde MaGet(0) kodunu içeren bir dize ile değiştirmeniz gerekir.
Hata kodunun altı her zaman kırmızı mürekkeple çizilir ve ma MaGet(0) kodunu hemen altında bulabilirsiniz.
- Hata kodunu kaldırdıktan ve MaGet(0) dizesini yerleştirdikten sonra, F7 tuşuna basabilir ve kodu bir kez daha derleyebilirsiniz.
- Kaynak kodunu derledikten sonra, şimdi yalnızca bir hata görüneceğini fark edeceksiniz.
- Bu son hata kodunu değiştirmek için, önceki hata kodunu temizlerken benimsediğimiz aynı sıranın izlenmesi gerekir. Hata kodunun satırına ulaşın, çift tıklayın, yorum yapın ve değiştirin! Bu kadar!
- Hata kodunun altını çizen yeşil mürekkep bulacaksınız. Hemen aşağıda, hata bölümünün yerini alacak kodu bulacaksınız. Bu şekilde hatayı ortadan kaldırıyoruz.
Değiştirme için aşağıdaki dizeyi kullanmalısınız ve eşiğindesiniz:
if (Open[1]>MAGet(0) && Kapat[1]<MAGet(0)
- Hata kodunu yorumlayıp değiştirdikten sonra kodun derlenmesi zorunludur. Kaynak kodunu daha önce yaptığımız gibi F7 tuşuna basarak derledikten sonra tüm hataların kaldırıldığını göreceksiniz.
- MT4 EA'yı MT5'te kullanabileceğiniz uygun bir sürüme dönüştürme sürecinin tamamını ele aldık. Sonuç olarak, şimdi MT5 platformunda rahatlıkla çalıştırabilirsiniz!
MT4 Göstergelerini MT5'e Dönüştürme: Sonuç
İlk bakışta MT4 Göstergelerini MT5'e Nasıl Çeviririm sorusu yanıtlanması zor bir soru gibi görünse de yukarıda bahsettiğimiz yöntem bunu sağlıyor. Tüm programı MetaEditor 5 programlama arayüzünde ve bunu da sıfırdan oluşturmanın ne kadar acınası olacağını hayal edin.
Neyse ki, kısayol mevcuttu ve biz de burada aynısını açıkladık. Son zamanlarda MT5'in kullanımı önemli ölçüde arttı ve hatta MT4'ten MT5'e geçiş konusunda yeni yöntemlerin ortaya çıkması bekleniyor. MT5 platformu sürekli olarak gelişmektedir.
MT5 platformu çok sayıda değişiklik geçirdi ve önümüzdeki zamanlarda da birkaç işlevin daha eklenmesini bekliyoruz. Kuşkusuz, MT4'ten çok daha iyi.
Forex ticaretinde yeni misiniz veya mevcut Forex VPS barındırma planınızdan memnun değil misiniz?
Pekala, Accuweb hosting'in Forex planları, 6 farklı fiyat noktasında ultra uygun planlar sunarak, Forex VPS hosting için yeni kriterleri belirledi.
Kullanıcılar bu planlarla Forex ticaret deneyimlerinden memnunlar ve eğer Forex'te yeniyseniz bu fırsatı kaçırmayın! Ayrıca 7 günlük ücretsiz deneme süresi alıyorsunuz. Daha fazlasını öğrenmek için BURAYA dokunun .