last ...
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -40,6 +40,7 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
|
||||
//
|
||||
bool ignoreUpdateOSCTos;
|
||||
bool drawTrendPivotsOnlySelectedFVG;
|
||||
|
||||
//
|
||||
// Drawers ...
|
||||
@@ -54,8 +55,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
bool drawFVGBearishPivots;
|
||||
bool drawValeSupSWLPivots;
|
||||
bool drawPeakResSWHPivots;
|
||||
bool drawPVFVGBullishPivots;
|
||||
bool drawPVFVGBearishPivots;
|
||||
bool drawTrendBullishPivots;
|
||||
bool drawTrendBearishPivots;
|
||||
bool drawRSICrossedOverOSPivots;
|
||||
bool drawRSICrossedUnderOBPivots;
|
||||
bool drawCCICrossedOverOSPivots;
|
||||
@@ -81,13 +82,13 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
color peakResSWHPivotsColor;
|
||||
color trendLineBullishColor;
|
||||
color trendLineBearishColor;
|
||||
color pvFVGBullishPivotsColor;
|
||||
color pvFVGBearishPivotsColor;
|
||||
color trendBullishPivotsColor;
|
||||
color trendBearishPivotsColor;
|
||||
color rsiCrossedOverOSPivotsColor;
|
||||
color rsiCrossedUnderOBPivotsColor;
|
||||
color cciCrossedOverOSPivotsColor;
|
||||
color cciCrossedUnderOBPivotsColor;
|
||||
|
||||
|
||||
//
|
||||
// Width ...
|
||||
|
||||
@@ -108,8 +109,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
int peakResSWHPivotsWidth;
|
||||
int trendLineBullishWidth;
|
||||
int trendLineBearishWidth;
|
||||
int pvFVGBullishPivotsWidth;
|
||||
int pvFVGBearishPivotsWidth;
|
||||
int trendBullishPivotsWidth;
|
||||
int trendBearishPivotsWidth;
|
||||
int rsiCrossedOverOSPivotsWidth;
|
||||
int rsiCrossedUnderOBPivotsWidth;
|
||||
int cciCrossedOverOSPivotsWidth;
|
||||
@@ -135,8 +136,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
ENUM_LINE_STYLE peakResSWHPivotsStyle;
|
||||
ENUM_LINE_STYLE trendLineBullishStyle;
|
||||
ENUM_LINE_STYLE trendLineBearishStyle;
|
||||
ENUM_LINE_STYLE pvFVGBullishPivotsStyle;
|
||||
ENUM_LINE_STYLE pvFVGBearishPivotsStyle;
|
||||
ENUM_LINE_STYLE trendBullishPivotsStyle;
|
||||
ENUM_LINE_STYLE trendBearishPivotsStyle;
|
||||
ENUM_LINE_STYLE rsiCrossedOverOSPivotsStyle;
|
||||
ENUM_LINE_STYLE rsiCrossedUnderOBPivotsStyle;
|
||||
ENUM_LINE_STYLE cciCrossedOverOSPivotsStyle;
|
||||
@@ -188,6 +189,7 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
{
|
||||
//
|
||||
ignoreUpdateOSCTos = true;
|
||||
drawTrendPivotsOnlySelectedFVG = true;
|
||||
|
||||
//
|
||||
drawTrendLine = false;
|
||||
@@ -201,8 +203,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
drawFVGBearishPivots = false;
|
||||
drawValeSupSWLPivots = false;
|
||||
drawPeakResSWHPivots = false;
|
||||
drawPVFVGBullishPivots = false;
|
||||
drawPVFVGBearishPivots = false;
|
||||
drawTrendBullishPivots = false;
|
||||
drawTrendBearishPivots = false;
|
||||
drawRSICrossedOverOSPivots = false;
|
||||
drawRSICrossedUnderOBPivots = false;
|
||||
drawCCICrossedOverOSPivots = false;
|
||||
@@ -222,73 +224,73 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
fvgBullishPivotsColor = defaultBullishColor;
|
||||
valeSupSWLPivotsColor = defaultBullishColor;
|
||||
trendLineBullishColor = defaultBullishColor;
|
||||
pvFVGBullishPivotsColor = defaultBullishColor;
|
||||
trendBullishPivotsColor = defaultBullishColor;
|
||||
rsiCrossedOverOSPivotsColor = defaultBullishColor;
|
||||
cciCrossedOverOSPivotsColor = defaultBullishColor;
|
||||
|
||||
|
||||
//
|
||||
rsiPeakPivotsColor = defaultBearishColor;
|
||||
cciPeakPivotsColor = defaultBearishColor;
|
||||
fvgBearishPivotsColor = defaultBearishColor;
|
||||
peakResSWHPivotsColor = defaultBearishColor;
|
||||
trendLineBearishColor = defaultBearishColor;
|
||||
pvFVGBearishPivotsColor = defaultBearishColor;
|
||||
trendBearishPivotsColor = defaultBearishColor;
|
||||
rsiCrossedUnderOBPivotsColor = defaultBearishColor;
|
||||
cciCrossedUnderOBPivotsColor = defaultBearishColor;
|
||||
|
||||
|
||||
//
|
||||
defaultBullishWidth = 1;
|
||||
defaultBearishWidth = 1;
|
||||
|
||||
|
||||
//
|
||||
tickPivotsWidth = defaultBullishWidth;
|
||||
volumePivotsWidth = defaultBearishWidth;
|
||||
|
||||
|
||||
//
|
||||
rsiValePivotsWidth = defaultBullishWidth;
|
||||
cciValePivotsWidth = defaultBullishWidth;
|
||||
fvgBullishPivotsWidth = defaultBullishWidth;
|
||||
valeSupSWLPivotsWidth = defaultBullishWidth;
|
||||
trendLineBullishWidth = defaultBullishWidth;
|
||||
pvFVGBullishPivotsWidth = defaultBullishWidth;
|
||||
trendBullishPivotsWidth = defaultBullishWidth;
|
||||
rsiCrossedOverOSPivotsWidth = defaultBullishWidth;
|
||||
cciCrossedOverOSPivotsWidth = defaultBullishWidth;
|
||||
|
||||
|
||||
//
|
||||
rsiPeakPivotsWidth = defaultBearishWidth;
|
||||
cciPeakPivotsWidth = defaultBearishWidth;
|
||||
fvgBearishPivotsWidth = defaultBearishWidth;
|
||||
peakResSWHPivotsWidth = defaultBearishWidth;
|
||||
trendLineBearishWidth = defaultBearishWidth;
|
||||
pvFVGBearishPivotsWidth = defaultBearishWidth;
|
||||
trendBearishPivotsWidth = defaultBearishWidth;
|
||||
rsiCrossedUnderOBPivotsWidth = defaultBearishWidth;
|
||||
cciCrossedUnderOBPivotsWidth = defaultBearishWidth;
|
||||
|
||||
|
||||
//
|
||||
defaultBullishStyle = STYLE_SOLID;
|
||||
defaultBearishStyle = STYLE_SOLID;
|
||||
|
||||
|
||||
//
|
||||
tickPivotsStyle = defaultBullishStyle;
|
||||
volumePivotsStyle = defaultBearishStyle;
|
||||
|
||||
|
||||
//
|
||||
rsiValePivotsStyle = defaultBullishStyle;
|
||||
cciValePivotsStyle = defaultBullishStyle;
|
||||
fvgBullishPivotsStyle = defaultBullishStyle;
|
||||
valeSupSWLPivotsStyle = defaultBullishStyle;
|
||||
trendLineBullishStyle = defaultBullishStyle;
|
||||
pvFVGBullishPivotsStyle = defaultBullishStyle;
|
||||
trendBullishPivotsStyle = defaultBullishStyle;
|
||||
rsiCrossedOverOSPivotsStyle = defaultBullishStyle;
|
||||
cciCrossedOverOSPivotsStyle = defaultBullishStyle;
|
||||
|
||||
|
||||
//
|
||||
rsiPeakPivotsStyle = defaultBearishStyle;
|
||||
cciPeakPivotsStyle = defaultBearishStyle;
|
||||
fvgBearishPivotsStyle = defaultBearishStyle;
|
||||
peakResSWHPivotsStyle = defaultBearishStyle;
|
||||
trendLineBearishStyle = defaultBearishStyle;
|
||||
pvFVGBearishPivotsStyle = defaultBearishStyle;
|
||||
trendBearishPivotsStyle = defaultBearishStyle;
|
||||
rsiCrossedUnderOBPivotsStyle = defaultBearishStyle;
|
||||
cciCrossedUnderOBPivotsStyle = defaultBearishStyle;
|
||||
}
|
||||
@@ -308,8 +310,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
DrawFVGBearishPivots(to);
|
||||
DrawValeSupSWLPivots(to);
|
||||
DrawPeakResSWHPivots(to);
|
||||
DrawPVFVGBullishPivots(to);
|
||||
DrawPVFVGBearishPivots(to);
|
||||
DrawTrendBullishPivots(to);
|
||||
DrawTrendBearishPivots(to);
|
||||
DrawRSICrossedOverOSPivots(to);
|
||||
DrawRSICrossedUnderOBPivots(to);
|
||||
DrawCCICrossedOverOSPivots(to);
|
||||
@@ -331,8 +333,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
mFVGBearishPivotObjects.Clear();
|
||||
mValeSupSWLPivotObjects.Clear();
|
||||
mPeakResSWHPivotObjects.Clear();
|
||||
mPVFVGBullishPivotObjects.Clear();
|
||||
mPVFVGBearishPivotObjects.Clear();
|
||||
mTrendBullishPivotObjects.Clear();
|
||||
mTrendBearishPivotObjects.Clear();
|
||||
mRSICrossedOverOSPivotObjects.Clear();
|
||||
mRSICrossedUnderOBPivotObjects.Clear();
|
||||
mCCICrossedOverOSPivotObjects.Clear();
|
||||
@@ -1035,17 +1037,17 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
}
|
||||
|
||||
//
|
||||
void DrawPVFVGBullishPivots(datetime to = NULL)
|
||||
void DrawTrendBullishPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawPVFVGBullishPivots;
|
||||
bool has = drawTrendBullishPivots;
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
has = detector.HasPVFVGBullishPivots();
|
||||
has = detector.HasTrendBullishPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
@@ -1055,64 +1057,148 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
int count = detector.CountPVFVGBullishPivots();
|
||||
int count = detector.CountTrendBullishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector.pvFVGBullishPivots[i].GetSelectedFVG(iBox);
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
iBox.Clean();
|
||||
continue;
|
||||
}
|
||||
XCATRENDFVG iTrendFVG = detector.trendBullishPivots[i];
|
||||
|
||||
//
|
||||
// Draw Trend Box ...
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
iTrendFVG.trend.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
XCBoxObject *iTrendBoxObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
iTrendFVG.trend,
|
||||
iTrendBoxObj //
|
||||
);
|
||||
|
||||
//
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(pvFVGBullishPivotsColor);
|
||||
iObj.BoxWidth(pvFVGBullishPivotsWidth);
|
||||
iObj.BoxStyle(pvFVGBullishPivotsStyle);
|
||||
iTrendBoxObj.BoxColor(trendBullishPivotsColor);
|
||||
iTrendBoxObj.BoxWidth(trendBullishPivotsWidth);
|
||||
iTrendBoxObj.BoxStyle(trendBullishPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mPVFVGBullishPivotObjects.Add(iObj);
|
||||
mTrendBullishPivotObjects.Add(iTrendBoxObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
// Draw ITrendFVG FVGS ...
|
||||
if (drawTrendPivotsOnlySelectedFVG)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = iTrendFVG.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(fvgBullishPivotsColor);
|
||||
iObj.BoxWidth(fvgBullishPivotsWidth);
|
||||
iObj.BoxStyle(fvgBullishPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mTrendBullishPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
else
|
||||
{
|
||||
//
|
||||
// Draw All FVGs ...
|
||||
has = HasChild(iTrendFVG.fvgs);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
int jCount = ArraySize(iTrendFVG.fvgs);
|
||||
for (int j = 0; j < jCount; j++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = iTrendFVG.fvgs[j];
|
||||
|
||||
//
|
||||
if (canUpdateTo) {
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(fvgBullishPivotsColor);
|
||||
iObj.BoxWidth(fvgBullishPivotsWidth);
|
||||
iObj.BoxStyle(fvgBullishPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mTrendBullishPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
iTrendFVG.Clean();
|
||||
ZeroMemory(iTrendBoxObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void DrawPVFVGBearishPivots(datetime to = NULL)
|
||||
void DrawTrendBearishPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawPVFVGBearishPivots;
|
||||
bool has = drawTrendBearishPivots;
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
has = detector.HasPVFVGBearishPivots();
|
||||
has = detector.HasTrendBearishPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
@@ -1122,54 +1208,138 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
int count = detector.CountPVFVGBearishPivots();
|
||||
int count = detector.CountTrendBearishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector.pvFVGBearishPivots[i].GetSelectedFVG(iBox);
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
iBox.Clean();
|
||||
continue;
|
||||
}
|
||||
XCATRENDFVG iTrendFVG = detector.trendBearishPivots[i];
|
||||
|
||||
//
|
||||
// Draw Trend Box ...
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
iTrendFVG.trend.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
XCBoxObject *iTrendBoxObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
iTrendFVG.trend,
|
||||
iTrendBoxObj //
|
||||
);
|
||||
|
||||
//
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(pvFVGBearishPivotsColor);
|
||||
iObj.BoxWidth(pvFVGBearishPivotsWidth);
|
||||
iObj.BoxStyle(pvFVGBearishPivotsStyle);
|
||||
iTrendBoxObj.BoxColor(trendBearishPivotsColor);
|
||||
iTrendBoxObj.BoxWidth(trendBearishPivotsWidth);
|
||||
iTrendBoxObj.BoxStyle(trendBearishPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mPVFVGBearishPivotObjects.Add(iObj);
|
||||
mTrendBearishPivotObjects.Add(iTrendBoxObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
// Draw ITrendFVG FVGS ...
|
||||
if (drawTrendPivotsOnlySelectedFVG)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = iTrendFVG.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(fvgBearishPivotsColor);
|
||||
iObj.BoxWidth(fvgBearishPivotsWidth);
|
||||
iObj.BoxStyle(fvgBearishPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mTrendBearishPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
else
|
||||
{
|
||||
//
|
||||
// Draw All FVGs ...
|
||||
has = HasChild(iTrendFVG.fvgs);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
int jCount = ArraySize(iTrendFVG.fvgs);
|
||||
for (int j = 0; j < jCount; j++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = iTrendFVG.fvgs[j];
|
||||
|
||||
//
|
||||
if (canUpdateTo) {
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
// Style Object ...
|
||||
iObj.BoxColor(fvgBearishPivotsColor);
|
||||
iObj.BoxWidth(fvgBearishPivotsWidth);
|
||||
iObj.BoxStyle(fvgBearishPivotsStyle);
|
||||
|
||||
//
|
||||
// Store Object ...
|
||||
mTrendBearishPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
iTrendFVG.Clean();
|
||||
ZeroMemory(iTrendBoxObj);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
void DrawRSICrossedOverOSPivots(datetime to = NULL)
|
||||
void DrawRSICrossedOverOSPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawRSICrossedOverOSPivots;
|
||||
@@ -1301,7 +1471,7 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
}
|
||||
|
||||
//
|
||||
void DrawCCICrossedOverOSPivots(datetime to = NULL)
|
||||
void DrawCCICrossedOverOSPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
bool has = drawCCICrossedOverOSPivots;
|
||||
@@ -1460,8 +1630,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
CArrayObj mFVGBearishPivotObjects;
|
||||
CArrayObj mValeSupSWLPivotObjects;
|
||||
CArrayObj mPeakResSWHPivotObjects;
|
||||
CArrayObj mPVFVGBullishPivotObjects;
|
||||
CArrayObj mPVFVGBearishPivotObjects;
|
||||
CArrayObj mTrendBullishPivotObjects;
|
||||
CArrayObj mTrendBearishPivotObjects;
|
||||
CArrayObj mRSICrossedOverOSPivotObjects;
|
||||
CArrayObj mRSICrossedUnderOBPivotObjects;
|
||||
CArrayObj mCCICrossedOverOSPivotObjects;
|
||||
|
||||
Reference in New Issue
Block a user