Fan sayfamıza katılın
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
- Görüntülemeler:
- 52
- Derecelendirme:
- Yayınlandı:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
XML belgelerini ayrıştırmak için kütüphane. Üçüncü taraf kütüphaneleri kullanmadan MQL5'te uygulama.
Kütüphaneyi projelerinize bağlamak için bir önişlemci komutu eklemeniz yeterlidir
#include <Xml\XmlBase.mqh>Kullanım örneği:
#include <Xml\XmlBase.mqh> CXmlDocument doc; void OnStart() { string file = "File.xml"; string err; if (doc.CreateFromFile(file,err)) { CXmlElement * xmlItem = doc.FDocumentElement.GetChild(0); for (int i=0; i<xmlItem.GetChildCount(); i++) if (xmlItem.GetChild(i).GetName() == "LAYER") { CXmlElement* layer = xmlItem.GetChild(i); for (int j=0; j<layer.GetChildCount(); ++j) { if (layer.GetChild(j).GetName() == "NEURON") { /* .... */ } } } } }
Notlar:
- Bu kütüphane, sınıf kurucularının parametre kabul edemediği o uzak zamanlarda oluşturulmuştur;
- Sadece Xml standardının temel işlevselliği uygulanmıştır;
- Yorumlar, düzeltmeler, eklemeler, genişletmeler memnuniyetle karşılanır.
Ana bileşenler:
CXmlDocument sınıfı - belgelerin bir dosyadan/dizeden yüklenmesini ve değişikliklerin dosyaya kaydedilmesini sağlar.
CreateX fonksiyonları belgeleri ayrıştırır ve FDocumentElement aracılığıyla erişilen hiyerarşik bir DOM modeli oluşturur
class CXmlDocument { private: void DoElementTrimText(CXmlElement &aXmlItem) ; public: CXmlElement FDocumentElement; void CXmlDocument (); void ~CXmlDocument (); void Clear(); void CopyTo (CXmlDocument &xmlDoc); bool CreateFromText (const string& xml, string& err); bool CreateFromFile (const string filename, string& err); bool SaveToFile (const string filename); string GetXml(); };
CXmlElement sınıfı, herhangi bir Xml belgesinin ana arayüzüdür. Elemanlara, niteliklerine ve içeriklerine erişim sağlar
class CXmlElement { private: string FName; CXmlAttribute* FAttributes[]; CXmlElement *FElements[]; string FText; CXmlElement* FParent; public: //--- kurucu yöntemler void CXmlElement (); void ~CXmlElement (); void Init (const string aName, const CXmlElement* aParent=NULL, const string aText=""); void CopyTo (CXmlElement &aDst); virtual void Clear (); //--- ana hizmet yöntemleri string GetName () const; void SetName (const string aName); string GetText () const; void SetText (const string aText); CXmlElement* GetParent () const; void SetParent (CXmlElement* aParent); //--- öznitelik hizmeti yöntemleri int GetAttributeCount () const; int GetAttributeIndex (CXmlAttribute* aAttr) const; CXmlAttribute* GetAttribute (const string aName) const; CXmlAttribute* GetAttribute (int aPos) const; string GetAttributeValue (const string aName) const; CXmlAttribute* AttributeInsertAt (CXmlAttribute* aAttr, int aPos); CXmlAttribute* AttributeAdd (CXmlAttribute* aAttr); CXmlAttribute* AttributeInsertAfter (CXmlAttribute* aAfter, CXmlAttribute* aAttr); CXmlAttribute* AttributeInsertBefore (CXmlAttribute* aBefore, CXmlAttribute* aAttr); CXmlAttribute* AttributeRemove (CXmlAttribute* aAttr); CXmlAttribute* AttributeRemove (int aPos); void AttributeDelete (CXmlAttribute* aAttr); void AttributeDelete (int aPos); void AttributeDeleteAll (); //--- çocuk servis yöntemleri int GetChildCount() const; int GetChildIndex (CXmlElement* aElement) const; CXmlElement* GetChild (const string aName) const; CXmlElement* GetChild (int aPos) const; string GetChildText (const string aName) const; CXmlElement* ChildInsertAt (CXmlElement* aElement, int aPos); CXmlElement* ChildAdd (CXmlElement* aElement); CXmlElement* ChildInsertAfter (CXmlElement* aAfter, CXmlElement* aElement); CXmlElement* ChildInsertBefore (CXmlElement* aBefore, CXmlElement* aElement); CXmlElement* ChildRemove (CXmlElement* aElement); CXmlElement* ChildRemove (int aPos); void ChildDelete (CXmlElement* aElement); void ChildDelete (int aPos); void ChildDeleteAll (); string GetXml(int aLevel); };
CXmlAttribute sınıfı - özniteliklerle çalışmak için basit bir sınıf
class CXmlAttribute { private: string FName; string FValue; public: //--- kurucu yöntemler void CXmlAttribute (); void ~CXmlAttribute (); void Init (const string aName, const string aValue); virtual void Clear (); virtual CXmlAttribute* Clone (); //--- hizmet yöntemleri string GetName () const; void SetName (const string aName); string GetValue () const; void SetValue (const string aValue); };
MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/712
Fiyat / Hacim göstergesi
Makine öğrenimi için daha basit çiplerden biri
RSI Alert - Multi Timeframe Overbought/Oversold Detector
Herhangi bir sembol ve zaman diliminde aşırı alım ve aşırı satım koşullarını izleyen basit ama etkili bir RSI göstergesi. RSI tanımladığınız eşikleri geçtiğinde açılır pencere ve mobil bildirimler yoluyla anında uyarılar gönderir.
RSI_AC_Stochastic_Signal
Trend yönünü (RSI) ve alım satım sinyallerini (Stokastik + Hızlandırıcı) gösteren gösterge.
ZigZag_INT
ZigZag göstergesinin hesaplama hızı açısından optimize edilmiş versiyonu.