last ...
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -56,6 +56,10 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
bool drawPeakResSWHPivots;
|
||||
bool drawPVFVGBullishPivots;
|
||||
bool drawPVFVGBearishPivots;
|
||||
bool drawRSICrossedOverOSPivots;
|
||||
bool drawRSICrossedUnderOBPivots;
|
||||
bool drawCCICrossedOverOSPivots;
|
||||
bool drawCCICrossedUnderOBPivots;
|
||||
|
||||
//
|
||||
// Colors ...
|
||||
@@ -79,7 +83,11 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
color trendLineBearishColor;
|
||||
color pvFVGBullishPivotsColor;
|
||||
color pvFVGBearishPivotsColor;
|
||||
|
||||
color rsiCrossedOverOSPivotsColor;
|
||||
color rsiCrossedUnderOBPivotsColor;
|
||||
color cciCrossedOverOSPivotsColor;
|
||||
color cciCrossedUnderOBPivotsColor;
|
||||
|
||||
//
|
||||
// Width ...
|
||||
|
||||
@@ -102,6 +110,10 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
int trendLineBearishWidth;
|
||||
int pvFVGBullishPivotsWidth;
|
||||
int pvFVGBearishPivotsWidth;
|
||||
int rsiCrossedOverOSPivotsWidth;
|
||||
int rsiCrossedUnderOBPivotsWidth;
|
||||
int cciCrossedOverOSPivotsWidth;
|
||||
int cciCrossedUnderOBPivotsWidth;
|
||||
|
||||
//
|
||||
// Style ...
|
||||
@@ -125,6 +137,10 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
ENUM_LINE_STYLE trendLineBearishStyle;
|
||||
ENUM_LINE_STYLE pvFVGBullishPivotsStyle;
|
||||
ENUM_LINE_STYLE pvFVGBearishPivotsStyle;
|
||||
ENUM_LINE_STYLE rsiCrossedOverOSPivotsStyle;
|
||||
ENUM_LINE_STYLE rsiCrossedUnderOBPivotsStyle;
|
||||
ENUM_LINE_STYLE cciCrossedOverOSPivotsStyle;
|
||||
ENUM_LINE_STYLE cciCrossedUnderOBPivotsStyle;
|
||||
|
||||
//
|
||||
// Colorize Props ...
|
||||
@@ -187,6 +203,10 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
drawPeakResSWHPivots = false;
|
||||
drawPVFVGBullishPivots = false;
|
||||
drawPVFVGBearishPivots = false;
|
||||
drawRSICrossedOverOSPivots = false;
|
||||
drawRSICrossedUnderOBPivots = false;
|
||||
drawCCICrossedOverOSPivots = false;
|
||||
drawCCICrossedUnderOBPivots = false;
|
||||
|
||||
//
|
||||
defaultBullishColor = clrLime;
|
||||
@@ -203,7 +223,9 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
valeSupSWLPivotsColor = defaultBullishColor;
|
||||
trendLineBullishColor = defaultBullishColor;
|
||||
pvFVGBullishPivotsColor = defaultBullishColor;
|
||||
|
||||
rsiCrossedOverOSPivotsColor = defaultBullishColor;
|
||||
cciCrossedOverOSPivotsColor = defaultBullishColor;
|
||||
|
||||
//
|
||||
rsiPeakPivotsColor = defaultBearishColor;
|
||||
cciPeakPivotsColor = defaultBearishColor;
|
||||
@@ -211,15 +233,17 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
peakResSWHPivotsColor = defaultBearishColor;
|
||||
trendLineBearishColor = defaultBearishColor;
|
||||
pvFVGBearishPivotsColor = defaultBearishColor;
|
||||
|
||||
rsiCrossedUnderOBPivotsColor = defaultBearishColor;
|
||||
cciCrossedUnderOBPivotsColor = defaultBearishColor;
|
||||
|
||||
//
|
||||
defaultBullishWidth = 1;
|
||||
defaultBearishWidth = 1;
|
||||
|
||||
|
||||
//
|
||||
tickPivotsWidth = defaultBullishWidth;
|
||||
volumePivotsWidth = defaultBearishWidth;
|
||||
|
||||
|
||||
//
|
||||
rsiValePivotsWidth = defaultBullishWidth;
|
||||
cciValePivotsWidth = defaultBullishWidth;
|
||||
@@ -227,7 +251,9 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
valeSupSWLPivotsWidth = defaultBullishWidth;
|
||||
trendLineBullishWidth = defaultBullishWidth;
|
||||
pvFVGBullishPivotsWidth = defaultBullishWidth;
|
||||
|
||||
rsiCrossedOverOSPivotsWidth = defaultBullishWidth;
|
||||
cciCrossedOverOSPivotsWidth = defaultBullishWidth;
|
||||
|
||||
//
|
||||
rsiPeakPivotsWidth = defaultBearishWidth;
|
||||
cciPeakPivotsWidth = defaultBearishWidth;
|
||||
@@ -235,15 +261,17 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
peakResSWHPivotsWidth = defaultBearishWidth;
|
||||
trendLineBearishWidth = defaultBearishWidth;
|
||||
pvFVGBearishPivotsWidth = defaultBearishWidth;
|
||||
|
||||
rsiCrossedUnderOBPivotsWidth = defaultBearishWidth;
|
||||
cciCrossedUnderOBPivotsWidth = defaultBearishWidth;
|
||||
|
||||
//
|
||||
defaultBullishStyle = STYLE_SOLID;
|
||||
defaultBearishStyle = STYLE_SOLID;
|
||||
|
||||
|
||||
//
|
||||
tickPivotsStyle = defaultBullishStyle;
|
||||
volumePivotsStyle = defaultBearishStyle;
|
||||
|
||||
|
||||
//
|
||||
rsiValePivotsStyle = defaultBullishStyle;
|
||||
cciValePivotsStyle = defaultBullishStyle;
|
||||
@@ -251,7 +279,9 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
valeSupSWLPivotsStyle = defaultBullishStyle;
|
||||
trendLineBullishStyle = defaultBullishStyle;
|
||||
pvFVGBullishPivotsStyle = defaultBullishStyle;
|
||||
|
||||
rsiCrossedOverOSPivotsStyle = defaultBullishStyle;
|
||||
cciCrossedOverOSPivotsStyle = defaultBullishStyle;
|
||||
|
||||
//
|
||||
rsiPeakPivotsStyle = defaultBearishStyle;
|
||||
cciPeakPivotsStyle = defaultBearishStyle;
|
||||
@@ -259,6 +289,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
peakResSWHPivotsStyle = defaultBearishStyle;
|
||||
trendLineBearishStyle = defaultBearishStyle;
|
||||
pvFVGBearishPivotsStyle = defaultBearishStyle;
|
||||
rsiCrossedUnderOBPivotsStyle = defaultBearishStyle;
|
||||
cciCrossedUnderOBPivotsStyle = defaultBearishStyle;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -278,6 +310,10 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
DrawPeakResSWHPivots(to);
|
||||
DrawPVFVGBullishPivots(to);
|
||||
DrawPVFVGBearishPivots(to);
|
||||
DrawRSICrossedOverOSPivots(to);
|
||||
DrawRSICrossedUnderOBPivots(to);
|
||||
DrawCCICrossedOverOSPivots(to);
|
||||
DrawCCICrossedUnderOBPivots(to);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -297,6 +333,10 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
mPeakResSWHPivotObjects.Clear();
|
||||
mPVFVGBullishPivotObjects.Clear();
|
||||
mPVFVGBearishPivotObjects.Clear();
|
||||
mRSICrossedOverOSPivotObjects.Clear();
|
||||
mRSICrossedUnderOBPivotObjects.Clear();
|
||||
mCCICrossedOverOSPivotObjects.Clear();
|
||||
mCCICrossedUnderOBPivotObjects.Clear();
|
||||
}
|
||||
|
||||
//
|
||||
@@ -312,6 +352,9 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
mTrendLineObjects.Clear();
|
||||
|
||||
//
|
||||
ENUM_X_DIRECTION trend = X_DIRECTION_NONE;
|
||||
bool has = detector.MarketTrend(trend);
|
||||
@@ -333,7 +376,7 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
: detector.trendPivotP.upper;
|
||||
|
||||
//
|
||||
datetime pTime = detector.trendPivotC.from;
|
||||
datetime pTime = detector.trendPivotP.from;
|
||||
|
||||
//
|
||||
double cPrice = hasBullishTrend
|
||||
@@ -384,6 +427,7 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
iObj.Color(tlColor);
|
||||
iObj.Width(tlWidth);
|
||||
iObj.Style(tlStyle);
|
||||
iObj.RayRight(true);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
@@ -1124,6 +1168,270 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void DrawRSICrossedOverOSPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawRSICrossedOverOSPivots;
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
has = detector.HasRSICrossedOverOSPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
if (ignoreUpdateOSCTos)
|
||||
{
|
||||
to = NULL;
|
||||
}
|
||||
|
||||
//
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
int count = detector.CountRSICrossedOverOSPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = detector.rsiCrossedOverOSPivots[i];
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
|
||||
//
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(rsiCrossedOverOSPivotsColor);
|
||||
iObj.BoxWidth(rsiCrossedOverOSPivotsWidth);
|
||||
iObj.BoxStyle(rsiCrossedOverOSPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mRSICrossedOverOSPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void DrawRSICrossedUnderOBPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawRSICrossedUnderOBPivots;
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
has = detector.HasRSICrossedUnderOBPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
if (ignoreUpdateOSCTos)
|
||||
{
|
||||
to = NULL;
|
||||
}
|
||||
|
||||
//
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
int count = detector.CountRSICrossedUnderOBPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = detector.rsiCrossedUnderOBPivots[i];
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
|
||||
//
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(rsiCrossedUnderOBPivotsColor);
|
||||
iObj.BoxWidth(rsiCrossedUnderOBPivotsWidth);
|
||||
iObj.BoxStyle(rsiCrossedUnderOBPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mRSICrossedUnderOBPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void DrawCCICrossedOverOSPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawCCICrossedOverOSPivots;
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
has = detector.HasCCICrossedOverOSPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
if (ignoreUpdateOSCTos)
|
||||
{
|
||||
to = NULL;
|
||||
}
|
||||
|
||||
//
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
int count = detector.CountCCICrossedOverOSPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = detector.cciCrossedOverOSPivots[i];
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
|
||||
//
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(cciCrossedOverOSPivotsColor);
|
||||
iObj.BoxWidth(cciCrossedOverOSPivotsWidth);
|
||||
iObj.BoxStyle(cciCrossedOverOSPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mCCICrossedOverOSPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void DrawCCICrossedUnderOBPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawCCICrossedUnderOBPivots;
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
has = detector.HasCCICrossedUnderOBPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
if (ignoreUpdateOSCTos)
|
||||
{
|
||||
to = NULL;
|
||||
}
|
||||
|
||||
//
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
int count = detector.CountCCICrossedUnderOBPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = detector.cciCrossedUnderOBPivots[i];
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
|
||||
//
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(cciCrossedUnderOBPivotsColor);
|
||||
iObj.BoxWidth(cciCrossedUnderOBPivotsWidth);
|
||||
iObj.BoxStyle(cciCrossedUnderOBPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mCCICrossedUnderOBPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Protected ...
|
||||
protected:
|
||||
@@ -1154,6 +1462,10 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
CArrayObj mPeakResSWHPivotObjects;
|
||||
CArrayObj mPVFVGBullishPivotObjects;
|
||||
CArrayObj mPVFVGBearishPivotObjects;
|
||||
CArrayObj mRSICrossedOverOSPivotObjects;
|
||||
CArrayObj mRSICrossedUnderOBPivotObjects;
|
||||
CArrayObj mCCICrossedOverOSPivotObjects;
|
||||
CArrayObj mCCICrossedUnderOBPivotObjects;
|
||||
|
||||
//
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user