This commit is contained in:
2025-04-19 00:41:36 +03:30
parent 949621ed2c
commit 4d9307bc3e
3 changed files with 1510 additions and 29 deletions
File diff suppressed because it is too large Load Diff
+300
View File
@@ -46,6 +46,8 @@ class XCXCAEAPOIDrawer : public XCBase
bool drawValeSWLSupPivots;
bool drawTKIBullishPivots;
bool drawTKIBearishPivots;
bool drawCycleSameLLPivots;
bool drawCycleSameHHPivots;
bool drawTrendBullishPivots;
bool drawTrendBearishPivots;
bool drawTKITRNDBullishPivots;
@@ -98,6 +100,8 @@ class XCXCAEAPOIDrawer : public XCBase
mTKIBearishPivotObjects.Clear();
mTrendBullishPivotObjects.Clear();
mTrendBearishPivotObjects.Clear();
mCycleSameLLPivotObjects.Clear();
mCycleSameHHPivotObjects.Clear();
mTKITRNDBullishPivotObjects.Clear();
mTKITRNDBearishPivotObjects.Clear();
@@ -196,6 +200,8 @@ class XCXCAEAPOIDrawer : public XCBase
drawValeSWLSupPivots = false;
drawTKIBullishPivots = false;
drawTKIBearishPivots = false;
drawCycleSameLLPivots = false;
drawCycleSameHHPivots = false;
drawTrendBullishPivots = false;
drawTrendBearishPivots = false;
drawTKITRNDBullishPivots = false;
@@ -232,6 +238,8 @@ class XCXCAEAPOIDrawer : public XCBase
DrawValeSWLSupPivots();
DrawTKIBullishPivots();
DrawTKIBearishPivots();
DrawCycleSameLLPivots();
DrawCycleSameHHPivots();
DrawTrendBullishPivots();
DrawTrendBearishPivots();
DrawTKITRNDBullishPivots();
@@ -878,6 +886,296 @@ class XCXCAEAPOIDrawer : public XCBase
}
}
//
void DrawCycleSameLLPivots()
{
//
if (!drawCycleSameLLPivots)
{
return;
}
//
int count = 0;
//
// SHORT ...
bool has = detector.HasSSameLLPivots();
if (has)
{
//
count = detector.CountSSameLLPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.sSameLLPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameLLPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
//
// MEDIUM ...
has = detector.HasMSameLLPivots();
if (has)
{
//
count = detector.CountMSameLLPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.mSameLLPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameLLPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
//
// LONG ...
has = detector.HasLSameLLPivots();
if (has)
{
//
count = detector.CountLSameLLPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.lSameLLPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameLLPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
//
// HIND ...
has = detector.HasHSameLLPivots();
if (has)
{
//
count = detector.CountHSameLLPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.hSameLLPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameLLPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
}
//
void DrawCycleSameHHPivots()
{
//
if (!drawCycleSameHHPivots)
{
return;
}
//
int count = 0;
//
// SHORT ...
bool has = detector.HasSSameHHPivots();
if (has)
{
//
count = detector.CountSSameHHPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.sSameHHPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameHHPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
//
// MEDIUM ...
has = detector.HasMSameHHPivots();
if (has)
{
//
count = detector.CountMSameHHPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.mSameHHPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameHHPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
//
// LONG ...
has = detector.HasLSameHHPivots();
if (has)
{
//
count = detector.CountLSameHHPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.lSameHHPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameHHPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
//
// HIND ...
has = detector.HasHSameHHPivots();
if (has)
{
//
count = detector.CountHSameHHPivots();
for (int i = 0; i < count; i++)
{
//
XBoxZone iBox;
has = detector.hSameHHPivots[i].AsBox(iBox);
if (!has)
{
continue;
}
//
XCBoxObject *iObj;
has = drawer.DrawBox(
iBox,
iObj //
);
if (has)
{
mCycleSameHHPivotObjects.Add(iObj);
}
//
iBox.Clean();
}
}
}
//
//
//
@@ -1413,6 +1711,8 @@ class XCXCAEAPOIDrawer : public XCBase
CArrayObj mValeSWLSupPivotObjects;
CArrayObj mTKIBullishPivotObjects;
CArrayObj mTKIBearishPivotObjects;
CArrayObj mCycleSameLLPivotObjects;
CArrayObj mCycleSameHHPivotObjects;
CArrayObj mTrendBullishPivotObjects;
CArrayObj mTrendBearishPivotObjects;
CArrayObj mTKITRNDBullishPivotObjects;
+23 -2
View File
@@ -611,8 +611,27 @@ class XCXCAEASignaller : XCBase
);
//
// Initialize and Configure Detector ...
detector = new XCXCAEAPOIDetector(helper);
//
detector.detectSWHPivot = false;
detector.detectSWLPivot = false;
detector.detectPeakPivot = false;
detector.detectValePivot = false;
detector.detectKIBullishPivot = false;
detector.detectKIBearishPivot = false;
detector.detectPeakSWHResPivot = true;
detector.detectValeSWLSupPivot = true;
detector.detectTKIBullishPivot = false;
detector.detectCycleSameLLPivot = true;
detector.detectCycleSameHHPivot = true;
detector.detectTKIBearishPivot = false;
detector.detectTrendBullishPivot = true;
detector.detectTrendBearishPivot = true;
detector.detectTKITRNDBullishPivot = false;
detector.detectTKITRNDBearishPivot = false;
//
// Initialize and Configure Drawer ...
drawer = new XCXCAEAPOIDrawer(detector);
@@ -625,8 +644,10 @@ class XCXCAEASignaller : XCBase
drawer.drawValePivots = false;
drawer.drawKIBullishPivots = false;
drawer.drawKIBearishPivots = false;
drawer.drawPeakSWHResPivots = true;
drawer.drawValeSWLSupPivots = true;
drawer.drawPeakSWHResPivots = false; // true;
drawer.drawValeSWLSupPivots = false; // true;
drawer.drawCycleSameLLPivots = true;
drawer.drawCycleSameHHPivots = true;
drawer.drawTKIBullishPivots = false;
drawer.drawTKIBearishPivots = false;
drawer.drawTrendBullishPivots = false;