MetaTrader 5 / Komut dosyaları

Benzerlik Tabanlı Piyasa İzleme Sembol Haritalama Komut Dosyası - MetaTrader 5 için komut dosyası

Enrique Enguix
88
(4)

Bu komut dosyası, MetaTrader 5 geliştiricilerinin ve kullanıcılarının yaygın bir sorunu çözmelerine yardımcı olmak için tasarlanmış bir kod referansıdır: yapılandırılmış sembol adları ile aracılar tarafından sağlanan gerçek adlar arasındaki uyumsuzluk.

Bir geliştirici olarak, yapılandırılabilir Uzman Danışmanlar (EA'lar), özellikle de çoklu sembol stratejilerini işleyenler üzerinde çalışırken bu zorlukla karşılaştım. Kullanıcıların sembol adlarını brokerlarının kurallarına göre ayarlamaması yaygındır, bu da EA'ların düzgün çalışmamasına neden olur. Örneğin, EA ayarlarında "EURUSD" belirtilmişse, ancak aracı "EURUSD.i" veya "EURUSD.m" kullanıyorsa, EA doğru sembolü bulamayacak ve işlem yapamayacaktır.

Bu kod, Market Watch penceresinde mevcut olanlar arasında kullanıcı tarafından belirtilene en çok benzeyen sembolü belirlemek için Levenshtein mesafe algoritmasını kullanır.

Bir uzman olmasam da, bu çözümün kişisel deneyimlerimde etkili olduğu kanıtlanmıştır ve diğer geliştiriciler için yararlı bir araç olabilir.


Ana uygulamalar ve kullanımlar:

  • Yapılandırılabilir EA'lara entegrasyon: Bu komut dosyası, broker sembol adlarına otomatik olarak uyum sağlaması gereken EA'lara veya komut dosyalarına entegrasyon için bir referans olarak tasarlanmıştır.
  • Özel brokerlar için uyarlanabilirlik: Bir broker sembolleriiçin özel isimler kullanıyorsa, bu yaklaşım onları doğru şekilde eşleştirmeye ve yapılandırma hatalarını önlemeye yardımcı olur.
  • Konfigürasyon doğrulaması: Bu, EA'ların sağlam ve uyarlanabilir olmasını sağlamak için geliştirme ve test aşamasında bir doğrulama aracı olarak kullanılabilir.
  • Eğitim ve öğrenim: MQL5 öğrenenler için bu kod diziler, dizeler ve dizeler arasındaki mesafelerin hesaplanması gibi dinamik fonksiyonlarla nasıl çalışılacağını gösterir.


Önemli uyarı:

Bu kod benim kişisel deneyimlerime dayanmaktadır ve projelerimde işe yarayan bir çözümdür. Ancak:

  • MQL5 konusundauzman değilim ve bu çözüm tüm durumlar için en verimli veya uygun çözüm olmayabilir.
  • Her kullanıcının veya projenin ihtiyaçlarına bağlı olarak daha gelişmiş veya özel yaklaşımlar olabilir.

Kullanıcıları ve geliştiricileri kodu denemeye, kendi bağlamlarına uyarlamaya ve gerekirse daha uygun olabilecek diğer alternatifleri araştırmaya davet ediyorum.


Pratik entegrasyon örneği:

"EURUSD" ticareti yapan bir EA geliştirdiğinizi varsayalım. Kullanıcı ortamında, broker bu sembole "EURUSD.i" olarak sahiptir. Bu kodu EA'ya entegre ederek:

  • Kullanıcı, temel yapılandırma olarak "EURUSD" girebilecektir.
  • Kod otomatik olarak Market Watch'ta arama yapacak ve doğru sembolü ("EURUSD.i") eşleyecektir.
  • EA sorunsuz bir şekilde çalışacak ve hassas manuel konfigürasyonlara olan ihtiyacı ortadan kaldıracaktır.



Sonuç:

Bu komut dosyası yalnızca EA'ların farklı ortamlarda işlevselliğini sağlamak için yararlı olmakla kalmaz, aynı zamanda daha gelişmiş çözümler geliştirmek için bir başlangıç noktası görevi görür.

Bu sorunu çözmenin başka yolları olsa da, bu uygulamanın diğer MetaTrader 5 geliştiricileri ve kullanıcıları için değerli bir araç olacağını umuyorum.

MetaQuotes Ltd tarafından İspanyolcadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/es/code/54553