This commit is contained in:
2025-01-13 12:31:09 +03:30
parent 218dda0a72
commit 56cd60e31d
6 changed files with 361 additions and 625 deletions
+48 -48
View File
@@ -305,22 +305,22 @@ struct X121Conditions
bool isStrSwitchedToBearish;
//
bool isCHE1Bullish;
bool isCHE1Bearish;
bool isCHE1SwitchedToBullish;
bool isCHE1SwitchedToBearish;
bool isChe1Bullish;
bool isChe1Bearish;
bool isChe1SwitchedToBullish;
bool isChe1SwitchedToBearish;
//
bool isCHE2Bullish;
bool isCHE2Bearish;
bool isCHE2SwitchedToBullish;
bool isCHE2SwitchedToBearish;
bool isChe2Bullish;
bool isChe2Bearish;
bool isChe2SwitchedToBullish;
bool isChe2SwitchedToBearish;
//
bool isCHEBullish;
bool isCHEBearish;
bool isCHESwitchedToBullish;
bool isCHESwitchedToBearish;
bool isCheBullish;
bool isCheBearish;
bool isCheSwitchedToBullish;
bool isCheSwitchedToBearish;
//
bool isVWapMidBullish;
@@ -792,28 +792,28 @@ struct X121Conditions
// CHE ...
//
isCHE1Bullish = false;
isCHE1Bearish = false;
isChe1Bullish = false;
isChe1Bearish = false;
//
isCHE1SwitchedToBullish = false;
isCHE1SwitchedToBearish = false;
isChe1SwitchedToBullish = false;
isChe1SwitchedToBearish = false;
//
isCHE2Bullish = false;
isCHE2Bearish = false;
isChe2Bullish = false;
isChe2Bearish = false;
//
isCHE2SwitchedToBullish = false;
isCHE2SwitchedToBearish = false;
isChe2SwitchedToBullish = false;
isChe2SwitchedToBearish = false;
//
isCHEBullish = false;
isCHEBearish = false;
isCheBullish = false;
isCheBearish = false;
//
isCHESwitchedToBullish = false;
isCHESwitchedToBearish = false;
isCheSwitchedToBullish = false;
isCheSwitchedToBearish = false;
//
// Complex Conditions ...
@@ -1118,18 +1118,18 @@ struct X121Conditions
"-----------------------" + separator +
"CHE ..." + separator +
"-----------------------" + separator +
ToString("isCHE1Bullish", isCHE1Bullish, ignoreFalseConditions, separator) +
ToString("isCHE1Bearish", isCHE1Bearish, ignoreFalseConditions, separator) +
ToString("isCHE1SwitchedToBullish", isCHE1SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCHE1SwitchedToBearish", isCHE1SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isCHE2Bullish", isCHE2Bullish, ignoreFalseConditions, separator) +
ToString("isCHE2Bearish", isCHE2Bearish, ignoreFalseConditions, separator) +
ToString("isCHE2SwitchedToBullish", isCHE2SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCHE2SwitchedToBearish", isCHE2SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isCHEBullish", isCHEBullish, ignoreFalseConditions, separator) +
ToString("isCHEBearish", isCHEBearish, ignoreFalseConditions, separator) +
ToString("isCHESwitchedToBullish", isCHESwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCHESwitchedToBearish", isCHESwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isChe1Bullish", isChe1Bullish, ignoreFalseConditions, separator) +
ToString("isChe1Bearish", isChe1Bearish, ignoreFalseConditions, separator) +
ToString("isChe1SwitchedToBullish", isChe1SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isChe1SwitchedToBearish", isChe1SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isChe2Bullish", isChe2Bullish, ignoreFalseConditions, separator) +
ToString("isChe2Bearish", isChe2Bearish, ignoreFalseConditions, separator) +
ToString("isChe2SwitchedToBullish", isChe2SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isChe2SwitchedToBearish", isChe2SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isCheBullish", isCheBullish, ignoreFalseConditions, separator) +
ToString("isCheBearish", isCheBearish, ignoreFalseConditions, separator) +
ToString("isCheSwitchedToBullish", isCheSwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCheSwitchedToBearish", isCheSwitchedToBearish, ignoreFalseConditions, separator) +
//
"-----------------------" + separator +
"Slopes ..." + separator +
@@ -2010,18 +2010,18 @@ class XCX121Helper : public XCBase
//
// Conditions ...
conditions.isCHEBullish = xcheConditions.isCHEBullish;
conditions.isCHEBearish = xcheConditions.isCHEBearish;
conditions.isCHE1Bullish = xcheConditions.isCHE1Bullish;
conditions.isCHE1Bearish = xcheConditions.isCHE1Bearish;
conditions.isCHE2Bullish = xcheConditions.isCHE2Bullish;
conditions.isCHE2Bearish = xcheConditions.isCHE2Bearish;
conditions.isCHESwitchedToBullish = xcheConditions.isCHESwitchedToBullish;
conditions.isCHESwitchedToBearish = xcheConditions.isCHESwitchedToBearish;
conditions.isCHE1SwitchedToBullish = xcheConditions.isCHE1SwitchedToBullish;
conditions.isCHE1SwitchedToBearish = xcheConditions.isCHE1SwitchedToBearish;
conditions.isCHE2SwitchedToBullish = xcheConditions.isCHE2SwitchedToBullish;
conditions.isCHE2SwitchedToBearish = xcheConditions.isCHE2SwitchedToBearish;
conditions.isCheBullish = xcheConditions.isCheBullish;
conditions.isCheBearish = xcheConditions.isCheBearish;
conditions.isChe1Bullish = xcheConditions.isChe1Bullish;
conditions.isChe1Bearish = xcheConditions.isChe1Bearish;
conditions.isChe2Bullish = xcheConditions.isChe2Bullish;
conditions.isChe2Bearish = xcheConditions.isChe2Bearish;
conditions.isCheSwitchedToBullish = xcheConditions.isCheSwitchedToBullish;
conditions.isCheSwitchedToBearish = xcheConditions.isCheSwitchedToBearish;
conditions.isChe1SwitchedToBullish = xcheConditions.isChe1SwitchedToBullish;
conditions.isChe1SwitchedToBearish = xcheConditions.isChe1SwitchedToBearish;
conditions.isChe2SwitchedToBullish = xcheConditions.isChe2SwitchedToBullish;
conditions.isChe2SwitchedToBearish = xcheConditions.isChe2SwitchedToBearish;
//
// XDON ...
+76 -76
View File
@@ -176,28 +176,28 @@ struct X121XCHEConditions
// Conditions ...
//
bool isCHE1Bullish;
bool isCHE1Bearish;
bool isChe1Bullish;
bool isChe1Bearish;
//
bool isCHE1SwitchedToBullish;
bool isCHE1SwitchedToBearish;
bool isChe1SwitchedToBullish;
bool isChe1SwitchedToBearish;
//
bool isCHE2Bullish;
bool isCHE2Bearish;
bool isChe2Bullish;
bool isChe2Bearish;
//
bool isCHE2SwitchedToBullish;
bool isCHE2SwitchedToBearish;
bool isChe2SwitchedToBullish;
bool isChe2SwitchedToBearish;
//
bool isCHEBullish;
bool isCHEBearish;
bool isCheBullish;
bool isCheBearish;
//
bool isCHESwitchedToBullish;
bool isCHESwitchedToBearish;
bool isCheSwitchedToBullish;
bool isCheSwitchedToBearish;
//
// bool isCloseLower
@@ -250,28 +250,28 @@ struct X121XCHEConditions
// Conditions ...
//
isCHE1Bullish = false;
isCHE1Bearish = false;
isChe1Bullish = false;
isChe1Bearish = false;
//
isCHE1SwitchedToBullish = false;
isCHE1SwitchedToBearish = false;
isChe1SwitchedToBullish = false;
isChe1SwitchedToBearish = false;
//
isCHE2Bullish = false;
isCHE2Bearish = false;
isChe2Bullish = false;
isChe2Bearish = false;
//
isCHE2SwitchedToBullish = false;
isCHE2SwitchedToBearish = false;
isChe2SwitchedToBullish = false;
isChe2SwitchedToBearish = false;
//
isCHEBullish = false;
isCHEBearish = false;
isCheBullish = false;
isCheBearish = false;
//
isCHESwitchedToBullish = false;
isCHESwitchedToBearish = false;
isCheSwitchedToBullish = false;
isCheSwitchedToBearish = false;
//
// XDON ...
@@ -347,18 +347,18 @@ struct X121XCHEConditions
//
string conditionsStr =
//
ToString("isCHE1Bullish", isCHE1Bullish, ignoreFalseConditions, separator) +
ToString("isCHE1Bearish", isCHE1Bearish, ignoreFalseConditions, separator) +
ToString("isCHE1SwitchedToBullish", isCHE1SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCHE1SwitchedToBearish", isCHE1SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isCHE2Bullish", isCHE2Bullish, ignoreFalseConditions, separator) +
ToString("isCHE2Bearish", isCHE2Bearish, ignoreFalseConditions, separator) +
ToString("isCHE2SwitchedToBullish", isCHE2SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCHE2SwitchedToBearish", isCHE2SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isCHEBullish", isCHEBullish, ignoreFalseConditions, separator) +
ToString("isCHEBearish", isCHEBearish, ignoreFalseConditions, separator) +
ToString("isCHESwitchedToBullish", isCHESwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCHESwitchedToBearish", isCHESwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isChe1Bullish", isChe1Bullish, ignoreFalseConditions, separator) +
ToString("isChe1Bearish", isChe1Bearish, ignoreFalseConditions, separator) +
ToString("isChe1SwitchedToBullish", isChe1SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isChe1SwitchedToBearish", isChe1SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isChe2Bullish", isChe2Bullish, ignoreFalseConditions, separator) +
ToString("isChe2Bearish", isChe2Bearish, ignoreFalseConditions, separator) +
ToString("isChe2SwitchedToBullish", isChe2SwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isChe2SwitchedToBearish", isChe2SwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isCheBullish", isCheBullish, ignoreFalseConditions, separator) +
ToString("isCheBearish", isCheBearish, ignoreFalseConditions, separator) +
ToString("isCheSwitchedToBullish", isCheSwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isCheSwitchedToBearish", isCheSwitchedToBearish, ignoreFalseConditions, separator) +
//
""
//
@@ -1044,72 +1044,72 @@ class XCX121XCHEHelper : public XCBaseHelper
int pIDX = cIDX + 1;
//
bool isCHE1Bullish = le1Buffer[cIDX] != EMPTY_VALUE &&
bool isChe1Bullish = le1Buffer[cIDX] != EMPTY_VALUE &&
se1Buffer[cIDX] == EMPTY_VALUE;
bool isCHE1BullishPrev = le1Buffer[cIDX] != EMPTY_VALUE &&
bool isChe1BullishPrev = le1Buffer[cIDX] != EMPTY_VALUE &&
se1Buffer[pIDX] == EMPTY_VALUE;
//
bool isCHE1Bearish = se1Buffer[cIDX] != EMPTY_VALUE &&
bool isChe1Bearish = se1Buffer[cIDX] != EMPTY_VALUE &&
le1Buffer[cIDX] == EMPTY_VALUE;
bool isCHE1BearishPrev = se1Buffer[pIDX] != EMPTY_VALUE &&
bool isChe1BearishPrev = se1Buffer[pIDX] != EMPTY_VALUE &&
le1Buffer[pIDX] == EMPTY_VALUE;
//
bool isCHE1SwitchedToBullish = isCHE1Bullish &&
!isCHE1BullishPrev;
bool isCHE1SwitchedToBearish = isCHE1Bearish &&
!isCHE1BearishPrev;
bool isChe1SwitchedToBullish = isChe1Bullish &&
!isChe1BullishPrev;
bool isChe1SwitchedToBearish = isChe1Bearish &&
!isChe1BearishPrev;
//
bool isCHE2Bullish = le2Buffer[cIDX] != EMPTY_VALUE &&
bool isChe2Bullish = le2Buffer[cIDX] != EMPTY_VALUE &&
se2Buffer[cIDX] == EMPTY_VALUE;
bool isCHE2BullishPrev = le2Buffer[pIDX] != EMPTY_VALUE &&
bool isChe2BullishPrev = le2Buffer[pIDX] != EMPTY_VALUE &&
se2Buffer[pIDX] == EMPTY_VALUE;
//
bool isCHE2Bearish = se2Buffer[cIDX] != EMPTY_VALUE &&
bool isChe2Bearish = se2Buffer[cIDX] != EMPTY_VALUE &&
le2Buffer[cIDX] == EMPTY_VALUE;
bool isCHE2BearishPrev = se2Buffer[pIDX] != EMPTY_VALUE &&
bool isChe2BearishPrev = se2Buffer[pIDX] != EMPTY_VALUE &&
le2Buffer[pIDX] == EMPTY_VALUE;
//
bool isCHE2SwitchedToBullish = isCHE2Bullish &&
!isCHE2BullishPrev;
bool isCHE2SwitchedToBearish = isCHE2Bearish &&
!isCHE2BearishPrev;
bool isChe2SwitchedToBullish = isChe2Bullish &&
!isChe2BullishPrev;
bool isChe2SwitchedToBearish = isChe2Bearish &&
!isChe2BearishPrev;
//
bool isCHEBullish = isCHE1Bullish &&
isCHE2Bullish;
bool isCHEBullishPrev = isCHE1BullishPrev &&
isCHE2BullishPrev;
bool isCheBullish = isChe1Bullish &&
isChe2Bullish;
bool isCheBullishPrev = isChe1BullishPrev &&
isChe2BullishPrev;
//
bool isCHEBearish = isCHE1Bearish &&
isCHE2Bearish;
bool isCHEBearishPrev = isCHE1BearishPrev &&
isCHE2BearishPrev;
bool isCheBearish = isChe1Bearish &&
isChe2Bearish;
bool isCheBearishPrev = isChe1BearishPrev &&
isChe2BearishPrev;
//
bool isCHESwitchedToBullish = isCHEBullish &&
!isCHEBullishPrev;
bool isCHESwitchedToBearish = isCHEBearish &&
!isCHEBearishPrev;
bool isCheSwitchedToBullish = isCheBullish &&
!isCheBullishPrev;
bool isCheSwitchedToBearish = isCheBearish &&
!isCheBearishPrev;
//
conditions.isCHE1Bullish = isCHE1Bullish;
conditions.isCHE1Bearish = isCHE1Bearish;
conditions.isCHE1SwitchedToBullish = isCHE1SwitchedToBullish;
conditions.isCHE1SwitchedToBearish = isCHE1SwitchedToBearish;
conditions.isCHE2Bullish = isCHE2Bullish;
conditions.isCHE2Bearish = isCHE2Bearish;
conditions.isCHE2SwitchedToBullish = isCHE2SwitchedToBullish;
conditions.isCHE2SwitchedToBearish = isCHE2SwitchedToBearish;
conditions.isCHEBullish = isCHEBullish;
conditions.isCHEBearish = isCHEBearish;
conditions.isCHESwitchedToBullish = isCHESwitchedToBullish;
conditions.isCHESwitchedToBearish = isCHESwitchedToBearish;
conditions.isChe1Bullish = isChe1Bullish;
conditions.isChe1Bearish = isChe1Bearish;
conditions.isChe1SwitchedToBullish = isChe1SwitchedToBullish;
conditions.isChe1SwitchedToBearish = isChe1SwitchedToBearish;
conditions.isChe2Bullish = isChe2Bullish;
conditions.isChe2Bearish = isChe2Bearish;
conditions.isChe2SwitchedToBullish = isChe2SwitchedToBullish;
conditions.isChe2SwitchedToBearish = isChe2SwitchedToBearish;
conditions.isCheBullish = isCheBullish;
conditions.isCheBearish = isCheBearish;
conditions.isCheSwitchedToBullish = isCheSwitchedToBullish;
conditions.isCheSwitchedToBearish = isCheSwitchedToBearish;
//
return result;