151 lines
2.7 KiB
Plaintext
151 lines
2.7 KiB
Plaintext
///////////////////////////////////////////////////////
|
|
//
|
|
// SaherElm IT Center MQL5 Library
|
|
// -------------------------------------------------
|
|
// Name: XCXFIMAEALib ...
|
|
// Description: XFIMAEA Library ...
|
|
//
|
|
//
|
|
// Maintainer:
|
|
// ------------
|
|
// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com)
|
|
//
|
|
//////////////////////////////////////////////////////
|
|
//
|
|
// Global Properties ...
|
|
#property library
|
|
#property copyright "Copyright 2023, SaherElm IT Center"
|
|
#property link "https://saherelm.ir"
|
|
#property version "1.00"
|
|
#property description "SaherElm XFIMAEA Library"
|
|
#property strict
|
|
|
|
//
|
|
// Imports ...
|
|
#include "../../Classes/x-saherelm.x-cobject.class.mq5"
|
|
#include "../../Helpers/x-saherelm.xfima.helper.mq5"
|
|
#include "../../Libraries/x-saherelm.x-pivot.analysis.lib.mq5"
|
|
|
|
//
|
|
// Definitions ...
|
|
|
|
/**
|
|
* XFIMA Base Market Structure ...
|
|
* AnalyseMarket result ...
|
|
**/
|
|
struct XFIMAMarketStructure
|
|
{
|
|
//
|
|
XOHCL bar; // Spacified Start Bar for Analysing ...
|
|
int length; // Loopback Length for Analyse Structure ...
|
|
|
|
//
|
|
XPivotAnalysis pvAnalysis; // PV Pivot Analysis Result ...
|
|
XPivotAnalysis zgAnalysis; // ZG Pivot Analysis Result ...
|
|
XPivotAnalysis barsPivotsAnalysis; // Bars Pivot Analysis Result ...
|
|
|
|
//
|
|
XPatternAnalysis barsAnalysis[]; // Anaysed Bars ...
|
|
XPatternAnalysisConfig barsAnalysisConfig; // Bars Analyser Config ...
|
|
|
|
//
|
|
// Configure Pivots Detection ...
|
|
int requiredPivots; // Required Extracted Pivots for Analysis ...
|
|
|
|
|
|
//
|
|
// Constructor ...
|
|
XFIMAMarketStructure()
|
|
{
|
|
Clean();
|
|
}
|
|
|
|
//
|
|
// Tools ...
|
|
|
|
/**
|
|
* Cleanup ...
|
|
*/
|
|
void Clean()
|
|
{
|
|
//
|
|
bar.Clean();
|
|
length = 0;
|
|
|
|
//
|
|
pvAnalysis.Clean();
|
|
zgAnalysis.Clean();
|
|
XClean(barsAnalysis);
|
|
barsAnalysisConfig.Clean();
|
|
|
|
//
|
|
ZeroMemory(this);
|
|
}
|
|
|
|
/**
|
|
* Validate ...
|
|
*
|
|
* @return ( bool )
|
|
*/
|
|
bool IsValid()
|
|
{
|
|
//
|
|
bool result = false;
|
|
|
|
//
|
|
result = bar.IsValid() &&
|
|
length > 0;
|
|
|
|
//
|
|
return result;
|
|
}
|
|
|
|
//
|
|
};
|
|
|
|
/**
|
|
* Configure Market Structure Drawer ...
|
|
**/
|
|
struct XFIMAMarketStructureDrawerConfig
|
|
{
|
|
//
|
|
// Props ...
|
|
XPatternAnalysisDrawConfig barAnalysisDrawConfig;
|
|
|
|
//
|
|
// Constructor ...
|
|
XFIMAMarketStructureDrawerConfig()
|
|
{
|
|
Clean();
|
|
}
|
|
|
|
//
|
|
// Tools ...
|
|
|
|
/**
|
|
* Cleanup Model ...
|
|
*/
|
|
void Clean()
|
|
{
|
|
|
|
//
|
|
ZeroMemory(this);
|
|
}
|
|
|
|
/**
|
|
* Default Model ...
|
|
*/
|
|
void Default()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Configure for Full Drawing ...
|
|
*/
|
|
void FullDraw()
|
|
{
|
|
}
|
|
|
|
//
|
|
};
|