This commit is contained in:
2025-04-26 22:28:02 +03:30
parent 94878bdea2
commit a34ca8272a
7 changed files with 1379 additions and 528 deletions
+81
View File
@@ -666,17 +666,98 @@ bool DetectXCAEAConditions(
// Conditions ...
//
// PEAK ...
double zPeak = conditions.peakBuffer[zIDX];
double cPeak = conditions.peakBuffer[cIDX];
double pPeak = conditions.peakBuffer[pIDX];
double p2Peak = conditions.peakBuffer[p2IDX];
//
// VALE ...
double zVale = conditions.valeBuffer[zIDX];
double cVale = conditions.valeBuffer[cIDX];
double pVale = conditions.valeBuffer[pIDX];
double p2Vale = conditions.valeBuffer[p2IDX];
//
// X3MA ...
//
// FAST ...
//
double z3MAFast = conditions.fastBuffer[zIDX];
double c3MAFast = conditions.fastBuffer[cIDX];
double p3MAFast = conditions.fastBuffer[pIDX];
double p23MAFast = conditions.fastBuffer[p2IDX];
//
double z3MAFastState = conditions.fastStateBuffer[zIDX];
double c3MAFastState = conditions.fastStateBuffer[cIDX];
double p3MAFastState = conditions.fastStateBuffer[pIDX];
double p23MAFastState = conditions.fastStateBuffer[p2IDX];
//
// MEDIUM ...
//
double z3MAMedium = conditions.mediumBuffer[zIDX];
double c3MAMedium = conditions.mediumBuffer[cIDX];
double p3MAMedium = conditions.mediumBuffer[pIDX];
double p23MAMedium = conditions.mediumBuffer[p2IDX];
//
double z3MAMediumState = conditions.mediumStateBuffer[zIDX];
double c3MAMediumState = conditions.mediumStateBuffer[cIDX];
double p3MAMediumState = conditions.mediumStateBuffer[pIDX];
double p23MAMediumState = conditions.mediumStateBuffer[p2IDX];
//
// SLOW ...
//
double z3MASlow = conditions.slowBuffer[zIDX];
double c3MASlow = conditions.slowBuffer[cIDX];
double p3MASlow = conditions.slowBuffer[pIDX];
double p23MASlow = conditions.slowBuffer[p2IDX];
//
double z3MASlowState = conditions.slowStateBuffer[zIDX];
double c3MASlowState = conditions.slowStateBuffer[cIDX];
double p3MASlowState = conditions.slowStateBuffer[pIDX];
double p23MASlowState = conditions.slowStateBuffer[p2IDX];
//
double x3maBullishGapUpper = c3MAMedium;
double x3maBullishGapLower = c3MASlow;
//
double x3maBearishGapUpper = c3MASlow;
double x3maBearishGapLower = c3MAMedium;
//
// Create Conditions ...
//
bool isX3MABullishState =
z3MAFast > c3MAFast &&
isCBarValidForBullish &&
c3MAFast > c3MAMedium &&
isCBarBullishRejected &&
c3MAMedium > c3MASlow &&
cBar.low < x3maBullishGapLower &&
cBar.GetDown() > x3maBullishGapLower;
//
bool isX3MABearishState =
z3MAFast < c3MAFast &&
isCBarValidForBearish &&
c3MAFast < c3MAMedium &&
isCBarBearishRejected &&
c3MAMedium < c3MASlow &&
cBar.high > x3maBearishGapLower &&
cBar.GetUp() < x3maBearishGapLower;
//
// Parsing Pivots ...