add supports for VIDYA in xca and also it's helper and in xcaea ...

This commit is contained in:
2025-04-23 08:16:08 +03:30
parent f48d272bba
commit f648037c07
3 changed files with 540 additions and 17 deletions
+89
View File
@@ -187,6 +187,7 @@ struct XCAEAConditions
double sarBuffer[];
double peakBuffer[];
double valeBuffer[];
double vidyaBuffer[];
double trendBuffer[];
double kiStateBuffer[];
double supportBuffer[];
@@ -199,6 +200,7 @@ struct XCAEAConditions
double fiboLevel1Buffer[];
double fiboLevel2Buffer[];
double fiboLevel3Buffer[];
double vidyaStateBuffer[];
double trendStateBuffer[];
//
@@ -234,6 +236,21 @@ struct XCAEAConditions
bool isTKISwitchedToBullish;
bool isTKISwitchedToBearish;
//
// VIDYA ...
//
bool isVidyaRejectUp;
bool isVidyaRejectDown;
//
bool isVidyaBullish;
bool isVidyaBearish;
//
bool isVidyaSwitchedToBullish;
bool isVidyaSwitchedToBearish;
//
// SAR ...
@@ -649,6 +666,7 @@ struct XCAEAConditions
Clean(sarBuffer);
Clean(peakBuffer);
Clean(valeBuffer);
Clean(vidyaBuffer);
Clean(trendBuffer);
Clean(kiStateBuffer);
Clean(supportBuffer);
@@ -661,6 +679,7 @@ struct XCAEAConditions
Clean(fiboLevel1Buffer);
Clean(fiboLevel2Buffer);
Clean(fiboLevel3Buffer);
Clean(vidyaStateBuffer);
Clean(trendStateBuffer);
//
@@ -677,6 +696,7 @@ struct XCAEAConditions
ArraySetAsSeries(sarBuffer, true);
ArraySetAsSeries(peakBuffer, true);
ArraySetAsSeries(valeBuffer, true);
ArraySetAsSeries(vidyaBuffer, true);
ArraySetAsSeries(trendBuffer, true);
ArraySetAsSeries(kiStateBuffer, true);
ArraySetAsSeries(supportBuffer, true);
@@ -689,6 +709,7 @@ struct XCAEAConditions
ArraySetAsSeries(fiboLevel1Buffer, true);
ArraySetAsSeries(fiboLevel2Buffer, true);
ArraySetAsSeries(fiboLevel3Buffer, true);
ArraySetAsSeries(vidyaStateBuffer, true);
ArraySetAsSeries(trendStateBuffer, true);
//
@@ -724,6 +745,21 @@ struct XCAEAConditions
isTKISwitchedToBullish = false;
isTKISwitchedToBearish = false;
//
// VIDYA ...
//
isVidyaRejectUp = false;
isVidyaRejectDown = false;
//
isVidyaBullish = false;
isVidyaBearish = false;
//
isVidyaSwitchedToBullish = false;
isVidyaSwitchedToBearish = false;
//
// SAR ...
@@ -1132,6 +1168,37 @@ struct XCAEAConditions
bearishScore += minScore;
}
//
// VIDYA ...
//
if (isVidyaBullish)
{
bullishScore += minScore;
}
if (isVidyaRejectUp)
{
bullishScore += minScore;
}
if (isVidyaSwitchedToBullish)
{
bullishScore += minScore;
}
//
if (isVidyaBearish)
{
bearishScore += minScore;
}
if (isVidyaRejectDown)
{
bearishScore += minScore;
}
if (isVidyaSwitchedToBearish)
{
bearishScore += minScore;
}
//
// SAR ...
@@ -1825,6 +1892,12 @@ struct XCAEAConditions
ToString("isTKIBearish", isTKIBearish, ignoreFalseConditions, separator) +
ToString("isTKISwitchedToBullish", isTKISwitchedToBullish, ignoreFalseConditions, separator) +
ToString("isTKISwitchedToBearish", isTKISwitchedToBearish, 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("isVidyaSwitchedToBearish", isVidyaSwitchedToBearish, ignoreFalseConditions, separator) +
ToString("isSarBullish", isSarBullish, ignoreFalseConditions, separator) +
ToString("isSarBearish", isSarBearish, ignoreFalseConditions, separator) +
ToString("isSarSwitchedToBullish", isSarSwitchedToBullish, ignoreFalseConditions, separator) +
@@ -2622,6 +2695,12 @@ class XCXCAEAHelper : XCBase
conditions.tkiBuffer //
);
//
Copy(
xcaConditions.vidyaBuffer,
conditions.vidyaBuffer //
);
//
Copy(
xcaConditions.sHHBuffer,
@@ -2706,6 +2785,12 @@ class XCXCAEAHelper : XCBase
conditions.tkiStateBuffer //
);
//
Copy(
xcaConditions.vidyaStateBuffer,
conditions.vidyaStateBuffer //
);
//
Copy(
xcaConditions.supportBuffer,
@@ -2780,6 +2865,8 @@ class XCXCAEAHelper : XCBase
conditions.isTKIRejectUp = xcaConditions.isTKIRejectUp;
conditions.isPeakIsPivot = xcaConditions.isPeakIsPivot;
conditions.isValeIsPivot = xcaConditions.isValeIsPivot;
conditions.isVidyaBullish = xcaConditions.isVidyaBullish;
conditions.isVidyaBearish = xcaConditions.isVidyaBearish;
conditions.isKIRejectDown = xcaConditions.isKIRejectDown;
conditions.isPeakSameLast = xcaConditions.isPeakSameLast;
conditions.isPeakOverLast = xcaConditions.isPeakOverLast;
@@ -2822,6 +2909,8 @@ class XCXCAEAHelper : XCBase
conditions.isLastSwingHighRejected = xcaConditions.isLastSwingHighRejected;
conditions.isLastResistanceBreaked = xcaConditions.isLastResistanceBreaked;
conditions.isSupportSameAsSwingLow = xcaConditions.isSupportSameAsSwingLow;
conditions.isVidyaSwitchedToBullish = xcaConditions.isVidyaSwitchedToBullish;
conditions.isVidyaSwitchedToBearish = xcaConditions.isVidyaSwitchedToBearish;
conditions.isLastResistanceRejected = xcaConditions.isLastResistanceRejected;
conditions.isTrendSwitchedToBullish = xcaConditions.isTrendSwitchedToBullish;
conditions.isTrendSwitchedToBearish = xcaConditions.isTrendSwitchedToBearish;