complete supply and demand zones ...

This commit is contained in:
2024-11-13 18:42:16 +03:30
parent 797917e30a
commit a4fb541557
4 changed files with 794 additions and 28 deletions
+133 -4
View File
@@ -1788,6 +1788,135 @@ class XCPOIDrawer : public XCBase
return result;
}
//
// Supply and Demand Zones ...
/**
* Create Supply Object ...
*
* @param zone: XCSupplyZone instance ...
* @param object: XCSupplyZoneObject pointer ...
*
* @return ( bool )
*/
bool CreateSupplyZone(
XCSupplyZone &zone,
XCSupplyZoneObject *&object //
)
{
//
bool result = false;
//
object = NULL;
//
result =
zone.IsValid();
if (!result)
{
return result;
}
//
string prefix = Prefix();
long chartID = ChartIdentification();
int window = SubWindowIdentification();
//
bool fill = SupplyZoneFill();
int width = SupplyZoneWidth();
color crl = SupplyZoneColor();
ENUM_LINE_STYLE style = SupplyZoneStyle();
//
object = new XCSupplyZoneObject();
result = object.Create(
chartID,
window,
zone,
prefix //
);
//
if (!result)
{
return result;
}
//
object.ZoneFill(fill);
object.ZoneColor(crl);
object.ZoneWidth(width);
object.ZoneStyle(style);
//
return result;
}
/**
* Create Demand Object ...
*
* @param zone: XCDemandZone instance ...
* @param object: XCDemandZoneObject pointer ...
*
* @return ( bool )
*/
bool CreateDemandZone(
XCDemandZone &zone,
XCDemandZoneObject *&object //
)
{
//
bool result = false;
//
object = NULL;
//
result =
zone.IsValid();
if (!result)
{
return result;
}
//
string prefix = Prefix();
long chartID = ChartIdentification();
int window = SubWindowIdentification();
//
bool fill = DemandZoneFill();
int width = DemandZoneWidth();
color crl = DemandZoneColor();
ENUM_LINE_STYLE style = DemandZoneStyle();
//
object = new XCDemandZoneObject();
result = object.Create(
chartID,
window,
zone,
prefix //
);
//
if (!result)
{
return result;
}
//
object.ZoneFill(fill);
object.ZoneColor(crl);
object.ZoneWidth(width);
object.ZoneStyle(style);
//
return result;
}
//
protected:
//
@@ -1846,16 +1975,16 @@ class XCPOIDrawer : public XCBase
ResistanceZoneColor(clrRed);
//
SupplyZoneFill(true);
SupplyZoneFill(false);
SupplyZoneWidth(1);
SupplyZoneStyle(STYLE_DOT);
SupplyZoneColor(clrMagenta);
SupplyZoneColor(clrRed);
//
DemandZoneFill(true);
DemandZoneFill(false);
DemandZoneWidth(1);
DemandZoneStyle(STYLE_DOT);
DemandZoneColor(clrAqua);
DemandZoneColor(clrGreen);
//
BullishOrderBlockFill(true);