last works on XCAEA Pivots ...

This commit is contained in:
2025-04-24 05:53:12 +03:30
parent a21799a9aa
commit 65178361d8
6 changed files with 3963 additions and 823 deletions
File diff suppressed because it is too large Load Diff
+178
View File
@@ -38,6 +38,9 @@ class XCXCAEAPOIDrawer : public XCBase
//
// Props ...
//
bool ignoreUpdateOSCTos;
//
// Drawers ...
bool drawRSIPeakPivots;
@@ -48,6 +51,8 @@ class XCXCAEAPOIDrawer : public XCBase
bool drawFVGBearishPivots;
bool drawValeSupSWLPivots;
bool drawPeakResSWHPivots;
bool drawPVFVGBullishPivots;
bool drawPVFVGBearishPivots;
//
// Colors ...
@@ -65,6 +70,8 @@ class XCXCAEAPOIDrawer : public XCBase
color fvgBearishPivotsColor;
color valeSupSWLPivotsColor;
color peakResSWHPivotsColor;
color pvFVGBullishPivotsColor;
color pvFVGBearishPivotsColor;
//
// Width ...
@@ -82,6 +89,8 @@ class XCXCAEAPOIDrawer : public XCBase
int fvgBearishPivotsWidth;
int valeSupSWLPivotsWidth;
int peakResSWHPivotsWidth;
int pvFVGBullishPivotsWidth;
int pvFVGBearishPivotsWidth;
//
// Style ...
@@ -99,6 +108,8 @@ class XCXCAEAPOIDrawer : public XCBase
ENUM_LINE_STYLE fvgBearishPivotsStyle;
ENUM_LINE_STYLE valeSupSWLPivotsStyle;
ENUM_LINE_STYLE peakResSWHPivotsStyle;
ENUM_LINE_STYLE pvFVGBullishPivotsStyle;
ENUM_LINE_STYLE pvFVGBearishPivotsStyle;
//
// Colorize Props ...
@@ -144,6 +155,9 @@ class XCXCAEAPOIDrawer : public XCBase
//
virtual void Default()
{
//
ignoreUpdateOSCTos = true;
//
drawRSIPeakPivots = false;
drawRSIValePivots = false;
@@ -153,6 +167,8 @@ class XCXCAEAPOIDrawer : public XCBase
drawFVGBearishPivots = false;
drawValeSupSWLPivots = false;
drawPeakResSWHPivots = false;
drawPVFVGBullishPivots = false;
drawPVFVGBearishPivots = false;
//
defaultBullishColor = clrLime;
@@ -163,12 +179,14 @@ class XCXCAEAPOIDrawer : public XCBase
cciValePivotsColor = defaultBullishColor;
fvgBullishPivotsColor = defaultBullishColor;
valeSupSWLPivotsColor = defaultBullishColor;
pvFVGBullishPivotsColor = defaultBullishColor;
//
rsiPeakPivotsColor = defaultBearishColor;
cciPeakPivotsColor = defaultBearishColor;
fvgBearishPivotsColor = defaultBearishColor;
peakResSWHPivotsColor = defaultBearishColor;
pvFVGBearishPivotsColor = defaultBearishColor;
//
defaultBullishWidth = 1;
@@ -179,12 +197,14 @@ class XCXCAEAPOIDrawer : public XCBase
cciValePivotsWidth = defaultBullishWidth;
fvgBullishPivotsWidth = defaultBullishWidth;
valeSupSWLPivotsWidth = defaultBullishWidth;
pvFVGBullishPivotsWidth = defaultBullishWidth;
//
rsiPeakPivotsWidth = defaultBearishWidth;
cciPeakPivotsWidth = defaultBearishWidth;
fvgBearishPivotsWidth = defaultBearishWidth;
peakResSWHPivotsWidth = defaultBearishWidth;
pvFVGBearishPivotsWidth = defaultBearishWidth;
//
defaultBullishStyle = STYLE_SOLID;
@@ -195,12 +215,14 @@ class XCXCAEAPOIDrawer : public XCBase
cciValePivotsStyle = defaultBullishStyle;
fvgBullishPivotsStyle = defaultBullishStyle;
valeSupSWLPivotsStyle = defaultBullishStyle;
pvFVGBullishPivotsStyle = defaultBullishStyle;
//
rsiPeakPivotsStyle = defaultBearishStyle;
cciPeakPivotsStyle = defaultBearishStyle;
fvgBearishPivotsStyle = defaultBearishStyle;
peakResSWHPivotsStyle = defaultBearishStyle;
pvFVGBearishPivotsStyle = defaultBearishStyle;
}
//
@@ -215,6 +237,8 @@ class XCXCAEAPOIDrawer : public XCBase
DrawFVGBearishPivots(to);
DrawValeSupSWLPivots(to);
DrawPeakResSWHPivots(to);
DrawPVFVGBullishPivots(to);
DrawPVFVGBearishPivots(to);
}
//
@@ -229,6 +253,8 @@ class XCXCAEAPOIDrawer : public XCBase
mFVGBearishPivotObjects.Clear();
mValeSupSWLPivotObjects.Clear();
mPeakResSWHPivotObjects.Clear();
mPVFVGBullishPivotObjects.Clear();
mPVFVGBearishPivotObjects.Clear();
}
//
@@ -253,6 +279,10 @@ class XCXCAEAPOIDrawer : public XCBase
}
//
if (ignoreUpdateOSCTos)
{
to = NULL;
}
bool canUpdateTo = IsValid(to);
//
@@ -311,6 +341,10 @@ class XCXCAEAPOIDrawer : public XCBase
}
//
if (ignoreUpdateOSCTos)
{
to = NULL;
}
bool canUpdateTo = IsValid(to);
//
@@ -369,6 +403,10 @@ class XCXCAEAPOIDrawer : public XCBase
}
//
if (ignoreUpdateOSCTos)
{
to = NULL;
}
bool canUpdateTo = IsValid(to);
//
@@ -427,6 +465,10 @@ class XCXCAEAPOIDrawer : public XCBase
}
//
if (ignoreUpdateOSCTos)
{
to = NULL;
}
bool canUpdateTo = IsValid(to);
//
@@ -699,6 +741,140 @@ class XCXCAEAPOIDrawer : public XCBase
}
}
//
void DrawPVFVGBullishPivots(datetime to = NULL)
{
//
bool has = drawPVFVGBullishPivots;
if (!has)
{
return;
}
//
has = detector.HasPVFVGBullishPivots();
if (!has)
{
return;
}
//
bool canUpdateTo = IsValid(to);
//
int count = detector.CountPVFVGBullishPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.pvFVGBullishPivots[i].GetSelectedFVG(iBox);
if (!has)
{
//
iBox.Clean();
continue;
}
//
if (canUpdateTo)
{
iBox.to = to;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
//
if (has)
{
//
// Style Object ...
iObj.BoxColor(pvFVGBullishPivotsColor);
iObj.BoxWidth(pvFVGBullishPivotsWidth);
iObj.BoxStyle(pvFVGBullishPivotsStyle);
//
// Store Object ...
mPVFVGBullishPivotObjects.Add(iObj);
}
//
iBox.Clean();
ZeroMemory(iObj);
}
}
//
void DrawPVFVGBearishPivots(datetime to = NULL)
{
//
bool has = drawPVFVGBearishPivots;
if (!has)
{
return;
}
//
has = detector.HasPVFVGBearishPivots();
if (!has)
{
return;
}
//
bool canUpdateTo = IsValid(to);
//
int count = detector.CountPVFVGBearishPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.pvFVGBearishPivots[i].GetSelectedFVG(iBox);
if (!has)
{
//
iBox.Clean();
continue;
}
//
if (canUpdateTo)
{
iBox.to = to;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
//
if (has)
{
//
// Style Object ...
iObj.BoxColor(pvFVGBearishPivotsColor);
iObj.BoxWidth(pvFVGBearishPivotsWidth);
iObj.BoxStyle(pvFVGBearishPivotsStyle);
//
// Store Object ...
mPVFVGBearishPivotObjects.Add(iObj);
}
//
iBox.Clean();
ZeroMemory(iObj);
}
}
//
// Protected ...
protected:
@@ -724,6 +900,8 @@ class XCXCAEAPOIDrawer : public XCBase
CArrayObj mFVGBearishPivotObjects;
CArrayObj mValeSupSWLPivotObjects;
CArrayObj mPeakResSWHPivotObjects;
CArrayObj mPVFVGBullishPivotObjects;
CArrayObj mPVFVGBearishPivotObjects;
//
};