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 drawValeSWLSupPivots;
bool drawTKIBullishPivots; bool drawTKIBullishPivots;
bool drawTKIBearishPivots; bool drawTKIBearishPivots;
bool drawCycleSameLLPivots;
bool drawCycleSameHHPivots;
bool drawTrendBullishPivots; bool drawTrendBullishPivots;
bool drawTrendBearishPivots; bool drawTrendBearishPivots;
bool drawTKITRNDBullishPivots; bool drawTKITRNDBullishPivots;
@@ -98,6 +100,8 @@ class XCXCAEAPOIDrawer : public XCBase
mTKIBearishPivotObjects.Clear(); mTKIBearishPivotObjects.Clear();
mTrendBullishPivotObjects.Clear(); mTrendBullishPivotObjects.Clear();
mTrendBearishPivotObjects.Clear(); mTrendBearishPivotObjects.Clear();
mCycleSameLLPivotObjects.Clear();
mCycleSameHHPivotObjects.Clear();
mTKITRNDBullishPivotObjects.Clear(); mTKITRNDBullishPivotObjects.Clear();
mTKITRNDBearishPivotObjects.Clear(); mTKITRNDBearishPivotObjects.Clear();
@@ -196,6 +200,8 @@ class XCXCAEAPOIDrawer : public XCBase
drawValeSWLSupPivots = false; drawValeSWLSupPivots = false;
drawTKIBullishPivots = false; drawTKIBullishPivots = false;
drawTKIBearishPivots = false; drawTKIBearishPivots = false;
drawCycleSameLLPivots = false;
drawCycleSameHHPivots = false;
drawTrendBullishPivots = false; drawTrendBullishPivots = false;
drawTrendBearishPivots = false; drawTrendBearishPivots = false;
drawTKITRNDBullishPivots = false; drawTKITRNDBullishPivots = false;
@@ -232,6 +238,8 @@ class XCXCAEAPOIDrawer : public XCBase
DrawValeSWLSupPivots(); DrawValeSWLSupPivots();
DrawTKIBullishPivots(); DrawTKIBullishPivots();
DrawTKIBearishPivots(); DrawTKIBearishPivots();
DrawCycleSameLLPivots();
DrawCycleSameHHPivots();
DrawTrendBullishPivots(); DrawTrendBullishPivots();
DrawTrendBearishPivots(); DrawTrendBearishPivots();
DrawTKITRNDBullishPivots(); 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 mValeSWLSupPivotObjects;
CArrayObj mTKIBullishPivotObjects; CArrayObj mTKIBullishPivotObjects;
CArrayObj mTKIBearishPivotObjects; CArrayObj mTKIBearishPivotObjects;
CArrayObj mCycleSameLLPivotObjects;
CArrayObj mCycleSameHHPivotObjects;
CArrayObj mTrendBullishPivotObjects; CArrayObj mTrendBullishPivotObjects;
CArrayObj mTrendBearishPivotObjects; CArrayObj mTrendBearishPivotObjects;
CArrayObj mTKITRNDBullishPivotObjects; CArrayObj mTKITRNDBullishPivotObjects;
+23 -2
View File
@@ -611,8 +611,27 @@ class XCXCAEASignaller : XCBase
); );
// //
// Initialize and Configure Detector ...
detector = new XCXCAEAPOIDetector(helper); 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 ... // Initialize and Configure Drawer ...
drawer = new XCXCAEAPOIDrawer(detector); drawer = new XCXCAEAPOIDrawer(detector);
@@ -625,8 +644,10 @@ class XCXCAEASignaller : XCBase
drawer.drawValePivots = false; drawer.drawValePivots = false;
drawer.drawKIBullishPivots = false; drawer.drawKIBullishPivots = false;
drawer.drawKIBearishPivots = false; drawer.drawKIBearishPivots = false;
drawer.drawPeakSWHResPivots = true; drawer.drawPeakSWHResPivots = false; // true;
drawer.drawValeSWLSupPivots = true; drawer.drawValeSWLSupPivots = false; // true;
drawer.drawCycleSameLLPivots = true;
drawer.drawCycleSameHHPivots = true;
drawer.drawTKIBullishPivots = false; drawer.drawTKIBullishPivots = false;
drawer.drawTKIBearishPivots = false; drawer.drawTKIBearishPivots = false;
drawer.drawTrendBullishPivots = false; drawer.drawTrendBullishPivots = false;