und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 991
- Rating:
- Veröffentlicht:
- 2016.06.10 10:32
- Aktualisiert:
- 2016.11.22 07:34
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Eine Bibliothek zum Parsen von XML-Dokumenten. Reines MQL5, es werden keine externen Bibliotheken verwendet.
Um die Bibliotheken zu nutzen, einfach laden mit:
#include <Xml\XmlBase.mqh>
Beispiel:
#include <Xml\XmlBase.mqh> CXmlDocument doc; void OnStart() { string file = "File.xml"; string err; if (doc.CreateFromText(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") { /* .... */ } } } } }
Anmerkungen:
- Die Bibliothek wurde geschrieben, als die Konstruktoren in MQL5 noch ohne Parameter waren;
- Nur die grundlegenden Funktionen der Xml-Standards werden unterstützt;
- Bitte informieren Sie mich über Fehler, Vorschläge und Fehlerkorrekturen.
Haupt-Komponenten:
Die Klasse CXmlDocument bietet Methoden für das laden von XML-Dokumenten aus Dateien/Zeichenketten und die Speicherung in Dateien.
Die CreateX Funktionen parst XML-Dokumente und erstellt eine Hierarchie von DOM-Elemente FDocumentElement, mit denen dann weitergearbeitet werden kann.
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(); };
Die Klasse CXmlElement ist die Basis-Schnittstelle jedes XML-Dokuments. Es bietet Zugriff auf die Elemente, Eigenschaften und den Inhalt
class CXmlElement { private: string FName; CXmlAttribute* FAttributes[]; CXmlElement *FElements[]; string FText; CXmlElement* FParent; public: //--- constructor methods void CXmlElement (); void ~CXmlElement (); void Init (const string aName, const CXmlElement* aParent=NULL, const string aText=""); void CopyTo (CXmlElement &aDst); virtual void Clear (); //--- main service methods string GetName () const; void SetName (const string aName); string GetText () const; void SetText (const string aText); CXmlElement* GetParent () const; void SetParent (CXmlElement* aParent); //--- attribute service methods 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 (); //--- child service methods 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); };
Die Klasse CXmlAttribute ist einfache Klasse für die Bearbeitung der Attribute
class CXmlAttribute { private: string FName; string FValue; public: //--- constructor methods void CXmlAttribute (); void ~CXmlAttribute (); void Init (const string aName, const string aValue); virtual void Clear (); virtual CXmlAttribute* Clone (); //--- service methods string GetName () const; void SetName (const string aName); string GetValue () const; void SetValue (const string aValue); };
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/712

Diese Version des DinapoliTargets_Full-Indikators ist sehr praktisch, weil er auf jeder Bar des Charts zeichnet, welches dem Nutzer erlaubt immer das ganze Bild zu sehen. Eigentlich ist dieser Anzeige am wertvollsten bei der Analyse einer Strategie im offline-Modus.

Der Indikator zeichnet ein Gitter von möglichen, zukünftigen Preisen.

Der technische Indikator Polarized Fractal Efficiency zeigt die aktuelle Markteffizienz.

Erweiterte Version des Stochastik Oszillators.