last ...
This commit is contained in:
@@ -56,6 +56,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
bool drawCycleSameHHPivots;
|
||||
bool drawTrendBullishPivots;
|
||||
bool drawTrendBearishPivots;
|
||||
bool drawPVFVGBullishPivots;
|
||||
bool drawPVFVGBearishPivots;
|
||||
bool drawTKITRNDBullishPivots;
|
||||
bool drawTKITRNDBearishPivots;
|
||||
bool drawRSICrossedOverOSPivots;
|
||||
@@ -199,6 +201,8 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
drawTKIBearishPivots = false;
|
||||
drawCycleSameLLPivots = false;
|
||||
drawCycleSameHHPivots = false;
|
||||
drawPVFVGBullishPivots = false;
|
||||
drawPVFVGBearishPivots = false;
|
||||
drawTrendBullishPivots = false;
|
||||
drawTrendBearishPivots = false;
|
||||
drawTKITRNDBullishPivots = false;
|
||||
@@ -659,57 +663,114 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
//
|
||||
void DrawFVGBullishPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
if (!drawFVGBullishPivots)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
bool has = detector.HasFVGBullishPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
int count = detector.CountFVGBullishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
if (drawFVGBullishPivots)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector.fvgBullishPivots[i].AsBox(iBox);
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
iBox.Clean();
|
||||
continue;
|
||||
}
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
bool has = detector.HasFVGBullishPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iObj.BoxColor(fvgBullishPivotColor);
|
||||
iObj.BoxWidth(fvgBullishPivotWidth);
|
||||
iObj.BoxStyle(fvgBullishPivotStyle);
|
||||
int count = detector.CountFVGBullishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector.fvgBullishPivots[i].AsBox(iBox);
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
iBox.Clean();
|
||||
continue;
|
||||
}
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iObj.BoxColor(fvgBullishPivotColor);
|
||||
iObj.BoxWidth(fvgBullishPivotWidth);
|
||||
iObj.BoxStyle(fvgBullishPivotStyle);
|
||||
|
||||
//
|
||||
mFVGBullishPivotObjects.Add(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
if (drawPVFVGBullishPivots)
|
||||
{
|
||||
//
|
||||
bool has = detector.HasPVFVGBullishPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
mFVGBullishPivotObjects.Add(iObj);
|
||||
int count = detector.CountPVFVGBullishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XCAPVFVG iPVFVG = detector.pvFVGBullishPivots[i];
|
||||
|
||||
//
|
||||
XBoxZone fvgBoxes[];
|
||||
int fvgBoxesCount = iPVFVG.GetFVGs(fvgBoxes);
|
||||
has = IsValidSize(fvgBoxesCount);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
int idx = GetLowest(fvgBoxes);
|
||||
if (IsValidIndex(idx))
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = fvgBoxes[idx];
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
|
||||
//
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iObj.BoxColor(fvgBullishPivotColor);
|
||||
iObj.BoxWidth(fvgBullishPivotWidth);
|
||||
iObj.BoxStyle(fvgBullishPivotStyle);
|
||||
|
||||
//
|
||||
mFVGBullishPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -717,57 +778,114 @@ class XCXCAEAPOIDrawer : public XCBase
|
||||
//
|
||||
void DrawFVGBearishPivots(datetime to = NULL)
|
||||
{
|
||||
//
|
||||
if (!drawFVGBearishPivots)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
bool canUpdateTo = IsValid(to);
|
||||
|
||||
//
|
||||
bool has = detector.HasFVGBearishPivots();
|
||||
if (!has)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
int count = detector.CountFVGBearishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
if (drawFVGBearishPivots)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector.fvgBearishPivots[i].AsBox(iBox);
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
iBox.Clean();
|
||||
continue;
|
||||
}
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
bool has = detector.HasFVGBearishPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iObj.BoxColor(fvgBearishPivotColor);
|
||||
iObj.BoxWidth(fvgBearishPivotWidth);
|
||||
iObj.BoxStyle(fvgBearishPivotStyle);
|
||||
int count = detector.CountFVGBearishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XBoxZone iBox;
|
||||
has = detector.fvgBearishPivots[i].AsBox(iBox);
|
||||
if (!has)
|
||||
{
|
||||
//
|
||||
iBox.Clean();
|
||||
continue;
|
||||
}
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iObj.BoxColor(fvgBearishPivotColor);
|
||||
iObj.BoxWidth(fvgBearishPivotWidth);
|
||||
iObj.BoxStyle(fvgBearishPivotStyle);
|
||||
|
||||
//
|
||||
mFVGBearishPivotObjects.Add(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
if (drawPVFVGBullishPivots)
|
||||
{
|
||||
//
|
||||
bool has = detector.HasPVFVGBearishPivots();
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
mFVGBearishPivotObjects.Add(iObj);
|
||||
int count = detector.CountPVFVGBearishPivots();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
//
|
||||
XCAPVFVG iPVFVG = detector.pvFVGBearishPivots[i];
|
||||
|
||||
//
|
||||
XBoxZone fvgBoxes[];
|
||||
int fvgBoxesCount = iPVFVG.GetFVGs(fvgBoxes);
|
||||
has = IsValidSize(fvgBoxesCount);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
int idx = GetHighest(fvgBoxes);
|
||||
if (IsValidIndex(idx))
|
||||
{
|
||||
//
|
||||
XBoxZone iBox = fvgBoxes[idx];
|
||||
|
||||
//
|
||||
if (canUpdateTo)
|
||||
{
|
||||
iBox.to = to;
|
||||
}
|
||||
|
||||
//
|
||||
XCBoxObject *iObj;
|
||||
|
||||
//
|
||||
has = drawer.DrawBox(
|
||||
iBox,
|
||||
iObj //
|
||||
);
|
||||
if (has)
|
||||
{
|
||||
//
|
||||
iObj.BoxColor(fvgBearishPivotColor);
|
||||
iObj.BoxWidth(fvgBearishPivotWidth);
|
||||
iObj.BoxStyle(fvgBearishPivotStyle);
|
||||
|
||||
//
|
||||
mFVGBearishPivotObjects.Add(iObj);
|
||||
}
|
||||
|
||||
//
|
||||
iBox.Clean();
|
||||
ZeroMemory(iObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user