last works ...

This commit is contained in:
2025-09-23 23:47:18 +03:30
parent 727344d27a
commit 05d6c4afd7
4 changed files with 344 additions and 69 deletions
+106 -40
View File
@@ -150,6 +150,12 @@ XCXFIMAStrategy2Signaller *fima2Signaller; // XFIMA2 Signaller ...
// Drawer and eaDraws ...
CArrayObj eaDraws; // Drawn Objects ...
//
XCPivotAnalysisObject *pvAnalysisObject; // PV Analysis Object ...
XCPivotAnalysisObject *maAnalysisObject; // MA Analysis Object ...
XCPivotAnalysisObject *sarAnalysisObject; // SAR Analysis Object ...
XCPivotAnalysisObject *zigzagAnalysisObject; // ZigZag Analysis Object ...
//
XBarTracker eaBarTracker; // EA Bar Traker ...
@@ -810,8 +816,8 @@ void DetectPatterns()
bool detectSwingTrendBreakes = false;
//
bool detectSupports = true;
bool detectResistance = true;
bool detectSupports = false;
bool detectResistance = false;
//
// XFIMA Patetrns ...
@@ -827,6 +833,10 @@ void DetectPatterns()
bool analyseFIMASARPivots = true;
bool analyseFIMAZigZagPivots = true;
//
// Required Pivots ...
int numberOfRequiredPivots = 15;
//
// Checking Momentum Bar ...
if (detectMomentum)
@@ -1161,11 +1171,11 @@ void DetectPatterns()
//
XPivot pivots[];
int pivotsCount = fima2Signaller.poiDetector.ExtractPVPivots(
pivots, // Result ...
cBar.Index(), // Bar Index ...
50, // Required Number of Pivots ...
1500, // Max Allowed Loopback ...
10 // Validation Length ...
pivots, // Result ...
cBar.Index(), // Bar Index ...
numberOfRequiredPivots, // Required Number of Pivots ...
1500, // Max Allowed Loopback ...
10 // Validation Length ...
);
has = IsValidSize(pivotsCount);
if (has)
@@ -1186,7 +1196,7 @@ void DetectPatterns()
);
//
Print("Pivots Extracted ...");
// Print("Pivots Extracted ...");
}
//
@@ -1201,11 +1211,11 @@ void DetectPatterns()
//
XPivot pivots[];
int pivotsCount = fima2Signaller.poiDetector.ExtractMAPivots(
pivots, // Result ...
cBar.Index(), // Bar Index ...
50, // Required Number of Pivots ...
1500, // Max Allowed Loopback ...
0 // Validation Length ...
pivots, // Result ...
cBar.Index(), // Bar Index ...
numberOfRequiredPivots, // Required Number of Pivots ...
1500, // Max Allowed Loopback ...
0 // Validation Length ...
);
has = IsValidSize(pivotsCount);
if (has)
@@ -1226,7 +1236,7 @@ void DetectPatterns()
);
//
Print("Pivots Extracted ...");
// Print("Pivots Extracted ...");
}
//
@@ -1241,10 +1251,10 @@ void DetectPatterns()
//
XPivot pivots[];
int pivotsCount = fima2Signaller.poiDetector.ExtractSARPivots(
pivots, // Result ...
cBar.Index(), // Bar Index ...
50, // Required Number of Pivots ...
1500 // Max Allowed Loopback ...
pivots, // Result ...
cBar.Index(), // Bar Index ...
numberOfRequiredPivots, // Required Number of Pivots ...
1500 // Max Allowed Loopback ...
);
has = IsValidSize(pivotsCount);
if (has)
@@ -1265,7 +1275,7 @@ void DetectPatterns()
);
//
Print("Pivots Extracted ...");
// Print("Pivots Extracted ...");
}
//
@@ -1281,8 +1291,8 @@ void DetectPatterns()
XPivot pivots[];
int pivotsCount = fima2Signaller.poiDetector.ExtractZigZagPivots(
pivots,
0,
50,
cBar.Index(),
numberOfRequiredPivots,
1500 //
);
has = IsValidSize(pivotsCount);
@@ -1304,7 +1314,7 @@ void DetectPatterns()
);
//
Print("Pivots Extracted ...");
// Print("Pivots Extracted ...");
}
//
@@ -1317,33 +1327,34 @@ void DetectPatterns()
//
// Analyse Based on PV ...
if (analyseFIMAPVPivots && false)
if (analyseFIMAPVPivots)
{
//
XPivotAnalysis analysis;
has = fima2Signaller.poiDetector.AnalysePVPivots(
analysis, // Result ...
cBar.Index(), // Bar Index ...
50, // Required Number of Pivots ...
1500, // Max Allowed Loopback ...
10 // Validation Length ...
analysis, // Result ...
cBar.Index(), // Bar Index ...
numberOfRequiredPivots, // Required Number of Pivots ...
1500, // Max Allowed Loopback ...
10 // Validation Length ...
);
if (has)
{
//
// Draw Analysis ...
XCPivotAnalysisObject *iObj;
DestroyObject(pvAnalysisObject);
has = fima2Signaller.poiDrawer.DrawPivotAnalysis(
analysis,
iObj //
pvAnalysisObject,
true // Draw Pivots ...
);
if (has)
{
//
eaDraws.Add(iObj);
// eaDraws.Add(iObj);
//
Print("FIMA PV Pivots Analysed ...");
// Print("FIMA PV Pivots Analysed ...");
}
}
}
@@ -1352,12 +1363,67 @@ void DetectPatterns()
// Analyse Based on MA ...
if (analyseFIMAMAPivots)
{
//
XPivotAnalysis analysis;
has = fima2Signaller.poiDetector.AnalyseMAPivots(
analysis, // Result ...
cBar.Index(), // Bar Index ...
numberOfRequiredPivots, // Required Number of Pivots ...
1500, // Max Allowed Loopback ...
0 // Validation Length ...
);
if (has)
{
//
// Draw Analysis ...
DestroyObject(maAnalysisObject);
has = fima2Signaller.poiDrawer.DrawPivotAnalysis(
analysis,
maAnalysisObject,
true // Draw Pivots ...
);
if (has)
{
//
// eaDraws.Add(iObj);
//
// Print("FIMA MA Pivots Analysed ...");
}
}
}
//
// Analyse Based on SAR ...
if (analyseFIMASARPivots)
{
//
XPivotAnalysis analysis;
has = fima2Signaller.poiDetector.AnalyseSARPivots(
analysis, // Result ...
cBar.Index(), // Bar Index ...
numberOfRequiredPivots, // Required Number of Pivots ...
1500 // Max Allowed Loopback ...
);
if (has)
{
//
// Draw Analysis ...
DestroyObject(sarAnalysisObject);
has = fima2Signaller.poiDrawer.DrawPivotAnalysis(
analysis,
sarAnalysisObject,
true // Draw Pivots ...
);
if (has)
{
//
// eaDraws.Add(iObj);
//
// Print("FIMA Sar Pivots Analysed ...");
}
}
}
//
@@ -1367,28 +1433,28 @@ void DetectPatterns()
//
XPivotAnalysis analysis;
has = fima2Signaller.poiDetector.AnalyseZigZagPivots(
analysis, // Result ...
0, // Bar Index ...
50, // Required Number of Pivots ...
1500 // Max Allowed Loopback ...
analysis, // Result ...
cBar.Index(), // Bar Index ...
numberOfRequiredPivots, // Required Number of Pivots ...
1500 // Max Allowed Loopback ...
);
if (has)
{
//
// Draw Analysis ...
XCPivotAnalysisObject *iObj;
DestroyObject(zigzagAnalysisObject);
has = fima2Signaller.poiDrawer.DrawPivotAnalysis(
analysis,
iObj,
zigzagAnalysisObject,
true // Draw Pivots ...
);
if (has)
{
//
eaDraws.Add(iObj);
// eaDraws.Add(iObj);
//
Print("FIMA ZigZag Pivots Analysed ...");
// Print("FIMA ZigZag Pivots Analysed ...");
}
}
}