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 validateBarInsideZone = true;
bool validateByBarPatterns = true; bool validateByBarPatterns = true;
bool validateByBarInsideATRBand = true; bool validateByBarInsideATRBand = true;
bool validateByBarBasedOnATRBand = true;
// //
// Define Requirements ... // Define Requirements ...
@@ -1756,6 +1757,8 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
); );
// //
double atrBandUpper = EMPTY_VALUE;
double atrBandLower = EMPTY_VALUE;
double atrBandMiddle = EMPTY_VALUE; double atrBandMiddle = EMPTY_VALUE;
// //
@@ -1859,8 +1862,8 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
if (result && validateByBarInsideATRBand) if (result && validateByBarInsideATRBand)
{ {
// //
double atrBandUpper = fimaHelper.GetATRBandUpper(p2Bar.Index()); atrBandUpper = fimaHelper.GetATRBandUpper(p2Bar.Index());
double atrBandLower = fimaHelper.GetATRBandLower(p2Bar.Index()); atrBandLower = fimaHelper.GetATRBandLower(p2Bar.Index());
// //
atrBandMiddle = atrBandLower + ((atrBandUpper - atrBandLower) / 2); atrBandMiddle = atrBandLower + ((atrBandUpper - atrBandLower) / 2);
@@ -1882,6 +1885,23 @@ class XCXFIMAStrategy1Signaller : public XCXFIMABaseSignaller
result = isBullish || isBearish; 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) if (result)
{ {