From 9b15ed84273faae729d45c27a109e596dfc8d16d Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Wed, 6 Mar 2024 16:13:19 +0330 Subject: [PATCH] Resolve XUSPY5 XTD All Guard Attacks in ErranteSC ... --- ...aherelm.xuspy5.provider.indicators.lib.mq5 | 516 +++++++++++++++--- Documents/Templates/Brokers List.txt | 2 +- ...aherelm.xuspy5.provider.indicators.lib.mq5 | 516 +++++++++++++++--- ...aherelm.xuspy5.provider.indicators.lib.mq5 | 516 +++++++++++++++--- 4 files changed, 1285 insertions(+), 265 deletions(-) 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 8f38eb73..a096f722 100644 --- a/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -2699,7 +2699,25 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMALCPeak && - mConditions.isXLHPriceInSignalRange) + ( + // + mConditions.isXLHPriceInSignalRange + // + || + // + (mConditions.isXCHMAMCVale && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2912,6 +2930,25 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + mConditions.isXCHMASCCrossedOverMin + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3462,6 +3499,31 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXTSCurrentUnderFarest && ( + // + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMNeutural && + mConditions.isXCHMALCPeak && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + ) + // + ) + // + ) + // + || // // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || @@ -3675,6 +3737,19 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXLHLLSameInLength && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCCrossedOverMax) + // + ) + // + ) + // + || // ((mConditions.isXLHHHSameInLength && mConditions.isXLHLLSameInLength) && @@ -3736,44 +3811,92 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceUnderSignal && ( // - ((mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCFastUnderSlow) && + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && + (mConditions.isXCHMAMCTrendsUp && ( // - (mConditions.isXCHMAMCVale && + (mConditions.isXCHMALCPeak && + mConditions.isXTDBearishVale && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXTDSignalCrossedOverBear) + // + || + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && ( // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXLHLLSameInLength && + (mConditions.isXCHMAMCVale && ( // - (mConditions.isXTMNeutural && - mConditions.isXLHLLDecreased) + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXCHMASCUnderMin) // || // - (mConditions.isXLHHHSameInLength && + (mConditions.isXLHLLSameInLength && ( // - (mConditions.isXTDBearishVale && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCLLSame) + (mConditions.isXTMNeutural && + mConditions.isXLHLLDecreased) + // + || + // + (mConditions.isXLHHHSameInLength && + ( + // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMStartBullish) + // + || + // + (mConditions.isXTDBearishVale && + mConditions.isXLHLLDecreased && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXCHMALCPeak && + ( + // + mConditions.isXAMABearish + // + || + // + mConditions.isXLHLLSameInLength + // + || + // + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceUnderSignal) + // + ) + // + ) + // + || + // + ((mConditions.isXTMStartBullish && + mConditions.isXAMAStartBullish) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXLHHHDecreased) // ) // @@ -3785,14 +3908,21 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && ( // - mConditions.isXAMABearish - // - || - // - mConditions.isXLHLLSameInLength + ((mConditions.isXTMNeutural && + mConditions.isXAMANeutural) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMin && + mConditions.isXTDBearishVale) + // + ) + // + ) // ) // @@ -3800,34 +3930,42 @@ bool XUSPY5XTDHasLongSignal() // || // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased) - // - ) - // - ) + (mConditions.isXTMNeutural && + mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) // ) // ) // - || + ) + // + ) + // + || + // + ((!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown) && + ( // ((mConditions.isXLHHHSameInLength && mConditions.isXLHLLSameInLength) && ( // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && + (mConditions.isXLHPriceUnderSignal && ( // (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXTDBearishVale) + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMAStartBullish) + // + ) + // + ) // ) // @@ -3837,14 +3975,6 @@ bool XUSPY5XTDHasLongSignal() // ) // - || - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXAMAStartBullish && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) - // ) // ) @@ -4339,6 +4469,13 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMStartBullish && + mConditions.isXCHLHSCMCLLSame) + // + || + // (mConditions.isXCHLHMCLCLLSame && mConditions.isXCHMASCCrossedOverMin && mConditions.isXTSCurrentCrossedOverFarest && @@ -4697,6 +4834,25 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXLHPriceCrossedOverSignal && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -4728,14 +4884,42 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceOverSignal && ( // - (mConditions.isXTSAllSame && - mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMASCOverMax && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) + ((mConditions.isXCHLHSCMCHHSame && + mConditions.isXTDSignalCrossedOverBear) && + ( + // + (mConditions.isXTSCurrentMax && + mConditions.isXLHHighAttachedHH) + // + || + // + (mConditions.isXTSAllSame && + mConditions.isXAMAStartBullish && + mConditions.isXLHPriceCrossedOverSignal) + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXCHMASCOverMax && + mConditions.isXTDBullOverBear) && + ( + // + (mConditions.isXTSAllSame && + mConditions.isXCHMASCCrossedOverMax) + // + || + // + (mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverMediest) + // + ) + // + ) + // + ) + // + ) // || // @@ -4765,6 +4949,32 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXCHLHSCMCHHSame && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -4783,6 +4993,29 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXLHHighAttachedHH) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5328,16 +5561,28 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceUnderSignal && ( // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && + (mConditions.isXLHHHSameInLength && ( // - mConditions.isXAMAEndBearish + (mConditions.isXTMBullish && + mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax) // || // - (mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) + (mConditions.isXLHLLSameInLength && + ( + // + mConditions.isXAMAEndBearish + // + || + // + (mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest) + // + ) + // + ) // ) // @@ -5470,19 +5715,39 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXCHMASCOverMax - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXAMANeutural && - mConditions.isXTDBearishVale && - mConditions.isXTMStartBearish && - mConditions.isXCHLHMCLCHHSame) - // - ) + ( + // + mConditions.isXCHMASCOverMax + // + || + // + (mConditions.isXTSAllSame && + mConditions.isXAMANeutural && + mConditions.isXTDBearishVale && + mConditions.isXTMStartBearish && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXTSAllSame && + mConditions.isXLHLLIncreased) + // + ) + // + ) + // + ) + // + ) // ) // @@ -6168,17 +6433,55 @@ bool XUSPY5XTDHasShortSignal() // || // - ((mConditions.isXCHMASCTrendsUp && - mConditions.isXCHMASCFastOverSlow) && + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && ( // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && + (mConditions.isXCHMASCTrendsUp && ( // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMAMCTrendsUp && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXLHLLIncreased) + // + ) + // + ) // ) // @@ -6512,6 +6815,43 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXLHPriceCrossedUnderSignal && + ( + // + ((mConditions.isXTSAllSame && + mConditions.isXLHLowAttachedLL && + mConditions.isXCHMASCCrossedUnderMin && + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + (mConditions.isXTMStartBearish && + mConditions.isXAMAStartBearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) diff --git a/Documents/Templates/Brokers List.txt b/Documents/Templates/Brokers List.txt index fc4e83a6..e0e68953 100644 --- a/Documents/Templates/Brokers List.txt +++ b/Documents/Templates/Brokers List.txt @@ -16,7 +16,7 @@ XTD ---- Resolve XUSPY5 XTD All Stopouts in All Markets ... Resolve XUSPY5 XTD All Longs Critical Guard Attacks in All Markets ... -Resolve XUSPY5 XTD All Guard Attacks in ErranteSC ... +Resolve XUSPY5 XTD All Guard Attacks in Alpari ... XTAM 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 8f38eb73..a096f722 100644 --- a/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -2699,7 +2699,25 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMALCPeak && - mConditions.isXLHPriceInSignalRange) + ( + // + mConditions.isXLHPriceInSignalRange + // + || + // + (mConditions.isXCHMAMCVale && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2912,6 +2930,25 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + mConditions.isXCHMASCCrossedOverMin + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3462,6 +3499,31 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXTSCurrentUnderFarest && ( + // + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMNeutural && + mConditions.isXCHMALCPeak && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + ) + // + ) + // + ) + // + || // // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || @@ -3675,6 +3737,19 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXLHLLSameInLength && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCCrossedOverMax) + // + ) + // + ) + // + || // ((mConditions.isXLHHHSameInLength && mConditions.isXLHLLSameInLength) && @@ -3736,44 +3811,92 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceUnderSignal && ( // - ((mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCFastUnderSlow) && + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && + (mConditions.isXCHMAMCTrendsUp && ( // - (mConditions.isXCHMAMCVale && + (mConditions.isXCHMALCPeak && + mConditions.isXTDBearishVale && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXTDSignalCrossedOverBear) + // + || + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && ( // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXLHLLSameInLength && + (mConditions.isXCHMAMCVale && ( // - (mConditions.isXTMNeutural && - mConditions.isXLHLLDecreased) + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXCHMASCUnderMin) // || // - (mConditions.isXLHHHSameInLength && + (mConditions.isXLHLLSameInLength && ( // - (mConditions.isXTDBearishVale && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCLLSame) + (mConditions.isXTMNeutural && + mConditions.isXLHLLDecreased) + // + || + // + (mConditions.isXLHHHSameInLength && + ( + // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMStartBullish) + // + || + // + (mConditions.isXTDBearishVale && + mConditions.isXLHLLDecreased && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXCHMALCPeak && + ( + // + mConditions.isXAMABearish + // + || + // + mConditions.isXLHLLSameInLength + // + || + // + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceUnderSignal) + // + ) + // + ) + // + || + // + ((mConditions.isXTMStartBullish && + mConditions.isXAMAStartBullish) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXLHHHDecreased) // ) // @@ -3785,14 +3908,21 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && ( // - mConditions.isXAMABearish - // - || - // - mConditions.isXLHLLSameInLength + ((mConditions.isXTMNeutural && + mConditions.isXAMANeutural) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMin && + mConditions.isXTDBearishVale) + // + ) + // + ) // ) // @@ -3800,34 +3930,42 @@ bool XUSPY5XTDHasLongSignal() // || // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased) - // - ) - // - ) + (mConditions.isXTMNeutural && + mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) // ) // ) // - || + ) + // + ) + // + || + // + ((!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown) && + ( // ((mConditions.isXLHHHSameInLength && mConditions.isXLHLLSameInLength) && ( // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && + (mConditions.isXLHPriceUnderSignal && ( // (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXTDBearishVale) + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMAStartBullish) + // + ) + // + ) // ) // @@ -3837,14 +3975,6 @@ bool XUSPY5XTDHasLongSignal() // ) // - || - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXAMAStartBullish && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) - // ) // ) @@ -4339,6 +4469,13 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMStartBullish && + mConditions.isXCHLHSCMCLLSame) + // + || + // (mConditions.isXCHLHMCLCLLSame && mConditions.isXCHMASCCrossedOverMin && mConditions.isXTSCurrentCrossedOverFarest && @@ -4697,6 +4834,25 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXLHPriceCrossedOverSignal && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -4728,14 +4884,42 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceOverSignal && ( // - (mConditions.isXTSAllSame && - mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMASCOverMax && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) + ((mConditions.isXCHLHSCMCHHSame && + mConditions.isXTDSignalCrossedOverBear) && + ( + // + (mConditions.isXTSCurrentMax && + mConditions.isXLHHighAttachedHH) + // + || + // + (mConditions.isXTSAllSame && + mConditions.isXAMAStartBullish && + mConditions.isXLHPriceCrossedOverSignal) + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXCHMASCOverMax && + mConditions.isXTDBullOverBear) && + ( + // + (mConditions.isXTSAllSame && + mConditions.isXCHMASCCrossedOverMax) + // + || + // + (mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverMediest) + // + ) + // + ) + // + ) + // + ) // || // @@ -4765,6 +4949,32 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXCHLHSCMCHHSame && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -4783,6 +4993,29 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXLHHighAttachedHH) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5328,16 +5561,28 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceUnderSignal && ( // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && + (mConditions.isXLHHHSameInLength && ( // - mConditions.isXAMAEndBearish + (mConditions.isXTMBullish && + mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax) // || // - (mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) + (mConditions.isXLHLLSameInLength && + ( + // + mConditions.isXAMAEndBearish + // + || + // + (mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest) + // + ) + // + ) // ) // @@ -5470,19 +5715,39 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXCHMASCOverMax - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXAMANeutural && - mConditions.isXTDBearishVale && - mConditions.isXTMStartBearish && - mConditions.isXCHLHMCLCHHSame) - // - ) + ( + // + mConditions.isXCHMASCOverMax + // + || + // + (mConditions.isXTSAllSame && + mConditions.isXAMANeutural && + mConditions.isXTDBearishVale && + mConditions.isXTMStartBearish && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXTSAllSame && + mConditions.isXLHLLIncreased) + // + ) + // + ) + // + ) + // + ) // ) // @@ -6168,17 +6433,55 @@ bool XUSPY5XTDHasShortSignal() // || // - ((mConditions.isXCHMASCTrendsUp && - mConditions.isXCHMASCFastOverSlow) && + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && ( // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && + (mConditions.isXCHMASCTrendsUp && ( // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMAMCTrendsUp && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXLHLLIncreased) + // + ) + // + ) // ) // @@ -6512,6 +6815,43 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXLHPriceCrossedUnderSignal && + ( + // + ((mConditions.isXTSAllSame && + mConditions.isXLHLowAttachedLL && + mConditions.isXCHMASCCrossedUnderMin && + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + (mConditions.isXTMStartBearish && + mConditions.isXAMAStartBearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) diff --git a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 index 8f38eb73..a096f722 100644 --- a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -2699,7 +2699,25 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMALCPeak && - mConditions.isXLHPriceInSignalRange) + ( + // + mConditions.isXLHPriceInSignalRange + // + || + // + (mConditions.isXCHMAMCVale && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -2912,6 +2930,25 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + mConditions.isXCHMASCCrossedOverMin + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3462,6 +3499,31 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXTSCurrentUnderFarest && ( + // + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMNeutural && + mConditions.isXCHMALCPeak && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + ) + // + ) + // + ) + // + || // // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || @@ -3675,6 +3737,19 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXLHLLSameInLength && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCCrossedOverMax) + // + ) + // + ) + // + || // ((mConditions.isXLHHHSameInLength && mConditions.isXLHLLSameInLength) && @@ -3736,44 +3811,92 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceUnderSignal && ( // - ((mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCFastUnderSlow) && + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && + (mConditions.isXCHMAMCTrendsUp && ( // - (mConditions.isXCHMAMCVale && + (mConditions.isXCHMALCPeak && + mConditions.isXTDBearishVale && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXTDSignalCrossedOverBear) + // + || + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastOverSlow) && ( // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXLHLLSameInLength && + (mConditions.isXCHMAMCVale && ( // - (mConditions.isXTMNeutural && - mConditions.isXLHLLDecreased) + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXCHMASCUnderMin) // || // - (mConditions.isXLHHHSameInLength && + (mConditions.isXLHLLSameInLength && ( // - (mConditions.isXTDBearishVale && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCLLSame) + (mConditions.isXTMNeutural && + mConditions.isXLHLLDecreased) + // + || + // + (mConditions.isXLHHHSameInLength && + ( + // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMStartBullish) + // + || + // + (mConditions.isXTDBearishVale && + mConditions.isXLHLLDecreased && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXCHMALCPeak && + ( + // + mConditions.isXAMABearish + // + || + // + mConditions.isXLHLLSameInLength + // + || + // + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceUnderSignal) + // + ) + // + ) + // + || + // + ((mConditions.isXTMStartBullish && + mConditions.isXAMAStartBullish) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXLHHHDecreased) // ) // @@ -3785,14 +3908,21 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && ( // - mConditions.isXAMABearish - // - || - // - mConditions.isXLHLLSameInLength + ((mConditions.isXTMNeutural && + mConditions.isXAMANeutural) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMin && + mConditions.isXTDBearishVale) + // + ) + // + ) // ) // @@ -3800,34 +3930,42 @@ bool XUSPY5XTDHasLongSignal() // || // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased) - // - ) - // - ) + (mConditions.isXTMNeutural && + mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) // ) // ) // - || + ) + // + ) + // + || + // + ((!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown) && + ( // ((mConditions.isXLHHHSameInLength && mConditions.isXLHLLSameInLength) && ( // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && + (mConditions.isXLHPriceUnderSignal && ( // (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXTDBearishVale) + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMAStartBullish) + // + ) + // + ) // ) // @@ -3837,14 +3975,6 @@ bool XUSPY5XTDHasLongSignal() // ) // - || - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXAMAStartBullish && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) - // ) // ) @@ -4339,6 +4469,13 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXAMAVale && + mConditions.isXAMABearish && + mConditions.isXTMStartBullish && + mConditions.isXCHLHSCMCLLSame) + // + || + // (mConditions.isXCHLHMCLCLLSame && mConditions.isXCHMASCCrossedOverMin && mConditions.isXTSCurrentCrossedOverFarest && @@ -4697,6 +4834,25 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXLHPriceCrossedOverSignal && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -4728,14 +4884,42 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceOverSignal && ( // - (mConditions.isXTSAllSame && - mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMASCOverMax && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) + ((mConditions.isXCHLHSCMCHHSame && + mConditions.isXTDSignalCrossedOverBear) && + ( + // + (mConditions.isXTSCurrentMax && + mConditions.isXLHHighAttachedHH) + // + || + // + (mConditions.isXTSAllSame && + mConditions.isXAMAStartBullish && + mConditions.isXLHPriceCrossedOverSignal) + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXCHMASCOverMax && + mConditions.isXTDBullOverBear) && + ( + // + (mConditions.isXTSAllSame && + mConditions.isXCHMASCCrossedOverMax) + // + || + // + (mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverMediest) + // + ) + // + ) + // + ) + // + ) // || // @@ -4765,6 +4949,32 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXTSCurrentMax && + ( + // + (mConditions.isXCHLHSCMCHHSame && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -4783,6 +4993,29 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((!mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + ( + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXLHHighAttachedHH) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5328,16 +5561,28 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceUnderSignal && ( // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && + (mConditions.isXLHHHSameInLength && ( // - mConditions.isXAMAEndBearish + (mConditions.isXTMBullish && + mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax) // || // - (mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) + (mConditions.isXLHLLSameInLength && + ( + // + mConditions.isXAMAEndBearish + // + || + // + (mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest) + // + ) + // + ) // ) // @@ -5470,19 +5715,39 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXCHMASCOverMax - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXAMANeutural && - mConditions.isXTDBearishVale && - mConditions.isXTMStartBearish && - mConditions.isXCHLHMCLCHHSame) - // - ) + ( + // + mConditions.isXCHMASCOverMax + // + || + // + (mConditions.isXTSAllSame && + mConditions.isXAMANeutural && + mConditions.isXTDBearishVale && + mConditions.isXTMStartBearish && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceInSignalRange && + ( + // + (mConditions.isXTSAllSame && + mConditions.isXLHLLIncreased) + // + ) + // + ) + // + ) + // + ) // ) // @@ -6168,17 +6433,55 @@ bool XUSPY5XTDHasShortSignal() // || // - ((mConditions.isXCHMASCTrendsUp && - mConditions.isXCHMASCFastOverSlow) && + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && ( // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && + (mConditions.isXCHMASCTrendsUp && ( // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check if MC Fast Over Slow ... + ((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMAMCTrendsUp && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXLHLLIncreased) + // + ) + // + ) // ) // @@ -6512,6 +6815,43 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXLHPriceCrossedUnderSignal && + ( + // + ((mConditions.isXTSAllSame && + mConditions.isXLHLowAttachedLL && + mConditions.isXCHMASCCrossedUnderMin && + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + (mConditions.isXTMStartBearish && + mConditions.isXAMAStartBearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // )