This commit is contained in:
2025-10-24 08:27:21 +03:30
parent 645c179b12
commit 2db26ee5f6
@@ -1698,6 +1698,7 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
bool validateBarInsideZone = true;
bool validateByBarPatterns = true;
bool validateByBarInsideATRBand = true;
bool validateByBarBasedOnATRBand = true;
//
// Define Requirements ...
@@ -1756,6 +1757,8 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
);
//
double atrBandUpper = EMPTY_VALUE;
double atrBandLower = EMPTY_VALUE;
double atrBandMiddle = EMPTY_VALUE;
//
@@ -1859,8 +1862,8 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
if (result && validateByBarInsideATRBand)
{
//
double atrBandUpper = fimaHelper.GetATRBandUpper(p2Bar.Index());
double atrBandLower = fimaHelper.GetATRBandLower(p2Bar.Index());
atrBandUpper = fimaHelper.GetATRBandUpper(p2Bar.Index());
atrBandLower = fimaHelper.GetATRBandLower(p2Bar.Index());
//
atrBandMiddle = atrBandLower + ((atrBandUpper - atrBandLower) / 2);
@@ -1882,6 +1885,23 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
result = isBullish || isBearish;
}
//
// Force PBar Place Checking based on ATR Band ...
if (result && validateByBarBasedOnATRBand)
{
//
atrBandUpper = fimaHelper.GetATRBandUpper(pBar.Index());
atrBandLower = fimaHelper.GetATRBandLower(pBar.Index());
//
result =
NotEmptyZero(atrBandUpper) &&
NotEmptyZero(atrBandLower) &&
(isBullish
? pBar.close > atrBandLower
: pBar.close < atrBandUpper);
}
//
if (result)
{