This commit is contained in:
2025-09-30 03:53:35 +03:30
parent ab38b28fab
commit 32b218afbc
7 changed files with 674 additions and 254 deletions
@@ -1163,6 +1163,42 @@ class XCXFIMAStrategy2Signaller : public XCXFIMABaseSignaller
//
// Calling Without Candlestick Patterns Strategies ...
//
// Testing Bar Zones ...
XBoxZone barZones[];
int barCounts = fima2Signaller.fimaHelper.ExtractBarZones(
barZones,
1, // Bar Index ...
50, // Number of Zones ...
3, // Break Validation Length ...
true, // Validate Fake Breakes ...
5, // Shadow Multiplier ...
1, // Strength ...
14 // Validation Length ...
);
if (IsValidSize(barCounts))
{
//
XCBoxObject *iObj;
for (int i = 0; i < barCounts; i++)
{
//
iObj = NULL;
bool isCreated = fima2Signaller.poiDrawer.DrawBox(
barZones[i],
iObj,
true, // Ignore At ...
barZones[i].type // Name ...
);
//
ZeroMemory(iObj);
}
// //
// Print("Bar Zones Detected ...");
}
//
// Testing HK Zones ...
XBoxZone hkZones[];
@@ -1172,29 +1208,51 @@ class XCXFIMAStrategy2Signaller : public XCXFIMABaseSignaller
50, // Number of Zones ...
5, // Shadow Multiplier ...
1, // Strength ...
21 // Validation Length ...
14 // Validation Length ...
);
if (IsValidSize(hkCounts))
{
//
XCBoxObject *iObj;
for (int i = 0; i < hkCounts; i++)
{
//
iObj = NULL;
bool isCreated = fima2Signaller.poiDrawer.DrawBox(
hkZones[i],
iObj,
true, // Ignore At ...
hkZones[i].type // Name ...
);
// //
// XCBoxObject *iObj;
// for (int i = 0; i < hkCounts; i++)
// {
// //
// iObj = NULL;
// bool isCreated = fima2Signaller.poiDrawer.DrawBox(
// hkZones[i],
// iObj,
// true, // Ignore At ...
// hkZones[i].type // Name ...
// );
//
ZeroMemory(iObj);
}
// //
// ZeroMemory(iObj);
// }
// //
// Print("HK Zones Detected ...");
}
//
// Testing XFIMA MA Pivots ...
XPivot maPivots[];
int maPivotsCount = fimaHelper.ExtractMAPivots(
maPivots,
1, // Bar Index ...
50, // Number of Pivots ...
0 // Validation Length ...
);
if (IsValidSize(maPivotsCount))
{
//
CArrayObj *iPivotsObj;
maPivotsCount = poiDrawer.DrawPivots(
maPivots,
iPivotsObj //
);
//
Print("HK Zones Detected ...");
Print("MA Pivots Detected ...");
}
//
@@ -1312,7 +1370,7 @@ class XCXFIMAStrategy2Signaller : public XCXFIMABaseSignaller
//
// Do all Draws Here ...
bool canDraw = true;
bool canDraw = false;
if (canDraw && has)
{
//
@@ -938,25 +938,6 @@ class XCXFIMAPOIDetector : public XCMarketPatternDetector
}
}
//
// Analyse Based on MA ...
if (config.analyseFIMAMAPivots)
{
//
XPivotAnalysis analysis;
has = AnalyseMAPivots(
analysis, // Result ...
forBar.Index(), // Bar Index ...
config.numberOfRequiredPivotsForAnalysis, // Required Number of Pivots ...
config.maxAllowedLoopbackLengthForAnalysis, // Max Allowed Loopback ...
config.pvPivotsValidationLength // Validation Length ...
);
if (has)
{
structure.maAnalysis = analysis;
}
}
//
// Analyse Based on SAR ...
if (config.analyseFIMASARPivots)
@@ -1246,33 +1246,6 @@ class XCXFIMAPOIDrawer : public XCPOIDrawer
}
}
//
// XFIMA MA Analysis ...
if (config.drawFIMAMAPivotsAnalysis)
{
//
// Validate ...
has = structure.maAnalysis.IsValid();
if (has)
{
//
XCPivotAnalysisObject *iObj;
has = DrawPivotAnalysis(
structure.pvAnalysis,
iObj,
config.drawFIMAMAPivotsAnalysisTrends,
config.drawFIMAMAPivotsAnalysisZones,
config.drawFIMAMAPivotsAnalysisPivots,
bearArrowCode,
bullArrowCode //
);
if (has)
{
objects.Add(iObj);
}
}
}
//
// XFIMA Sar Analysis ...
if (config.drawFIMASARPivotsAnalysis)