This commit is contained in:
2025-04-19 16:35:21 +03:30
parent c96a77b4bb
commit a9e8fe04a8
6 changed files with 804 additions and 21 deletions
+232
View File
@@ -52,6 +52,10 @@ class XCXCAEAPOIDrawer : public XCBase
bool drawTrendBearishPivots;
bool drawTKITRNDBullishPivots;
bool drawTKITRNDBearishPivots;
bool drawRSICrossedOverOSPivots;
bool drawRSICrossedUnderOBPivots;
bool drawCCICrossedOverOSPivots;
bool drawCCICrossedUnderOBPivots;
//
// Constructors ...
@@ -88,6 +92,10 @@ class XCXCAEAPOIDrawer : public XCBase
mCycleSameHHPivotObjects.Clear();
mTKITRNDBullishPivotObjects.Clear();
mTKITRNDBearishPivotObjects.Clear();
mRSICrossedOverOSPivotObjects.Clear();
mRSICrossedUnderOBPivotObjects.Clear();
mCCICrossedOverOSPivotObjects.Clear();
mCCICrossedUnderOBPivotObjects.Clear();
//
ZeroMemory(drawer);
@@ -120,6 +128,10 @@ class XCXCAEAPOIDrawer : public XCBase
drawTrendBearishPivots = false;
drawTKITRNDBullishPivots = false;
drawTKITRNDBearishPivots = false;
drawRSICrossedOverOSPivots = false;
drawRSICrossedUnderOBPivots = false;
drawCCICrossedOverOSPivots = false;
drawCCICrossedUnderOBPivots = false;
}
//
@@ -142,6 +154,10 @@ class XCXCAEAPOIDrawer : public XCBase
DrawTrendBearishPivots(to);
DrawTKITRNDBullishPivots(to);
DrawTKITRNDBearishPivots(to);
DrawRSICrossedOverOSPivots(to);
DrawRSICrossedUnderOBPivots(to);
DrawCCICrossedOverOSPivots(to);
DrawCCICrossedUnderOBPivots(to);
}
//
@@ -1234,6 +1250,218 @@ class XCXCAEAPOIDrawer : public XCBase
}
}
//
void DrawRSICrossedOverOSPivots(datetime to = NULL)
{
//
if (!drawRSICrossedOverOSPivots)
{
return;
}
//
to = NULL;
bool canUpdateTo = IsValid(to);
//
int count = 0;
bool has = detector.HasRSICrossedOverOSPivots();
if (has)
{
//
count = detector.CountRSICrossedOverOSPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.rsiCrossedOverOSPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
if (canUpdateTo)
{
iBox.to = to;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mRSICrossedOverOSPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
}
//
void DrawRSICrossedUnderOBPivots(datetime to = NULL)
{
//
if (!drawRSICrossedUnderOBPivots)
{
return;
}
//
to = NULL;
bool canUpdateTo = IsValid(to);
//
int count = 0;
bool has = detector.HasRSICrossedUnderOBPivots();
if (has)
{
//
count = detector.CountRSICrossedUnderOBPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.rsiCrossedUnderOBPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
if (canUpdateTo)
{
iBox.to = to;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mRSICrossedUnderOBPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
}
//
void DrawCCICrossedOverOSPivots(datetime to = NULL)
{
//
if (!drawCCICrossedOverOSPivots)
{
return;
}
//
to = NULL;
bool canUpdateTo = IsValid(to);
//
int count = 0;
bool has = detector.HasCCICrossedOverOSPivots();
if (has)
{
//
count = detector.CountCCICrossedOverOSPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.cciCrossedOverOSPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
if (canUpdateTo)
{
iBox.to = to;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCCICrossedOverOSPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
}
//
void DrawCCICrossedUnderOBPivots(datetime to = NULL)
{
//
if (!drawCCICrossedUnderOBPivots)
{
return;
}
//
to = NULL;
bool canUpdateTo = IsValid(to);
//
int count = 0;
bool has = detector.HasCCICrossedUnderOBPivots();
if (has)
{
//
count = detector.CountCCICrossedUnderOBPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.cciCrossedUnderOBPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
if (canUpdateTo)
{
iBox.to = to;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCCICrossedUnderOBPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
}
//
// Protected ...
protected:
@@ -1267,6 +1495,10 @@ class XCXCAEAPOIDrawer : public XCBase
CArrayObj mTrendBearishPivotObjects;
CArrayObj mTKITRNDBullishPivotObjects;
CArrayObj mTKITRNDBearishPivotObjects;
CArrayObj mRSICrossedOverOSPivotObjects;
CArrayObj mRSICrossedUnderOBPivotObjects;
CArrayObj mCCICrossedOverOSPivotObjects;
CArrayObj mCCICrossedUnderOBPivotObjects;
//
};