diff --git a/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 b/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 index 4e8fd386..273b6ed5 100644 --- a/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -3897,6 +3897,14 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHHHSameInLength && ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear) + // + || // ((mConditions.isXCHMAMCPeak && mConditions.isXTDSignalCrossedOverBear) && @@ -4372,9 +4380,28 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMASCOverMax) && ( // - (mConditions.isXTMStartBullish && - mConditions.isXLHHHSameInLength && - mConditions.isXLHPriceOverSignal) + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceOverSignal) && + ( + // + mConditions.isXTMStartBullish + // + || + // + ((mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) // || // @@ -4439,6 +4466,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXTMNeutural && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax) + // + || + // ((mConditions.isXTSCurrentMax && mConditions.isXCHLHMCLCHHSame) && ( @@ -5021,6 +5054,27 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXLHPriceUnderSignal && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXTSCurrentCrossedOverFarest) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5107,6 +5161,27 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXTDBearishVale && + ( + // + ((mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMin && + mConditions.isXTDSignalCrossedOverBear) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5787,6 +5862,8 @@ bool XUSPY5XTDHasShortSignal() || ( // + // XTD Shorts ... + // isXTSCurrentOverNearest (mConditions.isXTSCurrentOverNearest && ( // @@ -5824,6 +5901,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXTSCurrentOverMediest (mConditions.isXTSCurrentOverMediest && ( // @@ -5918,6 +5997,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXTDBullOverBear (mConditions.isXTDBullOverBear && ( // @@ -5960,6 +6041,19 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + (mConditions.isXLHLLSameInLength && + ( + // + (mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXCHMASCFastCrossedUnderSlow && + mConditions.isXTSCurrentCrossedUnderFarest) + // + ) + // + ) + // ) // ) @@ -6010,13 +6104,6 @@ bool XUSPY5XTDHasShortSignal() // ) // - || - // - (mConditions.isXCHMASCTrendsDown && - mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXCHMASCFastCrossedUnderSlow && - mConditions.isXTSCurrentCrossedUnderNearest) - // ) // ) @@ -6027,6 +6114,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMASCFastOverSlow // Check if SC Fast Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && @@ -6140,6 +6229,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMAMCFastOverSlow // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && @@ -6205,6 +6296,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMALCFastOverSlow // Check LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && @@ -6224,6 +6317,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMASCTrendsDown ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( @@ -6267,6 +6362,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMALCTrendsDown ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( @@ -6285,6 +6382,41 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + // XTD Shorts ... + // Bearish MA ... + ((mConditions.isXTMBearish && + mConditions.isXAMABearish) && + ( + // + ((mConditions.isXTSCurrentMin && + mConditions.isXCHMASCUnderMin && + mConditions.isXTDSignalCrossedUnderBear) && + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + mConditions.isXTSCurrentCrossedUnderFarest + // + || + // + mConditions.isXTSCurrentCrossedUnderNearest + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) diff --git a/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 b/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 index 4e8fd386..273b6ed5 100644 --- a/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -3897,6 +3897,14 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHHHSameInLength && ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear) + // + || // ((mConditions.isXCHMAMCPeak && mConditions.isXTDSignalCrossedOverBear) && @@ -4372,9 +4380,28 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMASCOverMax) && ( // - (mConditions.isXTMStartBullish && - mConditions.isXLHHHSameInLength && - mConditions.isXLHPriceOverSignal) + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceOverSignal) && + ( + // + mConditions.isXTMStartBullish + // + || + // + ((mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) // || // @@ -4439,6 +4466,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXTMNeutural && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax) + // + || + // ((mConditions.isXTSCurrentMax && mConditions.isXCHLHMCLCHHSame) && ( @@ -5021,6 +5054,27 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXLHPriceUnderSignal && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXTSCurrentCrossedOverFarest) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5107,6 +5161,27 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXTDBearishVale && + ( + // + ((mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMin && + mConditions.isXTDSignalCrossedOverBear) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5787,6 +5862,8 @@ bool XUSPY5XTDHasShortSignal() || ( // + // XTD Shorts ... + // isXTSCurrentOverNearest (mConditions.isXTSCurrentOverNearest && ( // @@ -5824,6 +5901,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXTSCurrentOverMediest (mConditions.isXTSCurrentOverMediest && ( // @@ -5918,6 +5997,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXTDBullOverBear (mConditions.isXTDBullOverBear && ( // @@ -5960,6 +6041,19 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + (mConditions.isXLHLLSameInLength && + ( + // + (mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXCHMASCFastCrossedUnderSlow && + mConditions.isXTSCurrentCrossedUnderFarest) + // + ) + // + ) + // ) // ) @@ -6010,13 +6104,6 @@ bool XUSPY5XTDHasShortSignal() // ) // - || - // - (mConditions.isXCHMASCTrendsDown && - mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXCHMASCFastCrossedUnderSlow && - mConditions.isXTSCurrentCrossedUnderNearest) - // ) // ) @@ -6027,6 +6114,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMASCFastOverSlow // Check if SC Fast Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && @@ -6140,6 +6229,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMAMCFastOverSlow // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && @@ -6205,6 +6296,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMALCFastOverSlow // Check LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && @@ -6224,6 +6317,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMASCTrendsDown ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( @@ -6267,6 +6362,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMALCTrendsDown ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( @@ -6285,6 +6382,41 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + // XTD Shorts ... + // Bearish MA ... + ((mConditions.isXTMBearish && + mConditions.isXAMABearish) && + ( + // + ((mConditions.isXTSCurrentMin && + mConditions.isXCHMASCUnderMin && + mConditions.isXTDSignalCrossedUnderBear) && + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + mConditions.isXTSCurrentCrossedUnderFarest + // + || + // + mConditions.isXTSCurrentCrossedUnderNearest + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) diff --git a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 index 4e8fd386..273b6ed5 100644 --- a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -3897,6 +3897,14 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHHHSameInLength && ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear) + // + || // ((mConditions.isXCHMAMCPeak && mConditions.isXTDSignalCrossedOverBear) && @@ -4372,9 +4380,28 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMASCOverMax) && ( // - (mConditions.isXTMStartBullish && - mConditions.isXLHHHSameInLength && - mConditions.isXLHPriceOverSignal) + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceOverSignal) && + ( + // + mConditions.isXTMStartBullish + // + || + // + ((mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) // || // @@ -4439,6 +4466,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXTMNeutural && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax) + // + || + // ((mConditions.isXTSCurrentMax && mConditions.isXCHLHMCLCHHSame) && ( @@ -5021,6 +5054,27 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXLHPriceUnderSignal && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXTSCurrentCrossedOverFarest) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5107,6 +5161,27 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXTDBearishVale && + ( + // + ((mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMin && + mConditions.isXTDSignalCrossedOverBear) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5787,6 +5862,8 @@ bool XUSPY5XTDHasShortSignal() || ( // + // XTD Shorts ... + // isXTSCurrentOverNearest (mConditions.isXTSCurrentOverNearest && ( // @@ -5824,6 +5901,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXTSCurrentOverMediest (mConditions.isXTSCurrentOverMediest && ( // @@ -5918,6 +5997,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXTDBullOverBear (mConditions.isXTDBullOverBear && ( // @@ -5960,6 +6041,19 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + (mConditions.isXLHLLSameInLength && + ( + // + (mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXCHMASCFastCrossedUnderSlow && + mConditions.isXTSCurrentCrossedUnderFarest) + // + ) + // + ) + // ) // ) @@ -6010,13 +6104,6 @@ bool XUSPY5XTDHasShortSignal() // ) // - || - // - (mConditions.isXCHMASCTrendsDown && - mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXCHMASCFastCrossedUnderSlow && - mConditions.isXTSCurrentCrossedUnderNearest) - // ) // ) @@ -6027,6 +6114,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMASCFastOverSlow // Check if SC Fast Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && @@ -6140,6 +6229,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMAMCFastOverSlow // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && @@ -6205,6 +6296,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMALCFastOverSlow // Check LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && @@ -6224,6 +6317,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMASCTrendsDown ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( @@ -6267,6 +6362,8 @@ bool XUSPY5XTDHasShortSignal() // || // + // XTD Shorts ... + // isXCHMALCTrendsDown ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( @@ -6285,6 +6382,41 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + // XTD Shorts ... + // Bearish MA ... + ((mConditions.isXTMBearish && + mConditions.isXAMABearish) && + ( + // + ((mConditions.isXTSCurrentMin && + mConditions.isXCHMASCUnderMin && + mConditions.isXTDSignalCrossedUnderBear) && + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + mConditions.isXTSCurrentCrossedUnderFarest + // + || + // + mConditions.isXTSCurrentCrossedUnderNearest + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // )