Last Works On Correction HasObjectsFunctions till Market Session Objects ...

This commit is contained in:
2024-10-24 21:17:05 +03:30
parent 9f0dad2697
commit 5dc8ddb7da
5 changed files with 2032 additions and 267 deletions
+134 -14
View File
@@ -46,6 +46,8 @@ enum ENUM_XCHARTOBJECTS
X_DEMAND_ZONE,
X_BULLISH_ORDERBLOCK,
X_BEARISH_ORDERBLOCK,
X_BULLISH_FVG,
X_BEARISH_FVG,
};
enum ENUM_X_CHART_IDS
@@ -105,9 +107,51 @@ string ToString(ENUM_X_CHART_IDS value)
//
// Global Chart Objects ...
//
// Bas Chart Object ...
class XCBaseObject : public CChartObject
{
//
public:
//
//
// Getter(s) / Setter(s) ...
/**
* Get Object Specified Name ...
*
* @return ( string )
*/
string ObjName()
{
return mObjName;
}
/**
* Set Object Specified Name ...
*
* @param value: String ...
*/
void ObjName(string value)
{
mObjName = value;
}
//
private:
//
//
// Props ...
string mObjName; // Object Specified Name ...
//
};
//
// From To Chart Object ...
class XCFromToObject : public CChartObject
class XCFromToObject : public XCBaseObject
{
//
public:
@@ -141,19 +185,15 @@ class XCFromToObject : public CChartObject
const string name,
const int window,
const datetime from,
const datetime to,
const string objprefix = NULL //
const datetime to //
)
{
//
bool result = false;
//
string mPrefix = (IsValid(objprefix) ? objprefix + "_" : "");
//
string mFromVLineName =
mPrefix + ToString(X_FROM) + "_" + name;
ToString(X_FROM) + "_" + name;
result = mFromVLine.Create(chart_id, mFromVLineName, window, from);
if (!result)
{
@@ -162,13 +202,17 @@ class XCFromToObject : public CChartObject
//
string mToVLineName =
mPrefix + ToString(X_TO) + "_" + name;
ToString(X_TO) + "_" + name;
result = mToVLine.Create(chart_id, mToVLineName, window, to);
if (!result)
{
return result;
}
//
// Set Object Name ...
ObjName(name);
//
return result;
}
@@ -246,7 +290,7 @@ class XCFromToObject : public CChartObject
//
// Zone Chart Object ...
class XCZoneObject : public CChartObject
class XCZoneObject : public XCBaseObject
{
//
public:
@@ -321,6 +365,11 @@ class XCZoneObject : public CChartObject
!IsValid(objprefix)
? ""
: objprefix + "_";
result = Name(prefix);
if (!result)
{
return result;
}
//
// Check Params For Rectangle ...
@@ -393,6 +442,12 @@ class XCZoneObject : public CChartObject
}
}
//
if (result)
{
ObjName(name);
}
//
return result;
}
@@ -570,8 +625,7 @@ class XCTardeDayObject : public XCFromToObject
name,
window,
day.from,
day.to,
"XTDAY" //
day.to //
);
//
@@ -639,14 +693,12 @@ class XCMarketSessionObject : public XCFromToObject
bool result = false;
//
string sessionLabel = ToString(session.session);
result = Create(
chart_id,
name,
window,
session.from,
session.to,
sessionLabel //
session.to //
);
//
@@ -982,3 +1034,71 @@ class XCBearishOrderBlockObject : public XCZoneObject
};
//
// Bullish FVG ...
class XCBullishFVGObject : public XCZoneObject
{
//
public:
//
//
// Constructors ...
void XCBullishFVGObject()
{
}
//
// Deconstructors ...
void ~XCBullishFVGObject()
{
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_BULLISH_FVG;
}
//
};
//
// Bearish FVG ...
class XCBearishFVGObject : public XCZoneObject
{
//
public:
//
//
// Constructors ...
void XCBearishFVGObject()
{
}
//
// Deconstructors ...
void ~XCBearishFVGObject()
{
}
/**
* Retrieve Object Type ...
*
* @return ( ENUM_XCHARTOBJECTS )
*/
virtual ENUM_XCHARTOBJECTS Type()
{
return X_BEARISH_FVG;
}
//
};
//
File diff suppressed because it is too large Load Diff
+15 -7
View File
@@ -431,13 +431,21 @@ bool InitEA()
_Period //
);
eaPOI.EnableDrawPOIs();
eaPOI.AllowDrawSwingLows(false);
eaPOI.AllowDrawSwingHighs(false);
eaPOI.AllowDrawMomentumBars(false);
eaPOI.AllowDrawSupportZones(false);
eaPOI.AllowDrawRejectionBars(false);
eaPOI.AllowDrawMarketSessions(false);
eaPOI.AllowDrawResistanceZones(false);
// eaPOI.AllowDrawSwingLows(false);
// eaPOI.AllowDrawSwingHighs(false);
// eaPOI.AllowDrawBullishFVGs(false);
// eaPOI.AllowDrawBearishFVGs(false);
// eaPOI.AllowDrawSupplyZones(false);
// eaPOI.AllowDrawDemandZones(false);
// eaPOI.AllowDrawMomentumBars(false);
// eaPOI.AllowDrawSupportZones(false);
// eaPOI.AllowDrawRejectionBars(false);
// eaPOI.AllowDrawMarketSessions(false);
// eaPOI.AllowDrawResistanceZones(false);
// eaPOI.AllowDrawBullishOrderBlocks(false);
// eaPOI.AllowDrawBearishOrderBlocks(false);
//
eaPOI.Init();
// //
+29 -5
View File
@@ -3701,7 +3701,10 @@ struct XOHCL
bool HasBullishFVG(
double &upper,
double &lower,
bool forceMiddleBarCheck = true //
datetime &start,
datetime &end,
bool forceMiddleBarCheck = true,
bool forceCheckLastBarDirection = false //
)
{
//
@@ -3711,6 +3714,10 @@ struct XOHCL
upper = 0;
lower = 0;
//
end = NULL;
start = NULL;
//
// Validate Content and Ignore 0 Bar
// since it is not Completed ...
@@ -3722,7 +3729,10 @@ struct XOHCL
//
// Current Bar Must be Bullish ...
result = IsBullish();
result =
!forceCheckLastBarDirection
? true
: IsBullish();
if (!result)
{
return result;
@@ -3793,8 +3803,10 @@ struct XOHCL
if (result)
{
//
end = time;
upper = low;
lower = ppBar.high;
start = ppBar.time;
}
//
@@ -3806,7 +3818,10 @@ struct XOHCL
bool HasBearishFVG(
double &upper,
double &lower,
bool forceMiddleBarCheck = true //
datetime &start,
datetime &end,
bool forceMiddleBarCheck = true,
bool forceCheckLastBarDirection = false //
)
{
//
@@ -3816,6 +3831,10 @@ struct XOHCL
upper = 0;
lower = 0;
//
end = NULL;
start = NULL;
//
// Validate Content and Ignore 0 Bar
// since it is not Completed ...
@@ -3827,7 +3846,10 @@ struct XOHCL
//
// Current Bar Must be Bearish ...
result = IsBearish();
result =
!forceCheckLastBarDirection
? true
: IsBullish();
if (!result)
{
return result;
@@ -3898,8 +3920,10 @@ struct XOHCL
if (result)
{
//
upper = ppBar.low;
end = time;
lower = high;
upper = ppBar.low;
start = ppBar.time;
}
//
+30 -6
View File
@@ -33,6 +33,12 @@
// All Available POI(s) ...
enum ENUM_XPOIS
{
//
// Trading Day ...
X_POI_TRADING_DAY, // Trading Day ...
//
// Market Session ...
X_POI_MARKET_SESSION, // Market Session ...
//
// Momentum Bar ...
X_POI_MOMENTUM_BAR, // Momentum Bar ...
@@ -45,8 +51,8 @@ enum ENUM_XPOIS
X_POI_SWING_LOW, // Simple Swing Low ...
//
// Support nad Resistance ...
X_POI_SUPPORT, // Support Zone ...
X_POI_RESISTANCE, // Resistance Zone ...
X_POI_SUPPORT_ZONE, // Support Zone ...
X_POI_RESISTANCE_ZONE, // Resistance Zone ...
//
// Supply and Demand Zones ...
X_POI_SUPPLY_ZONE, // Supply Zone ...
@@ -261,7 +267,7 @@ struct XTradeDay
}
//
result = "XDay_" + ToFormatString(from) + "_" + ToFormatString(to);
result = ToString(X_POI_TRADING_DAY) + "_" + ToFormatString(from) + "_" + ToFormatString(to);
//
return result;
@@ -320,7 +326,10 @@ struct XMarketSession
//
result =
ToFormatString(from) + "_" +
ToString(X_POI_MARKET_SESSION) + "_" +
ToString(session) + "_" +
ToFormatString(from) +
"_" +
ToFormatString(to) + "_";
//
@@ -483,6 +492,16 @@ string ToString(ENUM_XPOIS value)
//
switch (value)
{
//
case X_POI_TRADING_DAY:
result = "XTDAY";
break;
//
case X_POI_MARKET_SESSION:
result = "XMSESS";
break;
//
case X_POI_MOMENTUM_BAR:
result = "XMNTMB";
@@ -504,12 +523,12 @@ string ToString(ENUM_XPOIS value)
break;
//
case X_POI_SUPPORT:
case X_POI_SUPPORT_ZONE:
result = "XSUP";
break;
//
case X_POI_RESISTANCE:
case X_POI_RESISTANCE_ZONE:
result = "XRES";
break;
@@ -573,6 +592,11 @@ string ToString(ENUM_XSESSION value)
result = "Tokyo";
break;
//
case X_FRANKFORT:
result = "FrankGurt";
break;
//
case X_LONDON:
result = "London";