This commit is contained in:
2025-10-05 13:47:57 +03:30
parent 8298759c8d
commit 03d215c9fa
2 changed files with 617 additions and 29 deletions
@@ -450,6 +450,7 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
public:
//
// Props ...
CArrayObj barObjects;
CArrayObj zoneObjects;
CArrayObj pivotObjects;
XFIMAPatternDetectorConfig analyserConfig;
@@ -670,14 +671,14 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
// );
//
XPivot fimaPivots[];
int fimaPivotsCount = fimaHelper.DetecteXFIMAPivots(
fimaPivots,
iBar.Index(),
50, // Number of Pivots ...
7, // Validation Length ...
500 // Loopback ...
);
// XPivot fimaPivots[];
// int fimaPivotsCount = fimaHelper.DetecteXFIMAPivots(
// fimaPivots,
// iBar.Index(),
// 50, // Number of Pivots ...
// 7, // Validation Length ...
// 500 // Loopback ...
// );
// //
// has = IsValidSize(fimaZonesCount);
@@ -702,22 +703,71 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
// }
// }
// //
// has = IsValidSize(fimaPivotsCount);
// if (has)
// {
// //
// // Draw Detected Pivots ...
// for (int i = 0; i < fimaPivotsCount; i++)
// {
// //
// XCBarArrowObject *iObj;
// has = poiDrawer.DrawPivot(
// fimaPivots[i],
// iObj);
// if (has)
// {
// pivotObjects.Add(iObj);
// }
// }
// }
//
has = IsValidSize(fimaPivotsCount);
// Detect DecisionBars ...
XOHCL decisionBars[];
ENUM_X_DIRECTION decisionBarDirs[];
int decisionBarsCount = fimaHelper.DetectXFIMAContinuationalPOIBars(
decisionBars,
decisionBarDirs,
iBar.Index(),
true,
X_DIRECTION_ALL, // For Dir ...
300 // Required Number of Bars ...
);
// int decisionBarsCount = fimaHelper.DetectXFIMAPOIBars(
// decisionBars,
// decisionBarDirs,
// iBar.Index(),
// true,
// X_DIRECTION_ALL, // For Dir ...
// 300 // Required Number of Bars ...
// );
//
has = IsValidSize(decisionBarsCount);
if (has)
{
//
// Draw Detected Pivots ...
for (int i = 0; i < fimaPivotsCount; i++)
for (int i = 0; i < decisionBarsCount; i++)
{
//
XCBarArrowObject *iObj;
has = poiDrawer.DrawPivot(
fimaPivots[i],
iObj);
has = poiDrawer.DrawBarArrow(
decisionBars[i],
iObj,
IsXBullish(decisionBarDirs[i]) ? X_PRICE_LOW : X_PRICE_HIGH,
159,
IsXBullish(decisionBarDirs[i]) ? clrYellow : clrDarkOrange,
5,
IsXBullish(decisionBarDirs[i]) ? ANCHOR_BOTTOM : ANCHOR_TOP,
"XOHCL_" + ToXString(TimeToSeconds(decisionBars[i].time)),
true, // Ignore Bar Tag ...
5 // Threshold ...
);
if (has)
{
pivotObjects.Add(iObj);
barObjects.Add(iObj);
}
}
}