This commit is contained in:
2024-11-23 23:44:19 +03:30
parent a5e1f601d3
commit 0e2e474d46
3 changed files with 420 additions and 31 deletions
+109 -5
View File
@@ -573,7 +573,7 @@ class XCBarAnalyser : public XCBase
/**
* Check Specified Bar Has Bullish Pattern or not ...
*
*
* @param bar: XOHCL instance, Specified Bar ...
* @param loopback: Integer, Loopback Length for Patterns ...
* @param verifications: Integer, Number of Given Verifications ...
@@ -581,7 +581,7 @@ class XCBarAnalyser : public XCBase
* @param checkMorningStar: Boolean, Specified Check Morning Star Pattern ...
* @param checkBullishMarubozu: Boolean, Specified Check Marubozu Pattern ...
* @param checkBullishEngulfing: Boolean, Specified Check Engulfing Pattern ...
*
*
* @return ( bool )
*/
bool HasBullishPattern(
@@ -683,7 +683,7 @@ class XCBarAnalyser : public XCBase
/**
* Check Specified Bar Has Bearish Pattern or not ...
*
*
* @param bar: XOHCL instance, Specified Bar ...
* @param loopback: Integer, Loopback Length for Patterns ...
* @param verifications: Integer, Number of Given Verifications ...
@@ -691,7 +691,7 @@ class XCBarAnalyser : public XCBase
* @param checkEveningStar: Boolean, Specified Check Evening Star Pattern ...
* @param checkBearishMarubozu: Boolean, Specified Check Marubozu Pattern ...
* @param checkBearishEngulfing: Boolean, Specified Check Engulfing Pattern ...
*
*
* @return ( bool )
*/
bool HasBearishPattern(
@@ -1220,7 +1220,7 @@ class XCBarAnalyser : public XCBase
* @param bar: XOHCL instance ...
* @param dir: ENUM_X_DIRECTION member ...
* @param extend: Integer ...
* @param bodyPercent: Double ...
* @param shadowPercent: Double ...
*
* @return ( bool )
*/
@@ -1298,6 +1298,110 @@ class XCBarAnalyser : public XCBase
return result;
}
/**
* Check Specified Bar is Engulfing Bar or not ...
*
* @param bar: XOHCL instance ...
* @param dir: ENUM_X_DIRECTION member ...
* @param extend: Integer ...
* @param bodyPercent: Double ...
*
* @return ( bool )
*/
bool IsEngulfBar(
XOHCL &bar,
ENUM_X_DIRECTION &dir,
int extend = 1,
double bodyPercent = 60 //
)
{
//
bool result = false;
//
if (extend < 0)
{
extend = 0;
}
//
if (bodyPercent < 50)
{
bodyPercent = 50;
}
//
dir = X_DIRECTION_NONE;
//
result = bar.IsValid() &&
bar.Index() > 0;
if (!result)
{
return result;
}
//
// Previous Bar ...
XOHCL pBar;
result = bar.GetPreviousBar(pBar);
if (!result)
{
return result;
}
//
if (extend > 0)
{
//
result = IsExtended(
pBar,
extend //
);
//
if (!result)
{
return result;
}
}
//
// Check Engulfig ...
result =
bar.GetUp() > pBar.GetUp() &&
bar.GetDown() < pBar.GetDown();
if (!result)
{
return result;
}
//
// Check Engulfing Direction ...
bool isBullishEngulfed =
pBar.IsBearish() &&
bar.IsBullish();
bool isBearishEngulfed =
pBar.IsBullish() &&
bar.IsBearish();
//
result = isBullishEngulfed ||
isBearishEngulfed;
if (!result)
{
return result;
}
//
dir = isBullishEngulfed
? X_DIRECTION_BULLISH
: X_DIRECTION_BEARISH;
//
return result;
}
//
// Support and Resistance Zones ...