거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Facebook에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
당사 팬 페이지에 가입하십시오
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
- 조회수:
- 39
- 평가:
- 게시됨:
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
XML 문서 구문 분석용 라이브러리. 타사 라이브러리를 사용하지 않고 MQL5에서 구현.
라이브러리를 프로젝트에 연결하려면 전처리기 명령을 추가하기만 하면 됩니다.
#include <Xml\XmlBase.mqh>사용 예시:
#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") { /* .... */ } } } } }
참고:
- 이 라이브러리는 클래스 생성자가 매개 변수를 사용할 수 없던 먼 옛날에 만들어졌습니다;
- Xml 표준의 기본 기능만 구현되어 있습니다;
- 의견, 수정, 추가, 확장을 환영합니다.
주요 구성 요소
CXmlDocument 클래스 - 파일/스트링에서 문서를 로드하고 파일에 변경 사항을 저장하는 기능을 제공합니다.
CreateX 함수는 문서를 구문 분석하고 계층적 DOM 모델을 생성하며, FDocumentElement를 통해 액세스합니다.
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 클래스는 모든 XML 문서의 기본 인터페이스입니다. 이 클래스는 요소, 해당 속성 및 콘텐츠에 대한 액세스를 제공합니다.
class CXmlElement { private: string FName; CXmlAttribute* FAttributes[]; CXmlElement *FElements[]; string FText; CXmlElement* FParent; public: //--- 생성자 메서드 void CXmlElement (); void ~CXmlElement (); void Init (const string aName, const CXmlElement* aParent=NULL, const string aText=""); void CopyTo (CXmlElement &aDst); virtual void Clear (); //--- 주요 서비스 방법 string GetName () const; void SetName (const string aName); string GetText () const; void SetText (const string aText); CXmlElement* GetParent () const; void SetParent (CXmlElement* aParent); //--- 속성 서비스 메서드 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 (); //--- 하위 서비스 메서드 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 클래스 - 어트리뷰트 작업을 위한 간단한 클래스입니다.
class CXmlAttribute { private: string FName; string FValue; public: //--- 생성자 메서드 void CXmlAttribute (); void ~CXmlAttribute (); void Init (const string aName, const string aValue); virtual void Clear (); virtual CXmlAttribute* Clone (); //--- 서비스 메서드 string GetName () const; void SetName (const string aName); string GetValue () const; void SetValue (const string aValue); };
MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/712
가격/거래량 표시기
머신 러닝을 위한 더 간단한 칩 중 하나
RSI Alert - Multi Timeframe Overbought/Oversold Detector
모든 심볼과 차트주기에 대해 과매수 및 과매도 상태를 모니터링하는 간단하면서도 효과적인 RSI 지표입니다. RSI가 설정한 임계값을 넘으면 팝업 및 모바일 알림을 통해 즉시 알림을 보냅니다.
RSI_AC_스토캐스틱_신호
추세 방향(RSI) 및 거래 신호(스토캐스틱 + 액셀러레이터)를 보여주는 지표입니다.
ZigZag_INT
계산 속도 측면에서 지그재그 표시기의 최적화된 버전입니다.