From a3c06f46d50b26cf5657da57cf98dff9b2d22248 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Mon, 12 Feb 2024 10:46:55 +0330 Subject: [PATCH] Resolve XUSCHF5 XTD Longs All Stopouts in MetaQuotes, HFMarkets ... --- ...herelm.xuschf5.provider.indicators.lib.mq5 | 157 ++++++++++++++++-- ...herelm.xuschf5.provider.indicators.lib.mq5 | 157 ++++++++++++++++-- ...herelm.xuschf5.provider.indicators.lib.mq5 | 28 ++++ 3 files changed, 320 insertions(+), 22 deletions(-) diff --git a/BKP/Main/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 b/BKP/Main/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 index a7806187..c92f1a17 100644 --- a/BKP/Main/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 +++ b/BKP/Main/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 @@ -1568,6 +1568,13 @@ bool XUSCHF5XTDHasLongSignal() (mConditions.isXCHMALCPeak && mConditions.isXCHMALCTrendsDown) // + || + // + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXCHLHMCLCLLSame && + mConditions.isXTSCurrentUnderNearest && + mConditions.isXTSCurrentCrossedUnderNearest) + // ) // ) @@ -1613,6 +1620,15 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXTSCurrentCrossedOverFarest && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + (mConditions.isXCHMALCTrendsDown && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXCHMASCCrossedOverMin && + mConditions.isXTSCurrentCrossedOverNearest) + // ) // ) @@ -1626,6 +1642,23 @@ bool XUSCHF5XTDHasLongSignal() ((mConditions.isXTMNeutural && mConditions.isXAMANeutural) && ( + // + ((mConditions.isXTMEndBullish && + mConditions.isXAMAEndBullish) && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXTDBearishVale && + mConditions.isXTSCurrentUnderFarest && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedUnderFarest) + // + ) + // + ) + // + || // ((mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) && @@ -1904,6 +1937,29 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXLHHHSameInLength) && // ( + // + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) + // + || + // + (mConditions.isXTSCurrentMax && + mConditions.isXTDBearishVale && + mConditions.isXAMAStartBullish && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXLHPriceCrossedOverSignal) + // + ) + // + ) + // + || // // Check LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || @@ -2028,6 +2084,21 @@ bool XUSCHF5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXTMNeutural && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCTrendsDown && + mConditions.isXTSCurrentUnderNearest && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) + // ) // ) @@ -2087,20 +2158,39 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXAMABullish) && ( // - (mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXCHLHSameHHs && + mConditions.isXCHLHMCLCLLSame && + mConditions.isXCHMASCCrossedOverMax && + mConditions.isXTDSignalCrossedOverBear) + // + || + // + (mConditions.isXCHLHSCMCHHSame && + ( + // + (mConditions.isXCHLHMCLCLLSame && + mConditions.isXLHHighAttachedHH && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverNearest) + // + ) + // + ) + // + ) + // + ) // || // - (mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXLHHighAttachedHH && + (mConditions.isXLHHighAttachedHH && + mConditions.isXCHMASCCrossedOverMax && + mConditions.isXTSCurrentUnderNearest && mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) + mConditions.isXTSCurrentCrossedUnderNearest) // ) // @@ -2160,10 +2250,28 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXCHMAMCTrendsUp && mConditions.isXCHMAMCFastOverSlow) // + || + // + (mConditions.isXCHMASCOverMax && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest) + // ) // ) // + || + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXCHLHSameHHs && + mConditions.isXTSCurrentMax && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest && + mConditions.isXTSCurrentCrossedOverMediest) + // ) // ) @@ -2215,6 +2323,17 @@ bool XUSCHF5XTDHasLongSignal() ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( + // + (mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax && + mConditions.isXLHLLIncreased && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverNearest) + // + || // ((mConditions.isXCHMAMCPeak && mConditions.isXCHMALCVale && @@ -2242,6 +2361,14 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXTSCurrentOverFarest && mConditions.isXTSCurrentOverMediest) // + || + // + (mConditions.isXTDBullOverBear && + mConditions.isXCHMAMCTrendsUp && + mConditions.isXCHMALCTrendsDown && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverMediest) + // ) // ) @@ -2354,7 +2481,15 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXLHHHSameInLength) && // ( - false) + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMASCCrossedOverMax && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) // ) // diff --git a/Projects/XUSCHF5/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 b/Projects/XUSCHF5/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 index a7806187..c92f1a17 100644 --- a/Projects/XUSCHF5/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 +++ b/Projects/XUSCHF5/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 @@ -1568,6 +1568,13 @@ bool XUSCHF5XTDHasLongSignal() (mConditions.isXCHMALCPeak && mConditions.isXCHMALCTrendsDown) // + || + // + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXCHLHMCLCLLSame && + mConditions.isXTSCurrentUnderNearest && + mConditions.isXTSCurrentCrossedUnderNearest) + // ) // ) @@ -1613,6 +1620,15 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXTSCurrentCrossedOverFarest && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + (mConditions.isXCHMALCTrendsDown && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXCHMASCCrossedOverMin && + mConditions.isXTSCurrentCrossedOverNearest) + // ) // ) @@ -1626,6 +1642,23 @@ bool XUSCHF5XTDHasLongSignal() ((mConditions.isXTMNeutural && mConditions.isXAMANeutural) && ( + // + ((mConditions.isXTMEndBullish && + mConditions.isXAMAEndBullish) && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXTDBearishVale && + mConditions.isXTSCurrentUnderFarest && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedUnderFarest) + // + ) + // + ) + // + || // ((mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) && @@ -1904,6 +1937,29 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXLHHHSameInLength) && // ( + // + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) + // + || + // + (mConditions.isXTSCurrentMax && + mConditions.isXTDBearishVale && + mConditions.isXAMAStartBullish && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXLHPriceCrossedOverSignal) + // + ) + // + ) + // + || // // Check LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || @@ -2028,6 +2084,21 @@ bool XUSCHF5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXTMNeutural && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCTrendsDown && + mConditions.isXTSCurrentUnderNearest && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) + // ) // ) @@ -2087,20 +2158,39 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXAMABullish) && ( // - (mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXCHLHSameHHs && + mConditions.isXCHLHMCLCLLSame && + mConditions.isXCHMASCCrossedOverMax && + mConditions.isXTDSignalCrossedOverBear) + // + || + // + (mConditions.isXCHLHSCMCHHSame && + ( + // + (mConditions.isXCHLHMCLCLLSame && + mConditions.isXLHHighAttachedHH && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverNearest) + // + ) + // + ) + // + ) + // + ) // || // - (mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXLHHighAttachedHH && + (mConditions.isXLHHighAttachedHH && + mConditions.isXCHMASCCrossedOverMax && + mConditions.isXTSCurrentUnderNearest && mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) + mConditions.isXTSCurrentCrossedUnderNearest) // ) // @@ -2160,10 +2250,28 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXCHMAMCTrendsUp && mConditions.isXCHMAMCFastOverSlow) // + || + // + (mConditions.isXCHMASCOverMax && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest) + // ) // ) // + || + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXCHLHSameHHs && + mConditions.isXTSCurrentMax && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest && + mConditions.isXTSCurrentCrossedOverMediest) + // ) // ) @@ -2215,6 +2323,17 @@ bool XUSCHF5XTDHasLongSignal() ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( + // + (mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax && + mConditions.isXLHLLIncreased && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverNearest) + // + || // ((mConditions.isXCHMAMCPeak && mConditions.isXCHMALCVale && @@ -2242,6 +2361,14 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXTSCurrentOverFarest && mConditions.isXTSCurrentOverMediest) // + || + // + (mConditions.isXTDBullOverBear && + mConditions.isXCHMAMCTrendsUp && + mConditions.isXCHMALCTrendsDown && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverMediest) + // ) // ) @@ -2354,7 +2481,15 @@ bool XUSCHF5XTDHasLongSignal() mConditions.isXLHHHSameInLength) && // ( - false) + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMASCCrossedOverMax && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) // ) // diff --git a/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 index 380151ce..c92f1a17 100644 --- a/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xuschf5.provider.indicators.lib.mq5 @@ -1642,6 +1642,23 @@ bool XUSCHF5XTDHasLongSignal() ((mConditions.isXTMNeutural && mConditions.isXAMANeutural) && ( + // + ((mConditions.isXTMEndBullish && + mConditions.isXAMAEndBullish) && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXTDBearishVale && + mConditions.isXTSCurrentUnderFarest && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedUnderFarest) + // + ) + // + ) + // + || // ((mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) && @@ -2306,6 +2323,17 @@ bool XUSCHF5XTDHasLongSignal() ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( + // + (mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax && + mConditions.isXLHLLIncreased && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverNearest) + // + || // ((mConditions.isXCHMAMCPeak && mConditions.isXCHMALCVale &&