Complete Supply and Demand Zone ...

This commit is contained in:
2024-10-23 11:42:34 +03:30
parent 6ce5da4707
commit 8212d542f2
4 changed files with 1452 additions and 68 deletions
+72 -10
View File
@@ -42,6 +42,8 @@ enum ENUM_XCHARTOBJECTS
X_MARKET_SESSION,
X_SUPPORT_ZONE,
X_RESISTANCE_ZONE,
X_SUPPLY_ZONE,
X_DEMAND_ZONE,
};
enum ENUM_X_CHART_IDS
@@ -411,8 +413,6 @@ class XCZoneObject : public CChartObject
long chart_id,
const string name,
const int window,
const datetime time1,
const datetime time2,
const XZone &zone,
const string objprefix = NULL,
const bool forceRect = false //
@@ -421,14 +421,9 @@ class XCZoneObject : public CChartObject
//
bool result = false;
//
NormalizeTime(time2);
//
XZone tmpZone = zone;
result =
time1 < time2 &&
IsValid(time1) &&
IsValid(name) &&
tmpZone.IsValid();
if (!result)
@@ -441,13 +436,14 @@ class XCZoneObject : public CChartObject
chart_id,
name,
window,
time1,
time2,
zone.from,
zone.to,
zone.upper,
zone.upper,
zone.lower,
zone.lower,
objprefix //
objprefix,
forceRect //
);
//
@@ -850,3 +846,69 @@ class XCResistanceZoneObject : public XCZoneObject
};
//
// Supply Zone ...
class XCSupplyZoneObject : public XCZoneObject
{
//
public:
//
//
// Constructors ...
void XCSupplyZoneObject()
{
}
//
// Deconstructors ...
void ~XCSupplyZoneObject()
{
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_SUPPLY_ZONE;
}
//
};
//
// Demand Zone ...
class XCDemandZoneObject : public XCZoneObject
{
//
public:
//
//
// Constructors ...
void XCDemandZoneObject()
{
}
//
// Deconstructors ...
void ~XCDemandZoneObject()
{
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_DEMAND_ZONE;
}
//
};
//
File diff suppressed because it is too large Load Diff
+5 -1
View File
@@ -431,9 +431,13 @@ bool InitEA()
_Period //
);
eaPOI.EnableDrawPOIs();
eaPOI.AllowDrawSwingHighs(false);
eaPOI.AllowDrawSwingLows(false);
eaPOI.AllowDrawSwingHighs(false);
eaPOI.AllowDrawMomentumBars(false);
eaPOI.AllowDrawSupportZones(false);
eaPOI.AllowDrawRejectionBars(false);
eaPOI.AllowDrawMarketSessions(false);
eaPOI.AllowDrawResistanceZones(false);
eaPOI.Init();
// //
+21 -3
View File
@@ -338,6 +338,10 @@ struct XZone
double lower;
string prefix;
//
datetime from;
datetime to;
//
// Constructor ...
void XZone()
@@ -349,7 +353,9 @@ struct XZone
bool Init(
double _upper,
double _lower,
string _prefix //
string _prefix,
datetime _from,
datetime _to //
)
{
//
@@ -360,16 +366,22 @@ struct XZone
_upper > 0 &&
_lower > 0 &&
_upper > _lower &&
IsValid(_prefix);
IsValid(_prefix) &&
IsValid(_from);
if (!result)
{
return result;
}
//
NormalizeTime(_to);
//
upper = _upper;
lower = _lower;
prefix = _prefix;
from = _from;
to = _to;
//
result = IsValid();
@@ -386,6 +398,8 @@ struct XZone
lower = 0;
//
to = NULL;
from = NULL;
prefix = NULL;
}
@@ -399,6 +413,8 @@ struct XZone
result = upper > 0 &&
lower > 0 &&
upper > lower &&
IsValid(to) &&
IsValid(from) &&
IsValid(prefix);
//
@@ -425,6 +441,7 @@ struct XZone
//
// XOHCL Event Handler ...
typedef void (*TXOHCLEventHandler)(
ENUM_XPOI_EVENTS event,
XOHCL &bar //
);
@@ -444,7 +461,8 @@ typedef void (*TXSessionEventHandler)(
//
// Zone Handler ...
typedef void (*TXZoneEventHandler)(
ENUM_XPOI_EVENTS event //
ENUM_XPOI_EVENTS event,
XZone &zone //
);
//