Complete Market Sessions POI ...

This commit is contained in:
2024-10-21 12:49:01 +03:30
parent 4dbd744ba1
commit 9f43c4ab43
3 changed files with 1170 additions and 674 deletions
+155 -22
View File
@@ -20,7 +20,7 @@
#property strict
//
#include "../Libraries/x-saherelm.common.lib.mq5"
#include "../Libraries/x-saherelm.x-poi.lib.mq5"
//
#include <ChartObjects/ChartObject.mqh>
@@ -31,13 +31,15 @@
enum ENUM_XCHARTOBJECTS
{
X_FROM_TO,
X_TRADE_DAY,
X_MARKET_SESSION,
};
enum ENUM_X_TRADE_DAY_IDS
enum ENUM_X_CHART_IDS
{
X_TRADE_DAY_FROM,
X_TRADE_DAY_TO
X_FROM,
X_TO
};
//
@@ -50,7 +52,7 @@ enum ENUM_X_TRADE_DAY_IDS
*
* @return ( string )
*/
string ToString(ENUM_X_TRADE_DAY_IDS value)
string ToString(ENUM_X_CHART_IDS value)
{
//
string result = NULL;
@@ -59,12 +61,12 @@ string ToString(ENUM_X_TRADE_DAY_IDS value)
switch (value)
{
//
case X_TRADE_DAY_FROM:
case X_FROM:
result = "XFROM";
break;
//
case X_TRADE_DAY_TO:
case X_TO:
result = "XTO";
break;
}
@@ -75,7 +77,10 @@ string ToString(ENUM_X_TRADE_DAY_IDS value)
//
// Implementation ...
class XCTardeDayObject : public CChartObject
//
// From To Chart Object ...
class XCFromToObject : public CChartObject
{
//
public:
@@ -83,18 +88,18 @@ class XCTardeDayObject : public CChartObject
//
// Constructors ...
void XCTardeDayObject()
void XCFromToObject()
{
}
//
// Deconstructors ...
void ~XCTardeDayObject()
void ~XCFromToObject()
{
}
/**
* Create XTradeDayChartObject ...
* Create XCFromToObject ...
*
* @param chart_id: Long ...
* @param name: String ...
@@ -109,14 +114,19 @@ class XCTardeDayObject : public CChartObject
const string name,
const int window,
const datetime from,
const datetime to //
const datetime to,
const string objprefix = NULL //
)
{
//
bool result = false;
//
string mFromVLineName = ToString(X_TRADE_DAY_FROM) + "_" + name;
string mPrefix = (IsValid(objprefix) ? objprefix + "_" : "");
//
string mFromVLineName =
mPrefix + ToString(X_FROM) + "_" + name;
result = mFromVLine.Create(chart_id, mFromVLineName, window, from);
if (!result)
{
@@ -124,20 +134,14 @@ class XCTardeDayObject : public CChartObject
}
//
string mToVLineName = ToString(X_TRADE_DAY_TO) + "_" + name;
string mToVLineName =
mPrefix + ToString(X_TO) + "_" + name;
result = mToVLine.Create(chart_id, mToVLineName, window, to);
if (!result)
{
return result;
}
//
// result = Attach(chart_id, name, window, 2);
// if (!result)
// {
// return result;
// }
//
return result;
}
@@ -149,7 +153,7 @@ class XCTardeDayObject : public CChartObject
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_TRADE_DAY;
return X_FROM_TO;
}
/**
@@ -214,3 +218,132 @@ class XCTardeDayObject : public CChartObject
};
//
// XTradeDay Object ...
class XCTardeDayObject : public XCFromToObject
{
//
public:
//
//
// Constructors ...
void XCTardeDayObject()
{
}
//
// Deconstructors ...
void ~XCTardeDayObject()
{
}
bool CreateByDay(
long chart_id,
const string name,
const int window,
XTradeDay &day //
)
{
//
bool result = false;
//
result = Create(
chart_id,
name,
window,
day.from,
day.to,
"XTDAY" //
);
//
return result;
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_TRADE_DAY;
}
//
protected:
//
//
private:
//
//
};
//
// XMarketSession Object ...
class XCMarketSessionObject : public XCFromToObject
{
//
public:
//
//
// Constructors ...
void XCMarketSessionObject()
{
}
//
// Deconstructors ...
void ~XCMarketSessionObject()
{
}
bool CreateByMarketSession(
long chart_id,
const string name,
const int window,
XMarketSession &session //
)
{
//
bool result = false;
//
string sessionLabel = ToString(session.session);
result = Create(
chart_id,
name,
window,
session.from,
session.to,
sessionLabel //
);
//
return result;
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_MARKET_SESSION;
}
//
protected:
//
//
private:
//
//
};
//
File diff suppressed because it is too large Load Diff