This commit is contained in:
2025-10-01 12:06:18 +03:30
parent c5a1e326b2
commit 684d3028c4
11 changed files with 4472 additions and 2379 deletions
+35 -133
View File
@@ -37,20 +37,9 @@ struct XFIMAPatternDetectorConfig
//
// Props ...
//
// Flags ...
//
bool detectSupport;
bool detectResistance;
//
bool detectSwingTrend;
//
bool detectOB;
bool detectFVG;
//
bool detectStarPattern;
bool detectFlagPattern;
@@ -66,7 +55,6 @@ struct XFIMAPatternDetectorConfig
//
bool analyseFIMAPVPivots;
bool analyseFIMASARPivots;
bool analyseFIMAZigZagPivots;
//
@@ -80,27 +68,19 @@ struct XFIMAPatternDetectorConfig
//
// Configs ...
//
// OB / FVG ...
int obLoopback;
int fvgLoopback;
//
// Trending ...
int trendingNumberOfSwings;
int trendingSwingShoulders;
//
int recentlyPatternsMaxLookupLength;
int recentlyPatternsMaxAllowedCollecting;
//
// Support and Resistance ...
int recentlyZonesMaxLookupLength;
int supportAndResistanceValidationLength;
int minAllowdSupportAndResistanceStrength;
int supportAndResistanceMaxAllowedLoopback;
int supportAndResistanceBreakeValidationLength;
int zonesRequiredNumber;
int zonesValidationLength;
double zonesMinAlloweStrength;
int zonesBreakValidationLength;
double zonesBarShadowMultiplier;
int zonesMaxAllowedLoopbackLength;
//
// TrueGap ...
@@ -149,23 +129,18 @@ struct XFIMAPatternDetectorConfig
void Clean()
{
//
detectOB = false;
detectFVG = false;
detectSupport = false;
detectResistance = false;
detectSwingTrend = false;
detectStarPattern = false;
detectFlagPattern = false;
detectRisingPattern = false;
detectPiercingPattern = false;
detectSignalKeyBarPattern = false;
detectPinned = false;
detectMomentum = false;
detectEngulfed = false;
detectTrueGaped = false;
detectSwingTrend = false;
detectStarPattern = false;
detectFlagPattern = false;
detectRisingPattern = false;
analyseFIMAPVPivots = false;
analyseFIMASARPivots = false;
detectPiercingPattern = false;
analyseFIMAZigZagPivots = false;
detectSignalKeyBarPattern = false;
//
detectMACrosses = false;
@@ -176,30 +151,29 @@ struct XFIMAPatternDetectorConfig
detectSARSwitches = false;
//
obLoopback = 0;
fvgLoopback = 0;
zonesRequiredNumber = 0;
zonesValidationLength = 0;
zonesMinAlloweStrength = 0;
zonesBarShadowMultiplier = 0;
zonesBreakValidationLength = 0;
zonesMaxAllowedLoopbackLength = 0;
//
trendingNumberOfSwings = 0;
trendingSwingShoulders = 0;
recentlyZonesMaxLookupLength = 0;
recentlyPatternsMaxLookupLength = 0;
recentlyPatternsMaxAllowedCollecting = 0;
supportAndResistanceValidationLength = 0;
minAllowdSupportAndResistanceStrength = 0;
supportAndResistanceMaxAllowedLoopback = 0;
supportAndResistanceBreakeValidationLength = 0;
momentumBarRangeLength = 0;
pvPivotsValidationLength = 0;
pinnedBarForceDirection = false;
momentumBarApprovedMultiplier = 0;
signalKeyBarForceDirection = false;
truwGapApprovedPointMultiplier = 0;
flagPatternMinimumPullbackBars = 0;
momentumBarRangeLength = 0;
momentumBarApprovedMultiplier = 0;
pinnedBaarShadowApprovedMultiplier = 0;
pinnedBarMinimumPinBarRangeMultiplier = 0;
pinnedBarForceDirection = false;
signalKeyBarShadowApprovedMultiplier = 0;
signalKeyBarMinimumPinBarRangeMultiplier = 0;
signalKeyBarForceDirection = false;
pvPivotsValidationLength = 0;
numberOfRequiredPivotsForAnalysis = 0;
pinnedBaarShadowApprovedMultiplier = 0;
maxAllowedLoopbackLengthForAnalysis = 0;
signalKeyBarShadowApprovedMultiplier = 0;
pinnedBarMinimumPinBarRangeMultiplier = 0;
signalKeyBarMinimumPinBarRangeMultiplier = 0;
//
ZeroMemory(this);
@@ -210,17 +184,6 @@ struct XFIMAPatternDetectorConfig
*/
void Default()
{
//
// OB / FVG ...
detectOB = false;
detectFVG = false;
//
// Support and Resistances ...
detectSupport = false;
detectResistance = false;
detectSwingTrend = false;
//
// Patterns ...
detectStarPattern = false;
@@ -239,7 +202,6 @@ struct XFIMAPatternDetectorConfig
//
// Analysers ...
analyseFIMAPVPivots = false;
analyseFIMASARPivots = false;
analyseFIMAZigZagPivots = false;
//
@@ -250,11 +212,6 @@ struct XFIMAPatternDetectorConfig
detectHKSwitches = true;
detectSARSwitches = true;
//
// OB / FVg ...
obLoopback = 5;
fvgLoopback = 5;
//
// Trending ...
trendingNumberOfSwings = 3;
@@ -262,13 +219,12 @@ struct XFIMAPatternDetectorConfig
//
// Support and Resistance ...
recentlyZonesMaxLookupLength = 100;
recentlyPatternsMaxLookupLength = 50;
recentlyPatternsMaxAllowedCollecting = 20;
supportAndResistanceValidationLength = 100;
minAllowdSupportAndResistanceStrength = 1;
supportAndResistanceMaxAllowedLoopback = 1500;
supportAndResistanceBreakeValidationLength = 4;
zonesRequiredNumber = 25;
zonesValidationLength = 21;
zonesMinAlloweStrength = 2;
zonesBarShadowMultiplier = 4;
zonesBreakValidationLength = 3;
zonesMaxAllowedLoopbackLength = 200;
//
// TrueGap ...
@@ -307,17 +263,6 @@ struct XFIMAPatternDetectorConfig
*/
void FullDetect()
{
//
// OB / FVG ...
detectOB = true;
detectFVG = true;
//
// Support and Resistances ...
detectSupport = true;
detectResistance = true;
detectSwingTrend = true;
//
// Patterns ...
detectStarPattern = true;
@@ -336,7 +281,6 @@ struct XFIMAPatternDetectorConfig
//
// Analysers ...
analyseFIMAPVPivots = true;
analyseFIMASARPivots = true;
analyseFIMAZigZagPivots = true;
//
@@ -350,17 +294,6 @@ struct XFIMAPatternDetectorConfig
*/
void OffDetectors()
{
//
// OB / FVG ...
detectOB = false;
detectFVG = false;
//
// Support and Resistances ...
detectSupport = false;
detectResistance = false;
detectSwingTrend = false;
//
// Patterns ...
detectStarPattern = false;
@@ -379,7 +312,6 @@ struct XFIMAPatternDetectorConfig
//
// Analysers ...
analyseFIMAPVPivots = false;
analyseFIMASARPivots = false;
analyseFIMAZigZagPivots = false;
//
@@ -400,12 +332,6 @@ struct XFIMAMarketStructure
//
XOHCL bar;
//
XBoxZone ob;
XBoxZone fvg;
XBoxZone support;
XBoxZone resistance;
//
XBoxZone obs[];
XBoxZone fvgs[];
@@ -425,21 +351,9 @@ struct XFIMAMarketStructure
XBoxZone piercingPatterns[];
XBoxZone signalKeyBarPatterns[];
//
// Previous Support or Resistance based on current ...
//
// Current Support is Touched => Prev Support;
// Current Resistance is Touched => Prev Resistance;
XBoxZone fakeBreakedZone;
//
XBoxZone recentlyTestedZones[];
XBoxZone recentlyBreakedZones[];
//
// Analysis ...
XPivotAnalysis pvAnalysis;
XPivotAnalysis sarAnalysis;
XPivotAnalysis zigzagAnalysis;
//
@@ -489,22 +403,12 @@ struct XFIMAMarketStructure
*/
void Clean()
{
//
ob.Clean();
fvg.Clean();
support.Clean();
resistance.Clean();
//
fakeBreakedZone.Clean();
//
bar.Clean();
flagSwing.Clean();
//
pvAnalysis.Clean();
sarAnalysis.Clean();
zigzagAnalysis.Clean();
//
@@ -548,8 +452,6 @@ struct XFIMAMarketStructure
//
SpecifiedClean(trendSwings);
SpecifiedClean(recentlyTestedZones);
SpecifiedClean(recentlyBreakedZones);
//
ZeroMemory(this);