implement valeSupSWL Pivots ...

This commit is contained in:
2025-04-24 02:26:21 +03:30
parent f648037c07
commit a21799a9aa
9 changed files with 12259 additions and 8702 deletions
+147
View File
@@ -463,6 +463,10 @@ struct X121XCAConditions
bool isKISwitchedToBullish;
bool isKISwitchedToBearish;
//
bool isKIFinishedFromBullish;
bool isKIFinishedFromBearish;
//
// TKI ...
@@ -478,6 +482,10 @@ struct X121XCAConditions
bool isTKISwitchedToBullish;
bool isTKISwitchedToBearish;
//
bool isTKIFinishedFromBullish;
bool isTKIFinishedFromBearish;
//
// VIDYA ...
@@ -493,6 +501,10 @@ struct X121XCAConditions
bool isVidyaSwitchedToBullish;
bool isVidyaSwitchedToBearish;
//
bool isVidyaFinishedFromBullish;
bool isVidyaFinishedFromBearish;
//
// SAR ...
@@ -504,6 +516,10 @@ struct X121XCAConditions
bool isSarSwitchedToBullish;
bool isSarSwitchedToBearish;
//
bool isSarFinishedFromBullish;
bool isSarFinishedFromBearish;
//
// PEAK ...
@@ -535,6 +551,10 @@ struct X121XCAConditions
bool isTrendSwitchedToBullish;
bool isTrendSwitchedToBearish;
//
bool isTrendFinishedFromBullish;
bool isTrendFinishedFromBearish;
//
// SUPPORT ...
@@ -590,6 +610,14 @@ struct X121XCAConditions
bool isPeakIsPivot;
bool isValeIsPivot;
//
bool isPeakSwitchedToPivot;
bool isValeSwitchedToPivot;
//
bool isPeakFinishedFromPivot;
bool isValeFinishedFromPivot;
//
bool isSwingLowSameAsVale;
bool isSwingHighSameAsPeak;
@@ -704,6 +732,10 @@ struct X121XCAConditions
isKISwitchedToBullish = false;
isKISwitchedToBearish = false;
//
isKIFinishedFromBullish = false;
isKIFinishedFromBearish = false;
//
// TKI ...
@@ -719,6 +751,10 @@ struct X121XCAConditions
isTKISwitchedToBullish = false;
isTKISwitchedToBearish = false;
//
isTKIFinishedFromBullish = false;
isTKIFinishedFromBearish = false;
//
// VIDYA ...
@@ -734,6 +770,10 @@ struct X121XCAConditions
isVidyaSwitchedToBullish = false;
isVidyaSwitchedToBearish = false;
//
isVidyaFinishedFromBullish = false;
isVidyaFinishedFromBearish = false;
//
// SAR ...
@@ -745,6 +785,10 @@ struct X121XCAConditions
isSarSwitchedToBullish = false;
isSarSwitchedToBearish = false;
//
isSarFinishedFromBullish = false;
isSarFinishedFromBearish = false;
//
// PEAK ...
@@ -776,6 +820,10 @@ struct X121XCAConditions
isTrendSwitchedToBullish = false;
isTrendSwitchedToBearish = false;
//
isTrendFinishedFromBullish = false;
isTrendFinishedFromBearish = false;
//
// SUPPORT ...
@@ -831,6 +879,14 @@ struct X121XCAConditions
isPeakIsPivot = false;
isValeIsPivot = false;
//
isPeakSwitchedToPivot = false;
isValeSwitchedToPivot = false;
//
isPeakFinishedFromPivot = false;
isValeFinishedFromPivot = false;
//
isSwingLowSameAsVale = false;
isSwingHighSameAsPeak = false;
@@ -1223,23 +1279,31 @@ struct X121XCAConditions
ToString("isKIBullish", isKIBullish, ignoreFalseConditions, separator) +
ToString("isKIBearish", isKIBearish, ignoreFalseConditions, separator) +
ToString("isKISwitchedToBullish", isKISwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isKIFinishedFromBullish", isKIFinishedFromBullish, ignoreFalseConditions, separator) +
ToString("isKISwitchedToBearish", isKISwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isKIFinishedFromBearish", isKIFinishedFromBearish, ignoreFalseConditions, separator) +
ToString("isTKIRejectUp", isTKIRejectUp, ignoreFalseConditions, separator) +
ToString("isTKIRejectDown", isTKIRejectDown, ignoreFalseConditions, separator) +
ToString("isTKIBullish", isTKIBullish, ignoreFalseConditions, separator) +
ToString("isTKIBearish", isTKIBearish, ignoreFalseConditions, separator) +
ToString("isTKISwitchedToBullish", isTKISwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isTKIFinishedFromBullish", isTKIFinishedFromBullish, ignoreFalseConditions, separator) +
ToString("isTKISwitchedToBearish", isTKISwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isTKIFinishedFromBearish", isTKIFinishedFromBearish, ignoreFalseConditions, separator) +
ToString("isVidyaRejectUp", isVidyaRejectUp, ignoreFalseConditions, separator) +
ToString("isVidyaRejectDown", isVidyaRejectDown, ignoreFalseConditions, separator) +
ToString("isVidyaBullish", isVidyaBullish, ignoreFalseConditions, separator) +
ToString("isVidyaBearish", isVidyaBearish, ignoreFalseConditions, separator) +
ToString("isVidyaSwitchedToBullish", isVidyaSwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isVidyaFinishedFromBullish", isVidyaFinishedFromBullish, ignoreFalseConditions, separator) +
ToString("isVidyaSwitchedToBearish", isVidyaSwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isVidyaFinishedFromBearish", isVidyaFinishedFromBearish, ignoreFalseConditions, separator) +
ToString("isSarBullish", isSarBullish, ignoreFalseConditions, separator) +
ToString("isSarBearish", isSarBearish, ignoreFalseConditions, separator) +
ToString("isSarSwitchedToBullish", isSarSwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isSarFinishedFromBullish", isSarFinishedFromBullish, ignoreFalseConditions, separator) +
ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isSarFinishedFromBearish", isSarFinishedFromBearish, ignoreFalseConditions, separator) +
ToString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) +
ToString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) +
ToString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) +
@@ -1251,7 +1315,9 @@ struct X121XCAConditions
ToString("isTrendBullish", isTrendBullish, ignoreFalseConditions, separator) +
ToString("isTrendBearish", isTrendBearish, ignoreFalseConditions, separator) +
ToString("isTrendSwitchedToBullish", isTrendSwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isTrendFinishedFromBullish", isTrendFinishedFromBullish, ignoreFalseConditions, separator) +
ToString("isTrendSwitchedToBearish", isTrendSwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isTrendFinishedFromBearish", isTrendFinishedFromBearish, ignoreFalseConditions, separator) +
ToString("isSupportSameLast", isSupportSameLast, ignoreFalseConditions, separator) +
ToString("isSupportOverLast", isSupportOverLast, ignoreFalseConditions, separator) +
ToString("isSupportUnderLast", isSupportUnderLast, ignoreFalseConditions, separator) +
@@ -1274,6 +1340,10 @@ struct X121XCAConditions
ToString("isLastSwingHighRejected", isLastSwingHighRejected, ignoreFalseConditions, separator) +
ToString("isPeakIsPivot", isPeakIsPivot, ignoreFalseConditions, separator) +
ToString("isValeIsPivot", isValeIsPivot, ignoreFalseConditions, separator) +
ToString("isPeakSwitchedToPivot", isPeakSwitchedToPivot, ignoreFalseConditions, separator) +
ToString("isPeakFinishedFromPivot", isPeakFinishedFromPivot, ignoreFalseConditions, separator) +
ToString("isValeSwitchedToPivot", isValeSwitchedToPivot, ignoreFalseConditions, separator) +
ToString("isValeFinishedFromPivot", isValeFinishedFromPivot, ignoreFalseConditions, separator) +
ToString("isSwingLowSameAsVale", isSwingLowSameAsVale, ignoreFalseConditions, separator) +
ToString("isSwingHighSameAsPeak", isSwingHighSameAsPeak, ignoreFalseConditions, separator) +
ToString("isSupportSameAsVale", isSupportSameAsVale, ignoreFalseConditions, separator) +
@@ -3322,8 +3392,14 @@ class XCX121XCAHelper : public XCBaseHelper
//
bool isKISwitchedToBullish = isKIBullish &&
!isKIBullishPrev;
bool isKIFinishedFromBullish = !isKIBullish &&
isKIBullishPrev;
//
bool isKISwitchedToBearish = isKIBearish &&
!isKIBearishPrev;
bool isKIFinishedFromBearish = !isKIBearish &&
isKIBearishPrev;
//
// TKI ...
@@ -3363,8 +3439,14 @@ class XCX121XCAHelper : public XCBaseHelper
//
bool isTKISwitchedToBullish = isTKIBullish &&
!isTKIBullishPrev;
bool isTKIFinishedFromBullish = !isTKIBullish &&
isTKIBullishPrev;
//
bool isTKISwitchedToBearish = isTKIBearish &&
!isTKIBearishPrev;
bool isTKIFinishedFromBearish = !isTKIBearish &&
isTKIBearishPrev;
//
// VIDYA ...
@@ -3404,8 +3486,14 @@ class XCX121XCAHelper : public XCBaseHelper
//
bool isVidyaSwitchedToBullish = isVidyaBullish &&
!isVidyaBullishPrev;
bool isVidyaFinishedFromBullish = !isVidyaBullish &&
isVidyaBullishPrev;
//
bool isVidyaSwitchedToBearish = isVidyaBearish &&
!isVidyaBearishPrev;
bool isVidyaFinishedFromBearish = !isVidyaBearish &&
isVidyaBearishPrev;
//
// SAR ...
@@ -3425,8 +3513,14 @@ class XCX121XCAHelper : public XCBaseHelper
//
bool isSarSwitchedToBullish = isSarBullish &&
!isSarBullishPrev;
bool isSarFinishedFromBullish = !isSarBullish &&
isSarBullishPrev;
//
bool isSarSwitchedToBearish = isSarBearish &&
!isSarBearishPrev;
bool isSarFinishedFromBearish = !isSarBearish &&
isSarBearishPrev;
//
// PEAK ...
@@ -3488,8 +3582,14 @@ class XCX121XCAHelper : public XCBaseHelper
//
bool isTrendSwitchedToBullish = isTrendBullish &&
!isTrendBullishPrev;
bool isTrendFinishedFromBullish = !isTrendBullish &&
isTrendBullishPrev;
//
bool isTrendSwitchedToBearish = isTrendBearish &&
!isTrendBearishPrev;
bool isTrendFinishedFromBearish = !isTrendBearish &&
isTrendBearishPrev;
//
// SUPPORT ...
@@ -3592,25 +3692,58 @@ class XCX121XCAHelper : public XCBaseHelper
//
bool isSwingLowSameAsVale = cSwingLow == cVale;
bool isSwingLowSameAsValePrev = pSwingLow == pVale;
//
bool isSwingHighSameAsPeak = cSwingHigh == cPeak;
bool isSwingHighSameAsPeakPrev = pSwingHigh == pPeak;
//
bool isSupportSameAsVale = cSupport == cVale;
bool isSupportSameAsValePrev = pSupport == pVale;
//
bool isResistanceSameAsPeak = cResistance == cPeak;
bool isResistanceSameAsPeakPrev = pResistance == pPeak;
//
bool isSupportSameAsSwingLow = cSupport == cSwingLow;
bool isSupportSameAsSwingLowPrev = pSupport == pSwingLow;
//
bool isResistanceSameAsSwingHigh = cResistance == cSwingHigh;
bool isResistanceSameAsSwingHighPrev = pResistance == pSwingHigh;
//
bool isPeakIsPivot = isSwingHighSameAsPeak &&
isResistanceSameAsPeak &&
isResistanceSameAsSwingHigh;
bool isPeakIsPivotPrev = isSwingHighSameAsPeakPrev &&
isResistanceSameAsPeakPrev &&
isResistanceSameAsSwingHighPrev;
//
bool isPeakSwitchedToPivot = isPeakIsPivot &&
!isPeakIsPivotPrev;
//
bool isPeakFinishedFromPivot = !isPeakIsPivot &&
isPeakIsPivotPrev;
//
bool isValeIsPivot = isSwingLowSameAsVale &&
isSupportSameAsVale &&
isSupportSameAsSwingLow;
bool isValeIsPivotPrev = isSwingLowSameAsValePrev &&
isSupportSameAsValePrev &&
isSupportSameAsSwingLowPrev;
//
bool isValeSwitchedToPivot = isValeIsPivot &&
!isValeIsPivotPrev;
bool isValeFinishedFromPivot = !isValeIsPivot &&
isValeIsPivotPrev;
//
// Attached ...
//
@@ -3658,6 +3791,8 @@ class XCX121XCAHelper : public XCBaseHelper
conditions.isKISwitchedToBearish = isKISwitchedToBearish;
conditions.isLastSwingLowBreaked = isLastSwingLowBreaked;
conditions.isSwingHighSameAsPeak = isSwingHighSameAsPeak;
conditions.isPeakSwitchedToPivot = isPeakSwitchedToPivot;
conditions.isValeSwitchedToPivot = isValeSwitchedToPivot;
conditions.isTKISwitchedToBullish = isTKISwitchedToBullish;
conditions.isTKISwitchedToBearish = isTKISwitchedToBearish;
conditions.isLastSwingLowRejected = isLastSwingLowRejected;
@@ -3665,14 +3800,26 @@ class XCX121XCAHelper : public XCBaseHelper
conditions.isSarSwitchedToBearish = isSarSwitchedToBearish;
conditions.isLastSwingHighBreaked = isLastSwingHighBreaked;
conditions.isResistanceSameAsPeak = isResistanceSameAsPeak;
conditions.isPeakFinishedFromPivot = isPeakFinishedFromPivot;
conditions.isValeFinishedFromPivot = isValeFinishedFromPivot;
conditions.isLastSwingHighRejected = isLastSwingHighRejected;
conditions.isLastResistanceBreaked = isLastResistanceBreaked;
conditions.isSupportSameAsSwingLow = isSupportSameAsSwingLow;
conditions.isKIFinishedFromBullish = isKIFinishedFromBullish;
conditions.isKIFinishedFromBearish = isKIFinishedFromBearish;
conditions.isTKIFinishedFromBullish = isTKIFinishedFromBullish;
conditions.isTKIFinishedFromBearish = isTKIFinishedFromBearish;
conditions.isSarFinishedFromBullish = isSarFinishedFromBullish;
conditions.isSarFinishedFromBearish = isSarFinishedFromBearish;
conditions.isVidyaSwitchedToBullish = isVidyaSwitchedToBullish;
conditions.isVidyaSwitchedToBearish = isVidyaSwitchedToBearish;
conditions.isLastResistanceRejected = isLastResistanceRejected;
conditions.isTrendSwitchedToBullish = isTrendSwitchedToBullish;
conditions.isTrendSwitchedToBearish = isTrendSwitchedToBearish;
conditions.isVidyaFinishedFromBullish = isVidyaFinishedFromBullish;
conditions.isVidyaFinishedFromBearish = isVidyaFinishedFromBearish;
conditions.isTrendFinishedFromBullish = isTrendFinishedFromBullish;
conditions.isTrendFinishedFromBearish = isTrendFinishedFromBearish;
conditions.isResistanceSameAsSwingHigh = isResistanceSameAsSwingHigh;
//