last ...
This commit is contained in:
@@ -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;
|
||||
|
||||
//
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user