complete signaller trigger cond 1 and 2 and apply sorting for Tagets and etc ...

This commit is contained in:
2025-05-14 04:15:20 +03:30
parent ca28c56256
commit 4ed75abc2b
8 changed files with 670 additions and 86 deletions
+102 -1
View File
@@ -185,6 +185,10 @@ struct XCAEAConditions
double volumeBullish;
double volumeBearish;
double priceChangeRate;
bool bullishEngulfedBars[];
bool bearishEngulfedBars[];
bool bullishRejectedBars[];
bool bearishRejectedBars[];
//
// X3MA ...
@@ -835,10 +839,18 @@ struct XCAEAConditions
volumeBearish = 0;
Clean(velocities);
priceChangeRate = 0;
Clean(bullishEngulfedBars);
Clean(bearishEngulfedBars);
Clean(bullishRejectedBars);
Clean(bearishRejectedBars);
ArraySetAsSeries(bars, true);
ArraySetAsSeries(bodies, true);
ArraySetAsSeries(ranges, true);
ArraySetAsSeries(velocities, true);
ArraySetAsSeries(bullishEngulfedBars, true);
ArraySetAsSeries(bearishEngulfedBars, true);
ArraySetAsSeries(bullishRejectedBars, true);
ArraySetAsSeries(bearishRejectedBars, true);
//
// X3MA ...
@@ -3357,6 +3369,95 @@ class XCXCAEAHelper : XCBase
return result;
}
//
// Reading Bars Conditions ...
XOHCL iBar;
ENUM_X_DIRECTION iDir = X_DIRECTION_NONE;
for (int i = 0; i < ArraySize(conditions.bars); i++)
{
//
iBar = conditions.bars[i];
//
// Reading Bars Patterns ...
//
// Rejection ...
bool isRejected =
barAnalyser
.IsRejected(
iBar,
iDir,
false,
true //
);
bool isBullishRejected =
isRejected &&
IsBullish(iDir);
bool isBearishRejected =
isRejected &&
IsBearish(iDir);
//
Add(
isBullishRejected,
conditions.bullishRejectedBars //
);
//
Add(
isBearishRejected,
conditions.bearishRejectedBars //
);
//
// Engulfing ...
bool isEngulfed =
barAnalyser
.IsEngulfed(
iBar,
iDir //
);
bool isBullishEngulfed =
isEngulfed &&
IsBullish(iDir);
bool isBearishEngulfed =
isEngulfed &&
IsBearish(iDir);
//
Add(
isBullishEngulfed,
conditions.bullishEngulfedBars //
);
//
Add(
isBearishEngulfed,
conditions.bearishEngulfedBars //
);
//
// Momentum ...
bool isMomentum =
barAnalyser
.IsMomentum(
iBar,
iDir,
1 //
);
bool isBullishMomentum =
isMomentum &&
IsBullish(iDir);
bool isBearishMomentum =
isMomentum &&
IsBearish(iDir);
//
iBar.Clean();
}
iBar.Clean();
//
int zIndex = barIndex;
int cIndex = zIndex + 1;
@@ -3391,7 +3492,7 @@ class XCXCAEAHelper : XCBase
fromBar.Init(
zBar.symbol,
zBar.period,
zIndex + loopback);
zIndex + loopback - 1);
//
// Conditions Retriever ...