add supports for MANALYSER and attached it to XCAEAHelper ...
This commit is contained in:
@@ -56,10 +56,13 @@ enum ENUM_X121_XCA_BUFFERS
|
|||||||
X121_XCA_SWING_HIGH_LINE = 23,
|
X121_XCA_SWING_HIGH_LINE = 23,
|
||||||
X121_XCA_TKI_LINE = 24,
|
X121_XCA_TKI_LINE = 24,
|
||||||
X121_XCA_VIDYA_LINE = 26,
|
X121_XCA_VIDYA_LINE = 26,
|
||||||
X121_XCA_TREND_STATE_LINE = 28,
|
X121_XCA_MAH_LINE = 28,
|
||||||
X121_XCA_KI_STATE_LINE = 29,
|
X121_XCA_MAL_LINE = 29,
|
||||||
X121_XCA_TKI_STATE_LINE = 30,
|
X121_XCA_MAC_LINE = 30,
|
||||||
X121_XCA_VIDYA_STATE_LINE = 31,
|
X121_XCA_TREND_STATE_LINE = 31,
|
||||||
|
X121_XCA_KI_STATE_LINE = 32,
|
||||||
|
X121_XCA_TKI_STATE_LINE = 33,
|
||||||
|
X121_XCA_VIDYA_STATE_LINE = 34,
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -119,6 +122,11 @@ struct X121XCAInputs
|
|||||||
int vidyaEMALength; // EMA Length
|
int vidyaEMALength; // EMA Length
|
||||||
ENUM_APPLIED_PRICE vidyaAppliedTo; // Applied To
|
ENUM_APPLIED_PRICE vidyaAppliedTo; // Applied To
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
int manalyserLength; // Length
|
||||||
|
ENUM_MA_METHOD manalyserMethod; // Method
|
||||||
|
|
||||||
//
|
//
|
||||||
// Swing Detection ...
|
// Swing Detection ...
|
||||||
int swingLength; // Length
|
int swingLength; // Length
|
||||||
@@ -138,6 +146,9 @@ struct X121XCAInputs
|
|||||||
bool showSar; // Show Sar
|
bool showSar; // Show Sar
|
||||||
bool showKI; // Show KI
|
bool showKI; // Show KI
|
||||||
bool showTKI; // Show TKI
|
bool showTKI; // Show TKI
|
||||||
|
bool showMAH; // Show MAH
|
||||||
|
bool showMAL; // Show MAL
|
||||||
|
bool showMAC; // Show MAC
|
||||||
bool showVidya; // Show Vidya
|
bool showVidya; // Show Vidya
|
||||||
bool showTrend; // Show Trend
|
bool showTrend; // Show Trend
|
||||||
bool showSwings; // Show Swings
|
bool showSwings; // Show Swings
|
||||||
@@ -223,6 +234,11 @@ struct X121XCAInputs
|
|||||||
vidyaEMALength = 0;
|
vidyaEMALength = 0;
|
||||||
vidyaAppliedTo = PRICE_CLOSE;
|
vidyaAppliedTo = PRICE_CLOSE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
manalyserLength = 0; // Length
|
||||||
|
manalyserMethod = MODE_SMA; // Method
|
||||||
|
|
||||||
//
|
//
|
||||||
// Swing Detection ...
|
// Swing Detection ...
|
||||||
swingLength = 0; // Length
|
swingLength = 0; // Length
|
||||||
@@ -239,22 +255,25 @@ struct X121XCAInputs
|
|||||||
startCalculationForLastBars = 0; // Calculate Last n Bars
|
startCalculationForLastBars = 0; // Calculate Last n Bars
|
||||||
|
|
||||||
//
|
//
|
||||||
showSar = true; // Show Sar
|
showSar = false; // Show Sar
|
||||||
showKI = true; // Show KI
|
showKI = false; // Show KI
|
||||||
showTKI = true; // Show TKI
|
showTKI = false; // Show TKI
|
||||||
showVidya = true; // Show Vidya
|
showMAH = false; // Show MAH
|
||||||
showTrend = true; // Show Trend
|
showMAL = false; // Show MAL
|
||||||
showSwings = true; // Show Swings
|
showMAC = false; // Show MAC
|
||||||
showFiboLevel1 = true; // Show Fibo Level 1
|
showVidya = false; // Show Vidya
|
||||||
showFiboLevel2 = true; // Show Fibo Level 2
|
showTrend = false; // Show Trend
|
||||||
showFiboLevel3 = true; // Show Fibo Level 3
|
showSwings = false; // Show Swings
|
||||||
showPeaksAndVales = true; // Show Peaks And Vales
|
showFiboLevel1 = false; // Show Fibo Level 1
|
||||||
showPeakAndValeGolden = true; // Show Peak and Vale Golden
|
showFiboLevel2 = false; // Show Fibo Level 2
|
||||||
showSupportAndResistance = true; // Show Support and Resistance
|
showFiboLevel3 = false; // Show Fibo Level 3
|
||||||
showShortCycle = true; // Show Short Cycle
|
showPeaksAndVales = false; // Show Peaks And Vales
|
||||||
showMediumCycle = true; // Show Medium Cycle
|
showPeakAndValeGolden = false; // Show Peak and Vale Golden
|
||||||
showLongCycle = true; // Show Long Cycle
|
showSupportAndResistance = false; // Show Support and Resistance
|
||||||
showHindCycle = true; // Show Hind Cycle
|
showShortCycle = false; // Show Short Cycle
|
||||||
|
showMediumCycle = false; // Show Medium Cycle
|
||||||
|
showLongCycle = false; // Show Long Cycle
|
||||||
|
showHindCycle = false; // Show Hind Cycle
|
||||||
|
|
||||||
//
|
//
|
||||||
sarArrowCode = 0; // Parabolic Sar Arrow Code
|
sarArrowCode = 0; // Parabolic Sar Arrow Code
|
||||||
@@ -320,6 +339,11 @@ struct X121XCAInputs
|
|||||||
vidyaEMALength = 14;
|
vidyaEMALength = 14;
|
||||||
vidyaAppliedTo = PRICE_CLOSE;
|
vidyaAppliedTo = PRICE_CLOSE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
manalyserLength = 14; // Length
|
||||||
|
manalyserMethod = MODE_SMA; // Method
|
||||||
|
|
||||||
//
|
//
|
||||||
// Swing Detection ...
|
// Swing Detection ...
|
||||||
swingLength = 5; // Length
|
swingLength = 5; // Length
|
||||||
@@ -334,6 +358,9 @@ struct X121XCAInputs
|
|||||||
showSar = true; // Show Sar
|
showSar = true; // Show Sar
|
||||||
showKI = true; // Show KI
|
showKI = true; // Show KI
|
||||||
showTKI = true; // Show TKI
|
showTKI = true; // Show TKI
|
||||||
|
showMAH = true; // Show MAH
|
||||||
|
showMAL = true; // Show MAL
|
||||||
|
showMAC = true; // Show MAC
|
||||||
showVidya = true; // Show Vidya
|
showVidya = true; // Show Vidya
|
||||||
showTrend = true; // Show Trend
|
showTrend = true; // Show Trend
|
||||||
showSwings = true; // Show Swings
|
showSwings = true; // Show Swings
|
||||||
@@ -374,6 +401,7 @@ struct X121XCAInputs
|
|||||||
sarMax > sarStep &&
|
sarMax > sarStep &&
|
||||||
vidyaCMOLength > 0 &&
|
vidyaCMOLength > 0 &&
|
||||||
vidyaEMALength > 0 &&
|
vidyaEMALength > 0 &&
|
||||||
|
manalyserLength > 0 &&
|
||||||
//
|
//
|
||||||
// XCA ...
|
// XCA ...
|
||||||
(IsValid(scMethod, scPeriod) &&
|
(IsValid(scMethod, scPeriod) &&
|
||||||
@@ -398,6 +426,7 @@ struct X121XCAInputs
|
|||||||
result = MathMax(kiLength, swingLength);
|
result = MathMax(kiLength, swingLength);
|
||||||
result = MathMax(result, vidyaCMOLength);
|
result = MathMax(result, vidyaCMOLength);
|
||||||
result = MathMax(result, vidyaEMALength);
|
result = MathMax(result, vidyaEMALength);
|
||||||
|
result = MathMax(result, manalyserLength);
|
||||||
|
|
||||||
//
|
//
|
||||||
return result;
|
return result;
|
||||||
@@ -427,6 +456,9 @@ struct X121XCAConditions
|
|||||||
double hHHBuffer[];
|
double hHHBuffer[];
|
||||||
double hLLBuffer[];
|
double hLLBuffer[];
|
||||||
double sarBuffer[];
|
double sarBuffer[];
|
||||||
|
double mahBuffer[];
|
||||||
|
double malBuffer[];
|
||||||
|
double macBuffer[];
|
||||||
double peakBuffer[];
|
double peakBuffer[];
|
||||||
double valeBuffer[];
|
double valeBuffer[];
|
||||||
double vidyaBuffer[];
|
double vidyaBuffer[];
|
||||||
@@ -520,6 +552,66 @@ struct X121XCAConditions
|
|||||||
bool isSarFinishedFromBullish;
|
bool isSarFinishedFromBullish;
|
||||||
bool isSarFinishedFromBearish;
|
bool isSarFinishedFromBearish;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMah;
|
||||||
|
bool isUnderMah;
|
||||||
|
bool isCrossedOverMah;
|
||||||
|
bool isCrossedUnderMah;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMah;
|
||||||
|
bool isCloseUnderMah;
|
||||||
|
bool isCloseCrossedOverMah;
|
||||||
|
bool isCloseCrossedUnderMah;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMahBullishRejected;
|
||||||
|
bool isMahBearishRejected;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMal;
|
||||||
|
bool isUnderMal;
|
||||||
|
bool isCrossedOverMal;
|
||||||
|
bool isCrossedUnderMal;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMal;
|
||||||
|
bool isCloseUnderMal;
|
||||||
|
bool isCloseCrossedOverMal;
|
||||||
|
bool isCloseCrossedUnderMal;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMalBullishRejected;
|
||||||
|
bool isMalBearishRejected;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMac;
|
||||||
|
bool isUnderMac;
|
||||||
|
bool isCrossedOverMac;
|
||||||
|
bool isCrossedUnderMac;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMac;
|
||||||
|
bool isCloseUnderMac;
|
||||||
|
bool isCloseCrossedOverMac;
|
||||||
|
bool isCloseCrossedUnderMac;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMacBullishRejected;
|
||||||
|
bool isMacBearishRejected;
|
||||||
|
|
||||||
//
|
//
|
||||||
// PEAK ...
|
// PEAK ...
|
||||||
|
|
||||||
@@ -666,6 +758,9 @@ struct X121XCAConditions
|
|||||||
Clean(hHHBuffer);
|
Clean(hHHBuffer);
|
||||||
Clean(hLLBuffer);
|
Clean(hLLBuffer);
|
||||||
Clean(sarBuffer);
|
Clean(sarBuffer);
|
||||||
|
Clean(mahBuffer);
|
||||||
|
Clean(malBuffer);
|
||||||
|
Clean(macBuffer);
|
||||||
Clean(peakBuffer);
|
Clean(peakBuffer);
|
||||||
Clean(valeBuffer);
|
Clean(valeBuffer);
|
||||||
Clean(vidyaBuffer);
|
Clean(vidyaBuffer);
|
||||||
@@ -696,6 +791,9 @@ struct X121XCAConditions
|
|||||||
ArraySetAsSeries(hHHBuffer, true);
|
ArraySetAsSeries(hHHBuffer, true);
|
||||||
ArraySetAsSeries(hLLBuffer, true);
|
ArraySetAsSeries(hLLBuffer, true);
|
||||||
ArraySetAsSeries(sarBuffer, true);
|
ArraySetAsSeries(sarBuffer, true);
|
||||||
|
ArraySetAsSeries(mahBuffer, true);
|
||||||
|
ArraySetAsSeries(malBuffer, true);
|
||||||
|
ArraySetAsSeries(macBuffer, true);
|
||||||
ArraySetAsSeries(peakBuffer, true);
|
ArraySetAsSeries(peakBuffer, true);
|
||||||
ArraySetAsSeries(valeBuffer, true);
|
ArraySetAsSeries(valeBuffer, true);
|
||||||
ArraySetAsSeries(vidyaBuffer, true);
|
ArraySetAsSeries(vidyaBuffer, true);
|
||||||
@@ -789,6 +887,66 @@ struct X121XCAConditions
|
|||||||
isSarFinishedFromBullish = false;
|
isSarFinishedFromBullish = false;
|
||||||
isSarFinishedFromBearish = false;
|
isSarFinishedFromBearish = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
isOverMah = false;
|
||||||
|
isUnderMah = false;
|
||||||
|
isCrossedOverMah = false;
|
||||||
|
isCrossedUnderMah = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isCloseOverMah = false;
|
||||||
|
isCloseUnderMah = false;
|
||||||
|
isCloseCrossedOverMah = false;
|
||||||
|
isCloseCrossedUnderMah = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isMahBullishRejected = false;
|
||||||
|
isMahBearishRejected = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
isOverMal = false;
|
||||||
|
isUnderMal = false;
|
||||||
|
isCrossedOverMal = false;
|
||||||
|
isCrossedUnderMal = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isCloseOverMal = false;
|
||||||
|
isCloseUnderMal = false;
|
||||||
|
isCloseCrossedOverMal = false;
|
||||||
|
isCloseCrossedUnderMal = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isMalBullishRejected = false;
|
||||||
|
isMalBearishRejected = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
isOverMac = false;
|
||||||
|
isUnderMac = false;
|
||||||
|
isCrossedOverMac = false;
|
||||||
|
isCrossedUnderMac = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isCloseOverMac = false;
|
||||||
|
isCloseUnderMac = false;
|
||||||
|
isCloseCrossedOverMac = false;
|
||||||
|
isCloseCrossedUnderMac = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isMacBullishRejected = false;
|
||||||
|
isMacBearishRejected = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// PEAK ...
|
// PEAK ...
|
||||||
|
|
||||||
@@ -1039,6 +1197,152 @@ struct X121XCAConditions
|
|||||||
bearishScore += minScore;
|
bearishScore += minScore;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMahBullishRejected)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMahBearishRejected)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMalBullishRejected)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMalBearishRejected)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMacBullishRejected)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMacBearishRejected)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// TREND ...
|
// TREND ...
|
||||||
|
|
||||||
@@ -1304,6 +1608,36 @@ struct X121XCAConditions
|
|||||||
ToString("isSarFinishedFromBullish", isSarFinishedFromBullish, ignoreFalseConditions, separator) +
|
ToString("isSarFinishedFromBullish", isSarFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||||
ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) +
|
ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||||
ToString("isSarFinishedFromBearish", isSarFinishedFromBearish, ignoreFalseConditions, separator) +
|
ToString("isSarFinishedFromBearish", isSarFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isOverMah", isOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isUnderMah", isUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedOverMah", isCrossedOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedUnderMah", isCrossedUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseOverMah", isCloseOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseUnderMah", isCloseUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedOverMah", isCloseCrossedOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedUnderMah", isCloseCrossedUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMahBullishRejected", isMahBullishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMahBearishRejected", isMahBearishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isOverMal", isOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isUnderMal", isUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedOverMal", isCrossedOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedUnderMal", isCrossedUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseOverMal", isCloseOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseUnderMal", isCloseUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedOverMal", isCloseCrossedOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedUnderMal", isCloseCrossedUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMalBullishRejected", isMalBullishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMalBearishRejected", isMalBearishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isOverMac", isOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isUnderMac", isUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedOverMac", isCrossedOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedUnderMac", isCrossedUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseOverMac", isCloseOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseUnderMac", isCloseUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedOverMac", isCloseCrossedOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedUnderMac", isCloseCrossedUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMacBullishRejected", isMacBullishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMacBearishRejected", isMacBearishRejected, ignoreFalseConditions, separator) +
|
||||||
ToString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) +
|
ToString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) +
|
||||||
ToString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) +
|
ToString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) +
|
||||||
ToString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) +
|
ToString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) +
|
||||||
@@ -1426,6 +1760,9 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
Clean(hHHBuffer);
|
Clean(hHHBuffer);
|
||||||
Clean(hLLBuffer);
|
Clean(hLLBuffer);
|
||||||
Clean(sarBuffer);
|
Clean(sarBuffer);
|
||||||
|
Clean(mahBuffer);
|
||||||
|
Clean(malBuffer);
|
||||||
|
Clean(macBuffer);
|
||||||
Clean(peakBuffer);
|
Clean(peakBuffer);
|
||||||
Clean(valeBuffer);
|
Clean(valeBuffer);
|
||||||
Clean(vidyaBuffer);
|
Clean(vidyaBuffer);
|
||||||
@@ -1479,6 +1816,9 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
ArraySetAsSeries(hHHBuffer, true);
|
ArraySetAsSeries(hHHBuffer, true);
|
||||||
ArraySetAsSeries(hLLBuffer, true);
|
ArraySetAsSeries(hLLBuffer, true);
|
||||||
ArraySetAsSeries(sarBuffer, true);
|
ArraySetAsSeries(sarBuffer, true);
|
||||||
|
ArraySetAsSeries(mahBuffer, true);
|
||||||
|
ArraySetAsSeries(malBuffer, true);
|
||||||
|
ArraySetAsSeries(macBuffer, true);
|
||||||
ArraySetAsSeries(peakBuffer, true);
|
ArraySetAsSeries(peakBuffer, true);
|
||||||
ArraySetAsSeries(valeBuffer, true);
|
ArraySetAsSeries(valeBuffer, true);
|
||||||
ArraySetAsSeries(vidyaBuffer, true);
|
ArraySetAsSeries(vidyaBuffer, true);
|
||||||
@@ -1534,6 +1874,9 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
mInputs.vidyaCMOLength,
|
mInputs.vidyaCMOLength,
|
||||||
mInputs.vidyaEMALength,
|
mInputs.vidyaEMALength,
|
||||||
mInputs.vidyaAppliedTo,
|
mInputs.vidyaAppliedTo,
|
||||||
|
"", // MANALYSER ...
|
||||||
|
mInputs.manalyserLength,
|
||||||
|
mInputs.manalyserMethod,
|
||||||
"", // Swing Detection ...
|
"", // Swing Detection ...
|
||||||
mInputs.swingLength,
|
mInputs.swingLength,
|
||||||
"", // Support and Resistance ...
|
"", // Support and Resistance ...
|
||||||
@@ -1544,6 +1887,9 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
mInputs.showSar,
|
mInputs.showSar,
|
||||||
mInputs.showKI,
|
mInputs.showKI,
|
||||||
mInputs.showTKI,
|
mInputs.showTKI,
|
||||||
|
mInputs.showMAH,
|
||||||
|
mInputs.showMAL,
|
||||||
|
mInputs.showMAC,
|
||||||
mInputs.showVidya,
|
mInputs.showVidya,
|
||||||
mInputs.showTrend,
|
mInputs.showTrend,
|
||||||
mInputs.showSwings,
|
mInputs.showSwings,
|
||||||
@@ -2393,6 +2739,165 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
double GetMah(
|
||||||
|
int barIndex // Bar Index
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
if (barIndex < 0)
|
||||||
|
{
|
||||||
|
barIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
Calculate(barIndex);
|
||||||
|
|
||||||
|
//
|
||||||
|
int count = ArraySize(mahBuffer);
|
||||||
|
if (barIndex >= count)
|
||||||
|
{
|
||||||
|
barIndex = count - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return mahBuffer[barIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
int CopyMah(
|
||||||
|
int start, // Start
|
||||||
|
int count, // Number of Items for read
|
||||||
|
double &buffer[], // Dest Buffer
|
||||||
|
bool forceClean = true // Force To Clean buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// Update Calculations ...
|
||||||
|
Calculate(start);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Copy Items ...
|
||||||
|
return Copy(
|
||||||
|
0,
|
||||||
|
count,
|
||||||
|
mahBuffer,
|
||||||
|
buffer,
|
||||||
|
forceClean
|
||||||
|
//
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ,,,
|
||||||
|
|
||||||
|
//
|
||||||
|
double GetMal(
|
||||||
|
int barIndex // Bar Index
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
if (barIndex < 0)
|
||||||
|
{
|
||||||
|
barIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
Calculate(barIndex);
|
||||||
|
|
||||||
|
//
|
||||||
|
int count = ArraySize(malBuffer);
|
||||||
|
if (barIndex >= count)
|
||||||
|
{
|
||||||
|
barIndex = count - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return malBuffer[barIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
int CopyMlh(
|
||||||
|
int start, // Start
|
||||||
|
int count, // Number of Items for read
|
||||||
|
double &buffer[], // Dest Buffer
|
||||||
|
bool forceClean = true // Force To Clean buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// Update Calculations ...
|
||||||
|
Calculate(start);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Copy Items ...
|
||||||
|
return Copy(
|
||||||
|
0,
|
||||||
|
count,
|
||||||
|
malBuffer,
|
||||||
|
buffer,
|
||||||
|
forceClean
|
||||||
|
//
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
double GetMac(
|
||||||
|
int barIndex // Bar Index
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
if (barIndex < 0)
|
||||||
|
{
|
||||||
|
barIndex = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
Calculate(barIndex);
|
||||||
|
|
||||||
|
//
|
||||||
|
int count = ArraySize(macBuffer);
|
||||||
|
if (barIndex >= count)
|
||||||
|
{
|
||||||
|
barIndex = count - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
return macBuffer[barIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
int CopyMac(
|
||||||
|
int start, // Start
|
||||||
|
int count, // Number of Items for read
|
||||||
|
double &buffer[], // Dest Buffer
|
||||||
|
bool forceClean = true // Force To Clean buffer
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
// Update Calculations ...
|
||||||
|
Calculate(start);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Copy Items ...
|
||||||
|
return Copy(
|
||||||
|
0,
|
||||||
|
count,
|
||||||
|
macBuffer,
|
||||||
|
buffer,
|
||||||
|
forceClean
|
||||||
|
//
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// PEAK ...
|
// PEAK ...
|
||||||
|
|
||||||
@@ -3249,6 +3754,27 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
conditions.sarBuffer //
|
conditions.sarBuffer //
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CopyMah(
|
||||||
|
zIndex,
|
||||||
|
loopback,
|
||||||
|
conditions.mahBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CopyMal(
|
||||||
|
zIndex,
|
||||||
|
loopback,
|
||||||
|
conditions.malBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CopyMac(
|
||||||
|
zIndex,
|
||||||
|
loopback,
|
||||||
|
conditions.macBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
CopyPeak(
|
CopyPeak(
|
||||||
zIndex,
|
zIndex,
|
||||||
@@ -3522,6 +4048,141 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
bool isSarFinishedFromBearish = !isSarBearish &&
|
bool isSarFinishedFromBearish = !isSarBearish &&
|
||||||
isSarBearishPrev;
|
isSarBearishPrev;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMah = cBar.low > conditions.mahBuffer[cIDX];
|
||||||
|
bool isOverMahPrev = pBar.low > conditions.mahBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isUnderMah = cBar.high < conditions.mahBuffer[cIDX];
|
||||||
|
bool isUnderMahPrev = pBar.high < conditions.mahBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCrossedOverMah = isOverMah &&
|
||||||
|
!isOverMahPrev;
|
||||||
|
bool isCrossedUnderMah = isUnderMah &&
|
||||||
|
!isUnderMahPrev;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMah = cBar.close > conditions.mahBuffer[cIDX];
|
||||||
|
bool isCloseOverMahPrev = pBar.close > conditions.mahBuffer[pIDX];
|
||||||
|
|
||||||
|
bool isCloseUnderMah = cBar.close < conditions.mahBuffer[cIDX];
|
||||||
|
bool isCloseUnderMahPrev = pBar.close < conditions.mahBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseCrossedOverMah = isCloseOverMah &&
|
||||||
|
!isCloseOverMahPrev;
|
||||||
|
bool isCloseCrossedUnderMah = isCloseUnderMah &&
|
||||||
|
!isCloseUnderMahPrev;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMahBullishRejected = cBar.IsRejected(
|
||||||
|
conditions.mahBuffer[cIDX],
|
||||||
|
X_DIRECTION_BULLISH,
|
||||||
|
false,
|
||||||
|
false //
|
||||||
|
);
|
||||||
|
bool isMahBearishRejected = cBar.IsRejected(
|
||||||
|
conditions.mahBuffer[cIDX],
|
||||||
|
X_DIRECTION_BEARISH,
|
||||||
|
false,
|
||||||
|
false //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMal = cBar.low > conditions.malBuffer[cIDX];
|
||||||
|
bool isOverMalPrev = pBar.low > conditions.malBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isUnderMal = cBar.high < conditions.malBuffer[cIDX];
|
||||||
|
bool isUnderMalPrev = pBar.high < conditions.malBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCrossedOverMal = isOverMal &&
|
||||||
|
!isOverMalPrev;
|
||||||
|
bool isCrossedUnderMal = isUnderMal &&
|
||||||
|
!isUnderMalPrev;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMal = cBar.close > conditions.malBuffer[cIDX];
|
||||||
|
bool isCloseOverMalPrev = pBar.close > conditions.malBuffer[pIDX];
|
||||||
|
|
||||||
|
bool isCloseUnderMal = cBar.close < conditions.malBuffer[cIDX];
|
||||||
|
bool isCloseUnderMalPrev = pBar.close < conditions.malBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseCrossedOverMal = isCloseOverMal &&
|
||||||
|
!isCloseOverMalPrev;
|
||||||
|
bool isCloseCrossedUnderMal = isCloseUnderMal &&
|
||||||
|
!isCloseUnderMalPrev;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMalBullishRejected = cBar.IsRejected(
|
||||||
|
conditions.malBuffer[cIDX],
|
||||||
|
X_DIRECTION_BULLISH,
|
||||||
|
false,
|
||||||
|
false //
|
||||||
|
);
|
||||||
|
bool isMalBearishRejected = cBar.IsRejected(
|
||||||
|
conditions.malBuffer[cIDX],
|
||||||
|
X_DIRECTION_BEARISH,
|
||||||
|
false,
|
||||||
|
false //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMac = cBar.low > conditions.macBuffer[cIDX];
|
||||||
|
bool isOverMacPrev = pBar.low > conditions.macBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isUnderMac = cBar.high < conditions.macBuffer[cIDX];
|
||||||
|
bool isUnderMacPrev = pBar.high < conditions.macBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCrossedOverMac = isOverMac &&
|
||||||
|
!isOverMacPrev;
|
||||||
|
bool isCrossedUnderMac = isUnderMac &&
|
||||||
|
!isUnderMacPrev;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMac = cBar.close > conditions.macBuffer[cIDX];
|
||||||
|
bool isCloseOverMacPrev = pBar.close > conditions.macBuffer[pIDX];
|
||||||
|
|
||||||
|
bool isCloseUnderMac = cBar.close < conditions.macBuffer[cIDX];
|
||||||
|
bool isCloseUnderMacPrev = pBar.close < conditions.macBuffer[pIDX];
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseCrossedOverMac = isCloseOverMac &&
|
||||||
|
!isCloseOverMacPrev;
|
||||||
|
bool isCloseCrossedUnderMac = isCloseUnderMac &&
|
||||||
|
!isCloseUnderMacPrev;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMacBullishRejected = cBar.IsRejected(
|
||||||
|
conditions.macBuffer[cIDX],
|
||||||
|
X_DIRECTION_BULLISH,
|
||||||
|
false,
|
||||||
|
false //
|
||||||
|
);
|
||||||
|
bool isMacBearishRejected = cBar.IsRejected(
|
||||||
|
conditions.macBuffer[cIDX],
|
||||||
|
X_DIRECTION_BEARISH,
|
||||||
|
false,
|
||||||
|
false //
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// PEAK ...
|
// PEAK ...
|
||||||
|
|
||||||
@@ -3747,6 +4408,12 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
// Attached ...
|
// Attached ...
|
||||||
|
|
||||||
//
|
//
|
||||||
|
conditions.isOverMah = isOverMah;
|
||||||
|
conditions.isOverMal = isOverMal;
|
||||||
|
conditions.isOverMac = isOverMac;
|
||||||
|
conditions.isUnderMah = isUnderMah;
|
||||||
|
conditions.isUnderMal = isUnderMal;
|
||||||
|
conditions.isUnderMac = isUnderMac;
|
||||||
conditions.isKIBullish = isKIBullish;
|
conditions.isKIBullish = isKIBullish;
|
||||||
conditions.isKIBearish = isKIBearish;
|
conditions.isKIBearish = isKIBearish;
|
||||||
conditions.isKIRejectUp = isKIRejectUp;
|
conditions.isKIRejectUp = isKIRejectUp;
|
||||||
@@ -3757,6 +4424,9 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
conditions.isTKIRejectUp = isTKIRejectUp;
|
conditions.isTKIRejectUp = isTKIRejectUp;
|
||||||
conditions.isPeakIsPivot = isPeakIsPivot;
|
conditions.isPeakIsPivot = isPeakIsPivot;
|
||||||
conditions.isValeIsPivot = isValeIsPivot;
|
conditions.isValeIsPivot = isValeIsPivot;
|
||||||
|
conditions.isCloseOverMah = isCloseOverMah;
|
||||||
|
conditions.isCloseOverMal = isCloseOverMal;
|
||||||
|
conditions.isCloseOverMac = isCloseOverMac;
|
||||||
conditions.isVidyaBullish = isVidyaBullish;
|
conditions.isVidyaBullish = isVidyaBullish;
|
||||||
conditions.isVidyaBearish = isVidyaBearish;
|
conditions.isVidyaBearish = isVidyaBearish;
|
||||||
conditions.isKIRejectDown = isKIRejectDown;
|
conditions.isKIRejectDown = isKIRejectDown;
|
||||||
@@ -3766,10 +4436,19 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
conditions.isValeOverLast = isValeOverLast;
|
conditions.isValeOverLast = isValeOverLast;
|
||||||
conditions.isTrendBullish = isTrendBullish;
|
conditions.isTrendBullish = isTrendBullish;
|
||||||
conditions.isTrendBearish = isTrendBearish;
|
conditions.isTrendBearish = isTrendBearish;
|
||||||
|
conditions.isCloseUnderMah = isCloseUnderMah;
|
||||||
|
conditions.isCloseUnderMal = isCloseUnderMal;
|
||||||
|
conditions.isCloseUnderMac = isCloseUnderMac;
|
||||||
conditions.isTKIRejectDown = isTKIRejectDown;
|
conditions.isTKIRejectDown = isTKIRejectDown;
|
||||||
conditions.isPeakUnderLast = isPeakUnderLast;
|
conditions.isPeakUnderLast = isPeakUnderLast;
|
||||||
conditions.isValeUnderLast = isValeUnderLast;
|
conditions.isValeUnderLast = isValeUnderLast;
|
||||||
conditions.isTrendRejectUp = isTrendRejectUp;
|
conditions.isTrendRejectUp = isTrendRejectUp;
|
||||||
|
conditions.isCrossedOverMah = isCrossedOverMah;
|
||||||
|
conditions.isCrossedOverMal = isCrossedOverMal;
|
||||||
|
conditions.isCrossedOverMac = isCrossedOverMac;
|
||||||
|
conditions.isCrossedUnderMah = isCrossedUnderMah;
|
||||||
|
conditions.isCrossedUnderMal = isCrossedUnderMal;
|
||||||
|
conditions.isCrossedUnderMac = isCrossedUnderMac;
|
||||||
conditions.isTrendRejectDown = isTrendRejectDown;
|
conditions.isTrendRejectDown = isTrendRejectDown;
|
||||||
conditions.isSupportSameLast = isSupportSameLast;
|
conditions.isSupportSameLast = isSupportSameLast;
|
||||||
conditions.isSupportOverLast = isSupportOverLast;
|
conditions.isSupportOverLast = isSupportOverLast;
|
||||||
@@ -3780,11 +4459,20 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
conditions.isSwingHighSameLast = isSwingHighSameLast;
|
conditions.isSwingHighSameLast = isSwingHighSameLast;
|
||||||
conditions.isSwingHighOverLast = isSwingHighOverLast;
|
conditions.isSwingHighOverLast = isSwingHighOverLast;
|
||||||
conditions.isSupportSameAsVale = isSupportSameAsVale;
|
conditions.isSupportSameAsVale = isSupportSameAsVale;
|
||||||
|
conditions.isMahBullishRejected = isMahBullishRejected;
|
||||||
|
conditions.isMahBearishRejected = isMahBearishRejected;
|
||||||
|
conditions.isMalBullishRejected = isMalBullishRejected;
|
||||||
|
conditions.isMalBearishRejected = isMalBearishRejected;
|
||||||
|
conditions.isMacBullishRejected = isMacBullishRejected;
|
||||||
|
conditions.isMacBearishRejected = isMacBearishRejected;
|
||||||
conditions.isLastSupportBreaked = isLastSupportBreaked;
|
conditions.isLastSupportBreaked = isLastSupportBreaked;
|
||||||
conditions.isResistanceSameLast = isResistanceSameLast;
|
conditions.isResistanceSameLast = isResistanceSameLast;
|
||||||
conditions.isResistanceOverLast = isResistanceOverLast;
|
conditions.isResistanceOverLast = isResistanceOverLast;
|
||||||
conditions.isSwingHighUnderLast = isSwingHighUnderLast;
|
conditions.isSwingHighUnderLast = isSwingHighUnderLast;
|
||||||
conditions.isSwingLowSameAsVale = isSwingLowSameAsVale;
|
conditions.isSwingLowSameAsVale = isSwingLowSameAsVale;
|
||||||
|
conditions.isCloseCrossedOverMah = isCloseCrossedOverMah;
|
||||||
|
conditions.isCloseCrossedOverMal = isCloseCrossedOverMal;
|
||||||
|
conditions.isCloseCrossedOverMac = isCloseCrossedOverMac;
|
||||||
conditions.isLastSupportRejected = isLastSupportRejected;
|
conditions.isLastSupportRejected = isLastSupportRejected;
|
||||||
conditions.isResistanceUnderLast = isResistanceUnderLast;
|
conditions.isResistanceUnderLast = isResistanceUnderLast;
|
||||||
conditions.isKISwitchedToBullish = isKISwitchedToBullish;
|
conditions.isKISwitchedToBullish = isKISwitchedToBullish;
|
||||||
@@ -3793,6 +4481,9 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
conditions.isSwingHighSameAsPeak = isSwingHighSameAsPeak;
|
conditions.isSwingHighSameAsPeak = isSwingHighSameAsPeak;
|
||||||
conditions.isPeakSwitchedToPivot = isPeakSwitchedToPivot;
|
conditions.isPeakSwitchedToPivot = isPeakSwitchedToPivot;
|
||||||
conditions.isValeSwitchedToPivot = isValeSwitchedToPivot;
|
conditions.isValeSwitchedToPivot = isValeSwitchedToPivot;
|
||||||
|
conditions.isCloseCrossedUnderMah = isCloseCrossedUnderMah;
|
||||||
|
conditions.isCloseCrossedUnderMal = isCloseCrossedUnderMal;
|
||||||
|
conditions.isCloseCrossedUnderMac = isCloseCrossedUnderMac;
|
||||||
conditions.isTKISwitchedToBullish = isTKISwitchedToBullish;
|
conditions.isTKISwitchedToBullish = isTKISwitchedToBullish;
|
||||||
conditions.isTKISwitchedToBearish = isTKISwitchedToBearish;
|
conditions.isTKISwitchedToBearish = isTKISwitchedToBearish;
|
||||||
conditions.isLastSwingLowRejected = isLastSwingLowRejected;
|
conditions.isLastSwingLowRejected = isLastSwingLowRejected;
|
||||||
@@ -3857,6 +4548,9 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
double hHHBuffer[];
|
double hHHBuffer[];
|
||||||
double hLLBuffer[];
|
double hLLBuffer[];
|
||||||
double sarBuffer[];
|
double sarBuffer[];
|
||||||
|
double mahBuffer[];
|
||||||
|
double malBuffer[];
|
||||||
|
double macBuffer[];
|
||||||
double peakBuffer[];
|
double peakBuffer[];
|
||||||
double valeBuffer[];
|
double valeBuffer[];
|
||||||
double vidyaBuffer[];
|
double vidyaBuffer[];
|
||||||
@@ -3996,6 +4690,33 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
sarBuffer //
|
sarBuffer //
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CopyBuffer(
|
||||||
|
mHandler,
|
||||||
|
X121_XCA_MAH_LINE,
|
||||||
|
barIndex,
|
||||||
|
maxRequiredBars,
|
||||||
|
mahBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CopyBuffer(
|
||||||
|
mHandler,
|
||||||
|
X121_XCA_MAL_LINE,
|
||||||
|
barIndex,
|
||||||
|
maxRequiredBars,
|
||||||
|
malBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CopyBuffer(
|
||||||
|
mHandler,
|
||||||
|
X121_XCA_MAC_LINE,
|
||||||
|
barIndex,
|
||||||
|
maxRequiredBars,
|
||||||
|
macBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
CopyBuffer(
|
CopyBuffer(
|
||||||
mHandler,
|
mHandler,
|
||||||
@@ -4218,6 +4939,24 @@ class XCX121XCAHelper : public XCBaseHelper
|
|||||||
maxAllowed //
|
maxAllowed //
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CleanupArray(
|
||||||
|
mahBuffer,
|
||||||
|
maxAllowed //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CleanupArray(
|
||||||
|
malBuffer,
|
||||||
|
maxAllowed //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
CleanupArray(
|
||||||
|
macBuffer,
|
||||||
|
maxAllowed //
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
CleanupArray(
|
CleanupArray(
|
||||||
peakBuffer,
|
peakBuffer,
|
||||||
|
|||||||
@@ -36,21 +36,21 @@
|
|||||||
// Fast ...
|
// Fast ...
|
||||||
input group "Fast";
|
input group "Fast";
|
||||||
input int fastLength = 6; // Length
|
input int fastLength = 6; // Length
|
||||||
input ENUM_MA_METHOD fastMethod = MODE_SMA; // Mwethod
|
input ENUM_MA_METHOD fastMethod = MODE_SMA; // Method
|
||||||
input ENUM_APPLIED_PRICE fastAppliedTo = PRICE_CLOSE; // Applied To
|
input ENUM_APPLIED_PRICE fastAppliedTo = PRICE_CLOSE; // Applied To
|
||||||
|
|
||||||
//
|
//
|
||||||
// Medium ...
|
// Medium ...
|
||||||
input group "Medium";
|
input group "Medium";
|
||||||
input int mediumLength = 21; // Length
|
input int mediumLength = 21; // Length
|
||||||
input ENUM_MA_METHOD mediumMethod = MODE_SMA; // Mwethod
|
input ENUM_MA_METHOD mediumMethod = MODE_SMA; // Method
|
||||||
input ENUM_APPLIED_PRICE mediumAppliedTo = PRICE_CLOSE; // Applied To
|
input ENUM_APPLIED_PRICE mediumAppliedTo = PRICE_CLOSE; // Applied To
|
||||||
|
|
||||||
//
|
//
|
||||||
// Slow ...
|
// Slow ...
|
||||||
input group "Slow";
|
input group "Slow";
|
||||||
input int slowLength = 34; // Length
|
input int slowLength = 34; // Length
|
||||||
input ENUM_MA_METHOD slowMethod = MODE_SMA; // Mwethod
|
input ENUM_MA_METHOD slowMethod = MODE_SMA; // Method
|
||||||
input ENUM_APPLIED_PRICE slowAppliedTo = PRICE_CLOSE; // Applied To
|
input ENUM_APPLIED_PRICE slowAppliedTo = PRICE_CLOSE; // Applied To
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -84,6 +84,12 @@ input int vidyaCMOLength = 20; // CMO (Candle Momentum)
|
|||||||
input int vidyaEMALength = 14; // EMA Length
|
input int vidyaEMALength = 14; // EMA Length
|
||||||
input ENUM_APPLIED_PRICE vidyaAppliedTo = PRICE_CLOSE; // Applied To
|
input ENUM_APPLIED_PRICE vidyaAppliedTo = PRICE_CLOSE; // Applied To
|
||||||
|
|
||||||
|
//
|
||||||
|
// Manalyser ...
|
||||||
|
input group "Manalyser";
|
||||||
|
input int manalyserLength = 14; // Length
|
||||||
|
input ENUM_MA_METHOD manalyserMethod = MODE_SMA; // Method
|
||||||
|
|
||||||
//
|
//
|
||||||
input group "Swing Detection";
|
input group "Swing Detection";
|
||||||
input int swingLength = 5; // Length
|
input int swingLength = 5; // Length
|
||||||
@@ -104,6 +110,9 @@ input int startCalculationForLastBars = 1000; // Calculate Last n Bars
|
|||||||
input bool showSar = true; // Show Sar
|
input bool showSar = true; // Show Sar
|
||||||
input bool showKI = true; // Show KI
|
input bool showKI = true; // Show KI
|
||||||
input bool showTKI = true; // Show KI Trend
|
input bool showTKI = true; // Show KI Trend
|
||||||
|
input bool showMAH = true; // Show MAH
|
||||||
|
input bool showMAL = true; // Show MAL
|
||||||
|
input bool showMAC = true; // Show MAC
|
||||||
input bool showVidya = true; // Show Vidya
|
input bool showVidya = true; // Show Vidya
|
||||||
input bool showTrend = true; // Show Trend
|
input bool showTrend = true; // Show Trend
|
||||||
input bool showSwings = true; // Show Swings
|
input bool showSwings = true; // Show Swings
|
||||||
@@ -146,8 +155,8 @@ input int swingHighArrowCode = 226; // Swing High Arrow Code
|
|||||||
#property indicator_chart_window
|
#property indicator_chart_window
|
||||||
|
|
||||||
//
|
//
|
||||||
#property indicator_buffers 34
|
#property indicator_buffers 37
|
||||||
#property indicator_plots 24
|
#property indicator_plots 27
|
||||||
|
|
||||||
//
|
//
|
||||||
// Plot Buffers ...
|
// Plot Buffers ...
|
||||||
@@ -493,10 +502,55 @@ double vidyaColorBuffer[];
|
|||||||
#property indicator_style24 STYLE_SOLID
|
#property indicator_style24 STYLE_SOLID
|
||||||
#property indicator_width24 1
|
#property indicator_width24 1
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
#define mahBufferIndex 28
|
||||||
|
#define mahBufferPlotIndex 24
|
||||||
|
double mahBuffer[];
|
||||||
|
|
||||||
|
//
|
||||||
|
#property indicator_label25 "MAH"
|
||||||
|
#property indicator_type25 DRAW_LINE
|
||||||
|
#property indicator_color25 clrMagenta
|
||||||
|
#property indicator_style25 STYLE_SOLID
|
||||||
|
#property indicator_width25 1
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
#define malBufferIndex 29
|
||||||
|
#define malBufferPlotIndex 25
|
||||||
|
double malBuffer[];
|
||||||
|
|
||||||
|
//
|
||||||
|
#property indicator_label26 "MAL"
|
||||||
|
#property indicator_type26 DRAW_LINE
|
||||||
|
#property indicator_color26 clrAqua
|
||||||
|
#property indicator_style26 STYLE_SOLID
|
||||||
|
#property indicator_width26 1
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
#define macBufferIndex 30
|
||||||
|
#define macBufferPlotIndex 26
|
||||||
|
double macBuffer[];
|
||||||
|
|
||||||
|
//
|
||||||
|
#property indicator_label27 "MAC"
|
||||||
|
#property indicator_type27 DRAW_LINE
|
||||||
|
#property indicator_color27 clrYellow
|
||||||
|
#property indicator_style27 STYLE_SOLID
|
||||||
|
#property indicator_width27 1
|
||||||
|
|
||||||
//
|
//
|
||||||
// Data Buffers ...
|
// Data Buffers ...
|
||||||
|
|
||||||
#define mLastBufferIndex 27
|
#define mLastBufferIndex 30
|
||||||
|
|
||||||
//
|
//
|
||||||
#define trendStateBufferIndex mLastBufferIndex + 1
|
#define trendStateBufferIndex mLastBufferIndex + 1
|
||||||
@@ -545,6 +599,12 @@ int tkiHandler = INVALID_HANDLE;
|
|||||||
int vidyaHandler = INVALID_HANDLE;
|
int vidyaHandler = INVALID_HANDLE;
|
||||||
int trendHandler = INVALID_HANDLE;
|
int trendHandler = INVALID_HANDLE;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Manalyser Handlers ...
|
||||||
|
int mahHandler = INVALID_HANDLE;
|
||||||
|
int malHandler = INVALID_HANDLE;
|
||||||
|
int macHandler = INVALID_HANDLE;
|
||||||
|
|
||||||
//
|
//
|
||||||
// XMarketCycle sc;
|
// XMarketCycle sc;
|
||||||
int mSCLength = 0;
|
int mSCLength = 0;
|
||||||
@@ -653,6 +713,57 @@ int OnInit()
|
|||||||
return INIT_FAILED;
|
return INIT_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSE ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
mahHandler = iMA(
|
||||||
|
_Symbol,
|
||||||
|
_Period,
|
||||||
|
manalyserLength,
|
||||||
|
0,
|
||||||
|
manalyserMethod,
|
||||||
|
PRICE_HIGH //
|
||||||
|
);
|
||||||
|
isInited = mahHandler != INVALID_HANDLE;
|
||||||
|
if (!isInited)
|
||||||
|
{
|
||||||
|
return INIT_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
malHandler = iMA(
|
||||||
|
_Symbol,
|
||||||
|
_Period,
|
||||||
|
manalyserLength,
|
||||||
|
0,
|
||||||
|
manalyserMethod,
|
||||||
|
PRICE_LOW //
|
||||||
|
);
|
||||||
|
isInited = malHandler != INVALID_HANDLE;
|
||||||
|
if (!isInited)
|
||||||
|
{
|
||||||
|
return INIT_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
macHandler = iMA(
|
||||||
|
_Symbol,
|
||||||
|
_Period,
|
||||||
|
manalyserLength,
|
||||||
|
0,
|
||||||
|
manalyserMethod,
|
||||||
|
PRICE_CLOSE //
|
||||||
|
);
|
||||||
|
isInited = macHandler != INVALID_HANDLE;
|
||||||
|
if (!isInited)
|
||||||
|
{
|
||||||
|
return INIT_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// because in some cases we may have more than one input for
|
// because in some cases we may have more than one input for
|
||||||
// calculation and we must prevent any calculation
|
// calculation and we must prevent any calculation
|
||||||
@@ -758,6 +869,21 @@ int OnCalculate(
|
|||||||
// TREND ...
|
// TREND ...
|
||||||
int trendCalculatedBars = BarsCalculated(trendHandler);
|
int trendCalculatedBars = BarsCalculated(trendHandler);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
int mahCalculatedBars = BarsCalculated(mahHandler);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
int malCalculatedBars = BarsCalculated(malHandler);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
int macCalculatedBars = BarsCalculated(macHandler);
|
||||||
|
|
||||||
//
|
//
|
||||||
bool isPassedRequiredCalculatedBars =
|
bool isPassedRequiredCalculatedBars =
|
||||||
//
|
//
|
||||||
@@ -771,7 +897,15 @@ int OnCalculate(
|
|||||||
vidyaCalculatedBars >= maxLength &&
|
vidyaCalculatedBars >= maxLength &&
|
||||||
//
|
//
|
||||||
// TREND ...
|
// TREND ...
|
||||||
trendCalculatedBars >= maxLength
|
trendCalculatedBars >= maxLength &&
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
// MAH ...
|
||||||
|
mahCalculatedBars >= maxLength &&
|
||||||
|
// MAL ...
|
||||||
|
malCalculatedBars >= maxLength &&
|
||||||
|
// MAC ...
|
||||||
|
macCalculatedBars >= maxLength
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
if (!isPassedRequiredCalculatedBars)
|
if (!isPassedRequiredCalculatedBars)
|
||||||
@@ -803,6 +937,21 @@ int OnCalculate(
|
|||||||
// TREND ...
|
// TREND ...
|
||||||
int copiedTrends = CopyBuffer(trendHandler, MAIN_LINE, 0, limit + 1, trendBuffer);
|
int copiedTrends = CopyBuffer(trendHandler, MAIN_LINE, 0, limit + 1, trendBuffer);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
int copiedMahs = CopyBuffer(mahHandler, 0, 0, limit, mahBuffer);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
int copiedMals = CopyBuffer(malHandler, 0, 0, limit, malBuffer);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
int copiedMacs = CopyBuffer(macHandler, 0, 0, limit, macBuffer);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Validate Copied Items ...
|
// Validate Copied Items ...
|
||||||
bool isPassedRequiredCopiedItems =
|
bool isPassedRequiredCopiedItems =
|
||||||
@@ -817,7 +966,15 @@ int OnCalculate(
|
|||||||
copiedVidyas >= limit &&
|
copiedVidyas >= limit &&
|
||||||
//
|
//
|
||||||
// TREND ...
|
// TREND ...
|
||||||
copiedTrends >= limit
|
copiedTrends >= limit &&
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
// MAH ...
|
||||||
|
copiedMahs >= limit &&
|
||||||
|
// MAL ...
|
||||||
|
copiedMals >= limit &&
|
||||||
|
// MAC ...
|
||||||
|
copiedMacs >= limit
|
||||||
//
|
//
|
||||||
;
|
;
|
||||||
if (!isPassedRequiredCopiedItems)
|
if (!isPassedRequiredCopiedItems)
|
||||||
@@ -871,6 +1028,7 @@ bool ValidateInputs()
|
|||||||
sarMax > sarStep &&
|
sarMax > sarStep &&
|
||||||
vidyaEMALength > 0 &&
|
vidyaEMALength > 0 &&
|
||||||
vidyaCMOLength > 0 &&
|
vidyaCMOLength > 0 &&
|
||||||
|
manalyserLength > 0 &&
|
||||||
//
|
//
|
||||||
// XCA ...
|
// XCA ...
|
||||||
(IsValid(scMethod, scPeriod) &&
|
(IsValid(scMethod, scPeriod) &&
|
||||||
@@ -898,6 +1056,7 @@ int ExtractMaxLengthOfInputs()
|
|||||||
result = MathMax(kiLength, swingLength);
|
result = MathMax(kiLength, swingLength);
|
||||||
result = MathMax(result, vidyaCMOLength);
|
result = MathMax(result, vidyaCMOLength);
|
||||||
result = MathMax(result, vidyaEMALength);
|
result = MathMax(result, vidyaEMALength);
|
||||||
|
result = MathMax(result, manalyserLength);
|
||||||
|
|
||||||
//
|
//
|
||||||
return result;
|
return result;
|
||||||
@@ -1340,6 +1499,60 @@ void DefineBuffers()
|
|||||||
PlotIndexSetDouble(swingHighBufferPlotIndex, PLOT_EMPTY_VALUE, emptyValue);
|
PlotIndexSetDouble(swingHighBufferPlotIndex, PLOT_EMPTY_VALUE, emptyValue);
|
||||||
PlotIndexSetInteger(swingHighBufferPlotIndex, PLOT_ARROW, swingHighArrowCode);
|
PlotIndexSetInteger(swingHighBufferPlotIndex, PLOT_ARROW, swingHighArrowCode);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
ENUM_DRAW_TYPE mahDrawType = showMAH ? DRAW_LINE : DRAW_NONE;
|
||||||
|
|
||||||
|
//
|
||||||
|
ArraySetAsSeries(mahBuffer, true);
|
||||||
|
SetIndexBuffer(mahBufferIndex, mahBuffer, INDICATOR_DATA);
|
||||||
|
|
||||||
|
//
|
||||||
|
PlotIndexSetInteger(mahBufferPlotIndex, PLOT_SHOW_DATA, showMAH);
|
||||||
|
PlotIndexSetInteger(mahBufferPlotIndex, PLOT_DRAW_TYPE, mahDrawType);
|
||||||
|
|
||||||
|
//
|
||||||
|
PlotIndexSetDouble(mahBufferPlotIndex, PLOT_EMPTY_VALUE, emptyValue);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
ENUM_DRAW_TYPE malDrawType = showMAL ? DRAW_LINE : DRAW_NONE;
|
||||||
|
|
||||||
|
//
|
||||||
|
ArraySetAsSeries(malBuffer, true);
|
||||||
|
SetIndexBuffer(malBufferIndex, malBuffer, INDICATOR_DATA);
|
||||||
|
|
||||||
|
//
|
||||||
|
PlotIndexSetInteger(malBufferPlotIndex, PLOT_SHOW_DATA, showMAL);
|
||||||
|
PlotIndexSetInteger(malBufferPlotIndex, PLOT_DRAW_TYPE, malDrawType);
|
||||||
|
|
||||||
|
//
|
||||||
|
PlotIndexSetDouble(malBufferPlotIndex, PLOT_EMPTY_VALUE, emptyValue);
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
ENUM_DRAW_TYPE macDrawType = showMAC ? DRAW_LINE : DRAW_NONE;
|
||||||
|
|
||||||
|
//
|
||||||
|
ArraySetAsSeries(macBuffer, true);
|
||||||
|
SetIndexBuffer(macBufferIndex, macBuffer, INDICATOR_DATA);
|
||||||
|
|
||||||
|
//
|
||||||
|
PlotIndexSetInteger(macBufferPlotIndex, PLOT_SHOW_DATA, showMAC);
|
||||||
|
PlotIndexSetInteger(macBufferPlotIndex, PLOT_DRAW_TYPE, mahDrawType);
|
||||||
|
|
||||||
|
//
|
||||||
|
PlotIndexSetDouble(macBufferPlotIndex, PLOT_EMPTY_VALUE, emptyValue);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Data Buffers ...
|
// Data Buffers ...
|
||||||
|
|
||||||
|
|||||||
+428
-77
@@ -261,6 +261,9 @@ struct XCAEAConditions
|
|||||||
double hHHBuffer[];
|
double hHHBuffer[];
|
||||||
double hLLBuffer[];
|
double hLLBuffer[];
|
||||||
double sarBuffer[];
|
double sarBuffer[];
|
||||||
|
double mahBuffer[];
|
||||||
|
double malBuffer[];
|
||||||
|
double macBuffer[];
|
||||||
double peakBuffer[];
|
double peakBuffer[];
|
||||||
double valeBuffer[];
|
double valeBuffer[];
|
||||||
double vidyaBuffer[];
|
double vidyaBuffer[];
|
||||||
@@ -270,13 +273,13 @@ struct XCAEAConditions
|
|||||||
double tkiStateBuffer[];
|
double tkiStateBuffer[];
|
||||||
double swingLowBuffer[];
|
double swingLowBuffer[];
|
||||||
double swingHighBuffer[];
|
double swingHighBuffer[];
|
||||||
|
double vidyaStateBuffer[];
|
||||||
double resistanceBuffer[];
|
double resistanceBuffer[];
|
||||||
double peakGoldenBuffer[];
|
double peakGoldenBuffer[];
|
||||||
double valeGoldenBuffer[];
|
double valeGoldenBuffer[];
|
||||||
double fiboLevel1Buffer[];
|
double fiboLevel1Buffer[];
|
||||||
double fiboLevel2Buffer[];
|
double fiboLevel2Buffer[];
|
||||||
double fiboLevel3Buffer[];
|
double fiboLevel3Buffer[];
|
||||||
double vidyaStateBuffer[];
|
|
||||||
double trendStateBuffer[];
|
double trendStateBuffer[];
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -354,6 +357,66 @@ struct XCAEAConditions
|
|||||||
bool isSarFinishedFromBullish;
|
bool isSarFinishedFromBullish;
|
||||||
bool isSarFinishedFromBearish;
|
bool isSarFinishedFromBearish;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMah;
|
||||||
|
bool isUnderMah;
|
||||||
|
bool isCrossedOverMah;
|
||||||
|
bool isCrossedUnderMah;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMah;
|
||||||
|
bool isCloseUnderMah;
|
||||||
|
bool isCloseCrossedOverMah;
|
||||||
|
bool isCloseCrossedUnderMah;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMahBullishRejected;
|
||||||
|
bool isMahBearishRejected;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMal;
|
||||||
|
bool isUnderMal;
|
||||||
|
bool isCrossedOverMal;
|
||||||
|
bool isCrossedUnderMal;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMal;
|
||||||
|
bool isCloseUnderMal;
|
||||||
|
bool isCloseCrossedOverMal;
|
||||||
|
bool isCloseCrossedUnderMal;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMalBullishRejected;
|
||||||
|
bool isMalBearishRejected;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isOverMac;
|
||||||
|
bool isUnderMac;
|
||||||
|
bool isCrossedOverMac;
|
||||||
|
bool isCrossedUnderMac;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isCloseOverMac;
|
||||||
|
bool isCloseUnderMac;
|
||||||
|
bool isCloseCrossedOverMac;
|
||||||
|
bool isCloseCrossedUnderMac;
|
||||||
|
|
||||||
|
//
|
||||||
|
bool isMacBullishRejected;
|
||||||
|
bool isMacBearishRejected;
|
||||||
|
|
||||||
//
|
//
|
||||||
// PEAK ...
|
// PEAK ...
|
||||||
|
|
||||||
@@ -722,8 +785,6 @@ struct XCAEAConditions
|
|||||||
//
|
//
|
||||||
// Specified Conditions ...
|
// Specified Conditions ...
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Constructor ...
|
// Constructor ...
|
||||||
XCAEAConditions()
|
XCAEAConditions()
|
||||||
@@ -844,6 +905,9 @@ struct XCAEAConditions
|
|||||||
Clean(hHHBuffer);
|
Clean(hHHBuffer);
|
||||||
Clean(hLLBuffer);
|
Clean(hLLBuffer);
|
||||||
Clean(sarBuffer);
|
Clean(sarBuffer);
|
||||||
|
Clean(mahBuffer);
|
||||||
|
Clean(malBuffer);
|
||||||
|
Clean(macBuffer);
|
||||||
Clean(peakBuffer);
|
Clean(peakBuffer);
|
||||||
Clean(valeBuffer);
|
Clean(valeBuffer);
|
||||||
Clean(vidyaBuffer);
|
Clean(vidyaBuffer);
|
||||||
@@ -874,6 +938,9 @@ struct XCAEAConditions
|
|||||||
ArraySetAsSeries(hHHBuffer, true);
|
ArraySetAsSeries(hHHBuffer, true);
|
||||||
ArraySetAsSeries(hLLBuffer, true);
|
ArraySetAsSeries(hLLBuffer, true);
|
||||||
ArraySetAsSeries(sarBuffer, true);
|
ArraySetAsSeries(sarBuffer, true);
|
||||||
|
ArraySetAsSeries(mahBuffer, true);
|
||||||
|
ArraySetAsSeries(malBuffer, true);
|
||||||
|
ArraySetAsSeries(macBuffer, true);
|
||||||
ArraySetAsSeries(peakBuffer, true);
|
ArraySetAsSeries(peakBuffer, true);
|
||||||
ArraySetAsSeries(valeBuffer, true);
|
ArraySetAsSeries(valeBuffer, true);
|
||||||
ArraySetAsSeries(vidyaBuffer, true);
|
ArraySetAsSeries(vidyaBuffer, true);
|
||||||
@@ -967,6 +1034,66 @@ struct XCAEAConditions
|
|||||||
isSarFinishedFromBullish = false;
|
isSarFinishedFromBullish = false;
|
||||||
isSarFinishedFromBearish = false;
|
isSarFinishedFromBearish = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
isOverMah = false;
|
||||||
|
isUnderMah = false;
|
||||||
|
isCrossedOverMah = false;
|
||||||
|
isCrossedUnderMah = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isCloseOverMah = false;
|
||||||
|
isCloseUnderMah = false;
|
||||||
|
isCloseCrossedOverMah = false;
|
||||||
|
isCloseCrossedUnderMah = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isMahBullishRejected = false;
|
||||||
|
isMahBearishRejected = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
isOverMal = false;
|
||||||
|
isUnderMal = false;
|
||||||
|
isCrossedOverMal = false;
|
||||||
|
isCrossedUnderMal = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isCloseOverMal = false;
|
||||||
|
isCloseUnderMal = false;
|
||||||
|
isCloseCrossedOverMal = false;
|
||||||
|
isCloseCrossedUnderMal = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isMalBullishRejected = false;
|
||||||
|
isMalBearishRejected = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
isOverMac = false;
|
||||||
|
isUnderMac = false;
|
||||||
|
isCrossedOverMac = false;
|
||||||
|
isCrossedUnderMac = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isCloseOverMac = false;
|
||||||
|
isCloseUnderMac = false;
|
||||||
|
isCloseCrossedOverMac = false;
|
||||||
|
isCloseCrossedUnderMac = false;
|
||||||
|
|
||||||
|
//
|
||||||
|
isMacBullishRejected = false;
|
||||||
|
isMacBearishRejected = false;
|
||||||
|
|
||||||
//
|
//
|
||||||
// PEAK ...
|
// PEAK ...
|
||||||
|
|
||||||
@@ -1544,6 +1671,152 @@ struct XCAEAConditions
|
|||||||
bearishScore += minScore;
|
bearishScore += minScore;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MANALYSER ...
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAH ...
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMahBullishRejected)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedUnderMah)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMahBearishRejected)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedOverMah)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAL ...
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMalBullishRejected)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedOverMal)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMalBearishRejected)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedUnderMal)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// MAC ...
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMacBullishRejected)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedOverMac)
|
||||||
|
{
|
||||||
|
bullishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (isUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCrossedUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isMacBearishRejected)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
if (isCloseCrossedUnderMac)
|
||||||
|
{
|
||||||
|
bearishScore += minScore;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// TREND ...
|
// TREND ...
|
||||||
|
|
||||||
@@ -2261,6 +2534,36 @@ struct XCAEAConditions
|
|||||||
ToString("isSarFinishedFromBullish", isSarFinishedFromBullish, ignoreFalseConditions, separator) +
|
ToString("isSarFinishedFromBullish", isSarFinishedFromBullish, ignoreFalseConditions, separator) +
|
||||||
ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) +
|
ToString("isSarSwitchedToBearish", isSarSwitchedToBearish, ignoreFalseConditions, separator) +
|
||||||
ToString("isSarFinishedFromBearish", isSarFinishedFromBearish, ignoreFalseConditions, separator) +
|
ToString("isSarFinishedFromBearish", isSarFinishedFromBearish, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isOverMah", isOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isUnderMah", isUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedOverMah", isCrossedOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedUnderMah", isCrossedUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseOverMah", isCloseOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseUnderMah", isCloseUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedOverMah", isCloseCrossedOverMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedUnderMah", isCloseCrossedUnderMah, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMahBullishRejected", isMahBullishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMahBearishRejected", isMahBearishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isOverMal", isOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isUnderMal", isUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedOverMal", isCrossedOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedUnderMal", isCrossedUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseOverMal", isCloseOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseUnderMal", isCloseUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedOverMal", isCloseCrossedOverMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedUnderMal", isCloseCrossedUnderMal, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMalBullishRejected", isMalBullishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMalBearishRejected", isMalBearishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isOverMac", isOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isUnderMac", isUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedOverMac", isCrossedOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCrossedUnderMac", isCrossedUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseOverMac", isCloseOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseUnderMac", isCloseUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedOverMac", isCloseCrossedOverMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isCloseCrossedUnderMac", isCloseCrossedUnderMac, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMacBullishRejected", isMacBullishRejected, ignoreFalseConditions, separator) +
|
||||||
|
ToString("isMacBearishRejected", isMacBearishRejected, ignoreFalseConditions, separator) +
|
||||||
ToString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) +
|
ToString("isPeakSameLast", isPeakSameLast, ignoreFalseConditions, separator) +
|
||||||
ToString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) +
|
ToString("isPeakOverLast", isPeakOverLast, ignoreFalseConditions, separator) +
|
||||||
ToString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) +
|
ToString("isPeakUnderLast", isPeakUnderLast, ignoreFalseConditions, separator) +
|
||||||
@@ -3250,6 +3553,24 @@ class XCXCAEAHelper : XCBase
|
|||||||
conditions.sarBuffer //
|
conditions.sarBuffer //
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
Copy(
|
||||||
|
xcaConditions.mahBuffer,
|
||||||
|
conditions.mahBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
Copy(
|
||||||
|
xcaConditions.malBuffer,
|
||||||
|
conditions.malBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
Copy(
|
||||||
|
xcaConditions.macBuffer,
|
||||||
|
conditions.macBuffer //
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
Copy(
|
Copy(
|
||||||
xcaConditions.peakBuffer,
|
xcaConditions.peakBuffer,
|
||||||
@@ -3350,80 +3671,110 @@ class XCXCAEAHelper : XCBase
|
|||||||
// Conditions ...
|
// Conditions ...
|
||||||
|
|
||||||
//
|
//
|
||||||
conditions.isKIBullish = xcaConditions.isKIBullish;
|
conditions.isOverMah = isOverMah;
|
||||||
conditions.isKIBearish = xcaConditions.isKIBearish;
|
conditions.isOverMal = isOverMal;
|
||||||
conditions.isKIRejectUp = xcaConditions.isKIRejectUp;
|
conditions.isOverMac = isOverMac;
|
||||||
conditions.isTKIBullish = xcaConditions.isTKIBullish;
|
conditions.isUnderMah = isUnderMah;
|
||||||
conditions.isTKIBearish = xcaConditions.isTKIBearish;
|
conditions.isUnderMal = isUnderMal;
|
||||||
conditions.isSarBullish = xcaConditions.isSarBullish;
|
conditions.isUnderMac = isUnderMac;
|
||||||
conditions.isSarBearish = xcaConditions.isSarBearish;
|
conditions.isKIBullish = isKIBullish;
|
||||||
conditions.isTKIRejectUp = xcaConditions.isTKIRejectUp;
|
conditions.isKIBearish = isKIBearish;
|
||||||
conditions.isPeakIsPivot = xcaConditions.isPeakIsPivot;
|
conditions.isKIRejectUp = isKIRejectUp;
|
||||||
conditions.isValeIsPivot = xcaConditions.isValeIsPivot;
|
conditions.isTKIBullish = isTKIBullish;
|
||||||
conditions.isVidyaBullish = xcaConditions.isVidyaBullish;
|
conditions.isTKIBearish = isTKIBearish;
|
||||||
conditions.isVidyaBearish = xcaConditions.isVidyaBearish;
|
conditions.isSarBullish = isSarBullish;
|
||||||
conditions.isKIRejectDown = xcaConditions.isKIRejectDown;
|
conditions.isSarBearish = isSarBearish;
|
||||||
conditions.isPeakSameLast = xcaConditions.isPeakSameLast;
|
conditions.isTKIRejectUp = isTKIRejectUp;
|
||||||
conditions.isPeakOverLast = xcaConditions.isPeakOverLast;
|
conditions.isPeakIsPivot = isPeakIsPivot;
|
||||||
conditions.isValeSameLast = xcaConditions.isValeSameLast;
|
conditions.isValeIsPivot = isValeIsPivot;
|
||||||
conditions.isValeOverLast = xcaConditions.isValeOverLast;
|
conditions.isCloseOverMah = isCloseOverMah;
|
||||||
conditions.isTrendBullish = xcaConditions.isTrendBullish;
|
conditions.isCloseOverMal = isCloseOverMal;
|
||||||
conditions.isTrendBearish = xcaConditions.isTrendBearish;
|
conditions.isCloseOverMac = isCloseOverMac;
|
||||||
conditions.isTKIRejectDown = xcaConditions.isTKIRejectDown;
|
conditions.isVidyaBullish = isVidyaBullish;
|
||||||
conditions.isPeakUnderLast = xcaConditions.isPeakUnderLast;
|
conditions.isVidyaBearish = isVidyaBearish;
|
||||||
conditions.isValeUnderLast = xcaConditions.isValeUnderLast;
|
conditions.isKIRejectDown = isKIRejectDown;
|
||||||
conditions.isTrendRejectUp = xcaConditions.isTrendRejectUp;
|
conditions.isPeakSameLast = isPeakSameLast;
|
||||||
conditions.isTrendRejectDown = xcaConditions.isTrendRejectDown;
|
conditions.isPeakOverLast = isPeakOverLast;
|
||||||
conditions.isSupportSameLast = xcaConditions.isSupportSameLast;
|
conditions.isValeSameLast = isValeSameLast;
|
||||||
conditions.isSupportOverLast = xcaConditions.isSupportOverLast;
|
conditions.isValeOverLast = isValeOverLast;
|
||||||
conditions.isSupportUnderLast = xcaConditions.isSupportUnderLast;
|
conditions.isTrendBullish = isTrendBullish;
|
||||||
conditions.isSwingLowSameLast = xcaConditions.isSwingLowSameLast;
|
conditions.isTrendBearish = isTrendBearish;
|
||||||
conditions.isSwingLowOverLast = xcaConditions.isSwingLowOverLast;
|
conditions.isCloseUnderMah = isCloseUnderMah;
|
||||||
conditions.isSwingLowUnderLast = xcaConditions.isSwingLowUnderLast;
|
conditions.isCloseUnderMal = isCloseUnderMal;
|
||||||
conditions.isSwingHighSameLast = xcaConditions.isSwingHighSameLast;
|
conditions.isCloseUnderMac = isCloseUnderMac;
|
||||||
conditions.isSwingHighOverLast = xcaConditions.isSwingHighOverLast;
|
conditions.isTKIRejectDown = isTKIRejectDown;
|
||||||
conditions.isSupportSameAsVale = xcaConditions.isSupportSameAsVale;
|
conditions.isPeakUnderLast = isPeakUnderLast;
|
||||||
conditions.isLastSupportBreaked = xcaConditions.isLastSupportBreaked;
|
conditions.isValeUnderLast = isValeUnderLast;
|
||||||
conditions.isResistanceSameLast = xcaConditions.isResistanceSameLast;
|
conditions.isTrendRejectUp = isTrendRejectUp;
|
||||||
conditions.isResistanceOverLast = xcaConditions.isResistanceOverLast;
|
conditions.isCrossedOverMah = isCrossedOverMah;
|
||||||
conditions.isSwingHighUnderLast = xcaConditions.isSwingHighUnderLast;
|
conditions.isCrossedOverMal = isCrossedOverMal;
|
||||||
conditions.isSwingLowSameAsVale = xcaConditions.isSwingLowSameAsVale;
|
conditions.isCrossedOverMac = isCrossedOverMac;
|
||||||
conditions.isLastSupportRejected = xcaConditions.isLastSupportRejected;
|
conditions.isCrossedUnderMah = isCrossedUnderMah;
|
||||||
conditions.isResistanceUnderLast = xcaConditions.isResistanceUnderLast;
|
conditions.isCrossedUnderMal = isCrossedUnderMal;
|
||||||
conditions.isKISwitchedToBullish = xcaConditions.isKISwitchedToBullish;
|
conditions.isCrossedUnderMac = isCrossedUnderMac;
|
||||||
conditions.isKISwitchedToBearish = xcaConditions.isKISwitchedToBearish;
|
conditions.isTrendRejectDown = isTrendRejectDown;
|
||||||
conditions.isLastSwingLowBreaked = xcaConditions.isLastSwingLowBreaked;
|
conditions.isSupportSameLast = isSupportSameLast;
|
||||||
conditions.isSwingHighSameAsPeak = xcaConditions.isSwingHighSameAsPeak;
|
conditions.isSupportOverLast = isSupportOverLast;
|
||||||
conditions.isPeakSwitchedToPivot = xcaConditions.isPeakSwitchedToPivot;
|
conditions.isSupportUnderLast = isSupportUnderLast;
|
||||||
conditions.isValeSwitchedToPivot = xcaConditions.isValeSwitchedToPivot;
|
conditions.isSwingLowSameLast = isSwingLowSameLast;
|
||||||
conditions.isTKISwitchedToBullish = xcaConditions.isTKISwitchedToBullish;
|
conditions.isSwingLowOverLast = isSwingLowOverLast;
|
||||||
conditions.isTKISwitchedToBearish = xcaConditions.isTKISwitchedToBearish;
|
conditions.isSwingLowUnderLast = isSwingLowUnderLast;
|
||||||
conditions.isLastSwingLowRejected = xcaConditions.isLastSwingLowRejected;
|
conditions.isSwingHighSameLast = isSwingHighSameLast;
|
||||||
conditions.isSarSwitchedToBullish = xcaConditions.isSarSwitchedToBullish;
|
conditions.isSwingHighOverLast = isSwingHighOverLast;
|
||||||
conditions.isSarSwitchedToBearish = xcaConditions.isSarSwitchedToBearish;
|
conditions.isSupportSameAsVale = isSupportSameAsVale;
|
||||||
conditions.isLastSwingHighBreaked = xcaConditions.isLastSwingHighBreaked;
|
conditions.isMahBullishRejected = isMahBullishRejected;
|
||||||
conditions.isResistanceSameAsPeak = xcaConditions.isResistanceSameAsPeak;
|
conditions.isMahBearishRejected = isMahBearishRejected;
|
||||||
conditions.isPeakFinishedFromPivot = xcaConditions.isPeakFinishedFromPivot;
|
conditions.isMalBullishRejected = isMalBullishRejected;
|
||||||
conditions.isValeFinishedFromPivot = xcaConditions.isValeFinishedFromPivot;
|
conditions.isMalBearishRejected = isMalBearishRejected;
|
||||||
conditions.isLastSwingHighRejected = xcaConditions.isLastSwingHighRejected;
|
conditions.isMacBullishRejected = isMacBullishRejected;
|
||||||
conditions.isLastResistanceBreaked = xcaConditions.isLastResistanceBreaked;
|
conditions.isMacBearishRejected = isMacBearishRejected;
|
||||||
conditions.isSupportSameAsSwingLow = xcaConditions.isSupportSameAsSwingLow;
|
conditions.isLastSupportBreaked = isLastSupportBreaked;
|
||||||
conditions.isKIFinishedFromBullish = xcaConditions.isKIFinishedFromBullish;
|
conditions.isResistanceSameLast = isResistanceSameLast;
|
||||||
conditions.isKIFinishedFromBearish = xcaConditions.isKIFinishedFromBearish;
|
conditions.isResistanceOverLast = isResistanceOverLast;
|
||||||
conditions.isTKIFinishedFromBullish = xcaConditions.isTKIFinishedFromBullish;
|
conditions.isSwingHighUnderLast = isSwingHighUnderLast;
|
||||||
conditions.isTKIFinishedFromBearish = xcaConditions.isTKIFinishedFromBearish;
|
conditions.isSwingLowSameAsVale = isSwingLowSameAsVale;
|
||||||
conditions.isSarFinishedFromBullish = xcaConditions.isSarFinishedFromBullish;
|
conditions.isCloseCrossedOverMah = isCloseCrossedOverMah;
|
||||||
conditions.isSarFinishedFromBearish = xcaConditions.isSarFinishedFromBearish;
|
conditions.isCloseCrossedOverMal = isCloseCrossedOverMal;
|
||||||
conditions.isVidyaSwitchedToBullish = xcaConditions.isVidyaSwitchedToBullish;
|
conditions.isCloseCrossedOverMac = isCloseCrossedOverMac;
|
||||||
conditions.isVidyaSwitchedToBearish = xcaConditions.isVidyaSwitchedToBearish;
|
conditions.isLastSupportRejected = isLastSupportRejected;
|
||||||
conditions.isLastResistanceRejected = xcaConditions.isLastResistanceRejected;
|
conditions.isResistanceUnderLast = isResistanceUnderLast;
|
||||||
conditions.isTrendSwitchedToBullish = xcaConditions.isTrendSwitchedToBullish;
|
conditions.isKISwitchedToBullish = isKISwitchedToBullish;
|
||||||
conditions.isTrendSwitchedToBearish = xcaConditions.isTrendSwitchedToBearish;
|
conditions.isKISwitchedToBearish = isKISwitchedToBearish;
|
||||||
conditions.isVidyaFinishedFromBullish = xcaConditions.isVidyaFinishedFromBullish;
|
conditions.isLastSwingLowBreaked = isLastSwingLowBreaked;
|
||||||
conditions.isVidyaFinishedFromBearish = xcaConditions.isVidyaFinishedFromBearish;
|
conditions.isSwingHighSameAsPeak = isSwingHighSameAsPeak;
|
||||||
conditions.isTrendFinishedFromBullish = xcaConditions.isTrendFinishedFromBullish;
|
conditions.isPeakSwitchedToPivot = isPeakSwitchedToPivot;
|
||||||
conditions.isTrendFinishedFromBearish = xcaConditions.isTrendFinishedFromBearish;
|
conditions.isValeSwitchedToPivot = isValeSwitchedToPivot;
|
||||||
conditions.isResistanceSameAsSwingHigh = xcaConditions.isResistanceSameAsSwingHigh;
|
conditions.isCloseCrossedUnderMah = isCloseCrossedUnderMah;
|
||||||
|
conditions.isCloseCrossedUnderMal = isCloseCrossedUnderMal;
|
||||||
|
conditions.isCloseCrossedUnderMac = isCloseCrossedUnderMac;
|
||||||
|
conditions.isTKISwitchedToBullish = isTKISwitchedToBullish;
|
||||||
|
conditions.isTKISwitchedToBearish = isTKISwitchedToBearish;
|
||||||
|
conditions.isLastSwingLowRejected = isLastSwingLowRejected;
|
||||||
|
conditions.isSarSwitchedToBullish = isSarSwitchedToBullish;
|
||||||
|
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;
|
||||||
|
|
||||||
//
|
//
|
||||||
// XOSCS ...
|
// XOSCS ...
|
||||||
|
|||||||
Reference in New Issue
Block a user