Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Telegram üzerinde bulun!
Fan sayfamıza katılın
Komut dosyasını ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Komut dosyasını beğendiniz mi? MetaTrader 5 terminalinde deneyin
Görüntülemeler:
27
Derecelendirme:
(36)
Yayınlandı:
2025.05.29 11:50
xmlparser-doc.zip (36.87 KB)
xmlparserdll.zip (235.42 KB)
\MQL5\Include\ \MQL5\Scripts\
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

CXmlElement sınıfı, XML ile çalışmak için aşağıdaki özellikleri sağlar:

  • Bir XML belgesinden (veya tek bir öğeden) bir DOM modeli (nesne ağacı) oluşturma;
  • öznitelikleri, iç içe geçmiş öğeleri ve metni okuyabilir, değiştirebilir, oluşturabilir, silebilir;
  • Nesne modelini XML olarak kaydedin.
Sınıf Arayüzü

class CXmlElement 
{
public:
  string        Name;
  CXmlElement   *Elements[];
  CXmlAttribute *Attributes[];
  string        Text;
  ...  
  string SetXml (string xml);
  string GetXml ();
};

Eleman niteliklerine erişmek için basit bir CXmlAttribute sınıfı kullanılır:

class CXmlAttribute 
{
public:
  string Name;
  string Value;
};

Aşağıda XML ayrıştırması yapan ve DOM ağacından bilgi yazdıran örnek bir kod bulunmaktadır:

void OnStart()
  {
   CXmlElement xmldoc;
   string xml="<!--Comment--><ROOT><ITEM  Attr1=\"HELLOW\">Terminal &quot;MT5&quot;</ITEM></ROOT>";
   Print("XML="+xml);
   string res=xmldoc.SetXml(xml);
   if(res=="") 
     {
      Print("Kök öğe: "+xmldoc.Name);
      Print(" Öznitelikler:"+string(ArraySize(xmldoc.Attributes)));
      Print(" İç içe geçmiş elemanlar: "+string(ArraySize(xmldoc.Elements)));
      Print(" İç içe geçmiş ilk öğe:"+xmldoc.Elements[0].Name);
      Print(" İlk niteliği: "+xmldoc.Elements[0].Attributes[0].Name+"="+xmldoc.Elements[0].Attributes[0].Value);
      Print(" Metni: "+xmldoc.Elements[0].Text);
      Print("XML="+xmldoc.GetXml());
     }
   else
      Print(res);
  }

İşte sonuç:


Ek bilgi:

  • Mevcut sürüm DOM'a yalnızca öğeleri, bunların niteliklerini ve metni yükler. Diğer tüm bilgi türleri (yorumlar, açıklamalar, ...) göz ardı edilir. Sonuç olarak, kodlama ve sürüm bilgileri kaybolur ve XML her zaman doğru şekilde kaydedilmez.
  • Kaydederken, <"&'> servis karakterlerinin &lt:, &gt;, ... varlıklarına dönüştürülmesi gerçekleştirilir. standarda uygun olarak.
  • Bu ayrıştırıcı, bu tür belgelerle tam teşekküllü çalışmaktan çok XML ayrıştırma için tasarlanmıştır.

Dosya konumu:

  • Terminal_data_terminal_directory\MQL5\Libraries\xmlparser.dll
  • Terminal Veri Kataloğu\MQL5/Include\xmlparser.mqh
  • Terminal Veri Kataloğu\MQL5\Scripts\xmlparserscript.mq5

MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/97

iBBFill iBBFill

Gölgeli (dolu) Bollinger Bantları.

iMovment iMovment

Hareket göstergesi, hareketin yönüne ve büyüklüğüne bağlı olarak farklı renk ve tonlarda çubuklar görüntüler.

SignalAI - Indicator SignalAI - Indicator

Bu Gösterge Alış veya Satış Sinyalini gösterir

Custom MA Cross with RSI Indicator for MT5 Custom MA Cross with RSI Indicator for MT5

MT5 için RSI Göstergeli Özel MA Çapraz, yatırımcıların trend değişikliklerini belirlemelerine ve momentum kullanarak girişleri filtrelemelerine yardımcı olmak için tasarlanmış çok yönlü bir ticaret aracıdır. Bu gösterge, iki hareketli ortalamayı (MA) Göreceli Güç Endeksi (RSI) ile birleştirerek net alım ve satım sinyalleri sunar.