This commit is contained in:
2025-03-14 17:44:33 +03:30
parent fe7df78f5d
commit a05b8f464d
25 changed files with 32729 additions and 17459 deletions
+129
View File
@@ -0,0 +1,129 @@
//+------------------------------------------------------------------+
//| x-saherelm.xpoi.test.ea.mq5 |
//| SaherElm IT Center |
//| https://www.saherelm.ir |
//+------------------------------------------------------------------+
#property copyright "SaherElm IT Center"
#property link "https://www.saherelm.ir"
#property version "1.00"
//
// #include "../Classes/x-saherelm.x-poi.class.mq5"
// #include "../Classes/x-saherelm.x-poi.drawer.class.mq5"
// #include "../Libraries/x-saherelm.x-poi.extensions.lib.mq5"
// #include "../Libraries/x-saherelm.x-poi.state.lib.mq5"
//
#include "../Classes/x-saherelm.x-bar.analyser.class.mq5"
//
// Global Variables ...
//
// XCPOIDrawer *mPOIDrawer;
//
// XCPOIDetector *mPOIDetector;
XCBarAnalyser *mBarAnalyser;
//
bool useDetector = false;
bool useBarAnalyser = true;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//
// mPOIDetector = new XCPOIDetector(
// _Symbol,
// _Period //
// );
//
// mPOIDrawer = new XCPOIDrawer();
//
mBarAnalyser = new XCBarAnalyser();
//
return (INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//
// ZeroMemory(mPOIDrawer);
// ZeroMemory(mPOIDetector);
ZeroMemory(mBarAnalyser);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//
DetectBarAnalyser();
//
DetectPOIState();
}
//+------------------------------------------------------------------+
//| Custom Functions |
//+------------------------------------------------------------------+
/**
* Detect POI(s) Using Bar Analyser Class ...
*/
void DetectBarAnalyser()
{
//
if (!useBarAnalyser)
{
return;
}
//
XOHCL zBar;
bool isInited = zBar.Init(
_Symbol,
_Period,
0 //
);
//
XOHCL toBar;
XOHCL fromBar;
ENUM_X_DIRECTION dir;
bool isSpike = mBarAnalyser.IsSpike(
zBar,
fromBar,
toBar,
dir //
);
if (isSpike)
{
Print("Spike Detected ...");
}
}
/**
* Detect POI(s) Using POIDetector Class ...
*/
void DetectPOIState()
{
//
if (!useDetector)
{
return;
}
}
//
//+------------------------------------------------------------------+