From 8a7eacd950dc2d650fa1c2f5e6a4963a1e38f9f2 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Mon, 4 Mar 2024 15:32:20 +0330 Subject: [PATCH] Resolve XUSPY5 XTD All Guard Attacks in HFMarkets ... --- ...aherelm.xuspy5.provider.indicators.lib.mq5 | 527 +++++++++++++++++- Documents/Templates/Brokers List.txt | 2 +- ...aherelm.xuspy5.provider.indicators.lib.mq5 | 527 +++++++++++++++++- ...aherelm.xuspy5.provider.indicators.lib.mq5 | 527 +++++++++++++++++- 4 files changed, 1501 insertions(+), 82 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 93dc18f3..65cc3eb3 100644 --- a/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -2507,6 +2507,13 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXLHLLSameInLength && mConditions.isXLHPriceInSignalRange) // + || + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXCHMALCFastUnderSlow) + // ) // ) @@ -2662,6 +2669,20 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMALCVale && mConditions.isXCHMASCUnderMin) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // ) // ) @@ -2725,7 +2746,17 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame) + ( + // + mConditions.isXCHLHMCLCHHSame + // + || + // + mConditions.isXLHHHSameInLength + // + ) + // + ) // || // @@ -2843,11 +2874,22 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) + ((mConditions.isXCHMALCPeak && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength) && + ( + // + (mConditions.isXAMANeutural && + mConditions.isXLHLLSameInLength) + // + || + // + (mConditions.isXLHLLIncreased && + mConditions.isXLHPriceInSignalRange) + // + ) + // + ) // ) // @@ -2892,6 +2934,34 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + ((mConditions.isXCHMALCPeak && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3076,6 +3146,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHPriceUnderSignal) + // + || + // (mConditions.isXTDBearishVale && ( // @@ -3089,6 +3165,12 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXTMStartBearish && mConditions.isXAMAStartBearish) // + || + // + (mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHLLSameInLength) + // ) // ) @@ -3257,6 +3339,34 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXLHPriceInSignalRange && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXTDBearishVale && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3321,6 +3431,12 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXCHMALCVale && + mConditions.isXCHMASCUnderMin) + // + || // (mConditions.isXCHMALCPeak && ( @@ -3388,6 +3504,83 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMALCVale && mConditions.isXLHLLIncreased) // + || + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + || + // + ((mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXLHPriceUnderSignal && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXLHPriceOverSignal && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // ) // ) @@ -3436,6 +3629,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXTMNeutural && + mConditions.isXLHLLDecreased && + mConditions.isXLHLLSameInLength) + // + || + // (mConditions.isXCHMALCPeak && ( // @@ -3585,6 +3784,29 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + (mConditions.isXAMAVale && + mConditions.isXCHMAMCVale && + mConditions.isXCHMALCPeak && + mConditions.isXAMANeutural && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3640,6 +3862,13 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXLHLLIncreased && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame) + // + || // (mConditions.isXLHHHSameInLength && ( @@ -3653,8 +3882,29 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMASCOverMax && - mConditions.isXLHLLSameInLength) + (mConditions.isXLHLLSameInLength && + ( + // + mConditions.isXCHMASCOverMax + // + || + // + (mConditions.isXTDBearishVale && + ( + // + mConditions.isXAMANeutural + // + || + // + mConditions.isXTMStartBullish + // + ) + // + ) + // + ) + // + ) // ) // @@ -3921,6 +4171,20 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXTSCurrentMax && mConditions.isXCHLHMCLCLLSame) // + || + // + ((mConditions.isXTSAllSame && + mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // ) // ) @@ -4068,6 +4332,12 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXTSCurrentMax && mConditions.isXCHMASCOverMax) && ( + // + (mConditions.isXTMStartBullish && + mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceOverSignal) + // + || // ((mConditions.isXCHLHSCMCHHSame && mConditions.isXCHLHMCLCLLSame) && @@ -4121,8 +4391,27 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) + ( + // + (mConditions.isXCHMASCOverMax && + mConditions.isXCHMASCCrossedOverMax) + // + || + // + ((mConditions.isXTSCurrentMax && + mConditions.isXCHLHMCLCHHSame) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4138,9 +4427,26 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXLHPriceOverSignal && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverNearest) + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax) && + ( + // + mConditions.isXTSCurrentCrossedOverNearest + // + || + // + (mConditions.isXTMNeutural && + mConditions.isXAMAStartBullish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4478,8 +4784,20 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXLHLLDecreased && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) + ( + // + (mConditions.isXTMStartBullish && + mConditions.isXAMAStartBullish) + // + || + // + (mConditions.isXAMANeutural && + mConditions.isXTMStartBullish && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + ) // ) // @@ -4694,12 +5012,22 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceInSignalRange && ( // - (mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXTDSignalCrossedOverBear) + ((mConditions.isXTSCurrentMax && + mConditions.isXLHLLDecreased && + mConditions.isXTMStartBullish && + mConditions.isXCHLHMCLCHHSame) && + ( + // + mConditions.isXAMANeutural + // + || + // + (mConditions.isXAMAStartBullish && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) // ) // @@ -4759,6 +5087,13 @@ bool XUSPY5XTDHasLongSignal() // || // + (!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown && + mConditions.isXLHHHSameInLength && + mConditions.isXTSCurrentCrossedOverNearest) + // + || + // ((mConditions.isXCHLHSCMCHHSame && mConditions.isXLHHighAttachedHH) && ( @@ -4779,6 +5114,14 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXLHHighAttachedHH) + // + || // (mConditions.isXLHLLSameInLength && ( @@ -4788,11 +5131,27 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) + ((mConditions.isXCHMALCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXTSCurrentCrossedOverNearest) && + ( + // + (mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverMediest) + // + || + // + (mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXTDBullOverBear && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) // ) // @@ -5355,6 +5714,28 @@ bool XUSPY5XTDHasShortSignal() mConditions.isXAMAStartBearish && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + ((mConditions.isXCHMASCTrendsUp && + mConditions.isXCHMASCFastOverSlow) && + ( + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5363,6 +5744,36 @@ bool XUSPY5XTDHasShortSignal() // (mConditions.isXTSCurrentOverMediest && ( + // + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMASCTrendsUp && + ( + // + ((mConditions.isXTDBullOverBear && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || // (mConditions.isXTSCurrentOverFarest && ( @@ -5658,6 +6069,27 @@ bool XUSPY5XTDHasShortSignal() // (mConditions.isXTDBullOverBear && ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCPeak) && + ( + // + ((mConditions.isXTSCurrentMin && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + || // (((mConditions.isXTMEndBullish && mConditions.isXAMAEndBullish) || @@ -5691,6 +6123,25 @@ bool XUSPY5XTDHasShortSignal() // || // + // Check LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXCHMALCPeak && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural && + mConditions.isXTSCurrentMin && + mConditions.isXLHHHDecreased && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + || + // ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( @@ -5724,7 +6175,29 @@ bool XUSPY5XTDHasShortSignal() // ) // - )) + ) + // + ) + // + ) + // + ) + // + || + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + (mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXCHMASCUnderMin && + mConditions.isXTMStartBearish && + mConditions.isXLHLowAttachedLL && + mConditions.isXAMAStartBearish && + mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXLHPriceCrossedUnderSignal) // ) // diff --git a/Documents/Templates/Brokers List.txt b/Documents/Templates/Brokers List.txt index 0ef7905c..e21f491d 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 OANDA, MetaQuotes ... +Resolve XUSPY5 XTD All Guard Attacks in AMarkets-Demo ... 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 93dc18f3..65cc3eb3 100644 --- a/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -2507,6 +2507,13 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXLHLLSameInLength && mConditions.isXLHPriceInSignalRange) // + || + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXCHMALCFastUnderSlow) + // ) // ) @@ -2662,6 +2669,20 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMALCVale && mConditions.isXCHMASCUnderMin) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // ) // ) @@ -2725,7 +2746,17 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame) + ( + // + mConditions.isXCHLHMCLCHHSame + // + || + // + mConditions.isXLHHHSameInLength + // + ) + // + ) // || // @@ -2843,11 +2874,22 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) + ((mConditions.isXCHMALCPeak && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength) && + ( + // + (mConditions.isXAMANeutural && + mConditions.isXLHLLSameInLength) + // + || + // + (mConditions.isXLHLLIncreased && + mConditions.isXLHPriceInSignalRange) + // + ) + // + ) // ) // @@ -2892,6 +2934,34 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + ((mConditions.isXCHMALCPeak && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3076,6 +3146,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHPriceUnderSignal) + // + || + // (mConditions.isXTDBearishVale && ( // @@ -3089,6 +3165,12 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXTMStartBearish && mConditions.isXAMAStartBearish) // + || + // + (mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHLLSameInLength) + // ) // ) @@ -3257,6 +3339,34 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXLHPriceInSignalRange && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXTDBearishVale && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3321,6 +3431,12 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXCHMALCVale && + mConditions.isXCHMASCUnderMin) + // + || // (mConditions.isXCHMALCPeak && ( @@ -3388,6 +3504,83 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMALCVale && mConditions.isXLHLLIncreased) // + || + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + || + // + ((mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXLHPriceUnderSignal && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXLHPriceOverSignal && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // ) // ) @@ -3436,6 +3629,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXTMNeutural && + mConditions.isXLHLLDecreased && + mConditions.isXLHLLSameInLength) + // + || + // (mConditions.isXCHMALCPeak && ( // @@ -3585,6 +3784,29 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + (mConditions.isXAMAVale && + mConditions.isXCHMAMCVale && + mConditions.isXCHMALCPeak && + mConditions.isXAMANeutural && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3640,6 +3862,13 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXLHLLIncreased && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame) + // + || // (mConditions.isXLHHHSameInLength && ( @@ -3653,8 +3882,29 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMASCOverMax && - mConditions.isXLHLLSameInLength) + (mConditions.isXLHLLSameInLength && + ( + // + mConditions.isXCHMASCOverMax + // + || + // + (mConditions.isXTDBearishVale && + ( + // + mConditions.isXAMANeutural + // + || + // + mConditions.isXTMStartBullish + // + ) + // + ) + // + ) + // + ) // ) // @@ -3921,6 +4171,20 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXTSCurrentMax && mConditions.isXCHLHMCLCLLSame) // + || + // + ((mConditions.isXTSAllSame && + mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // ) // ) @@ -4068,6 +4332,12 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXTSCurrentMax && mConditions.isXCHMASCOverMax) && ( + // + (mConditions.isXTMStartBullish && + mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceOverSignal) + // + || // ((mConditions.isXCHLHSCMCHHSame && mConditions.isXCHLHMCLCLLSame) && @@ -4121,8 +4391,27 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) + ( + // + (mConditions.isXCHMASCOverMax && + mConditions.isXCHMASCCrossedOverMax) + // + || + // + ((mConditions.isXTSCurrentMax && + mConditions.isXCHLHMCLCHHSame) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4138,9 +4427,26 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXLHPriceOverSignal && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverNearest) + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax) && + ( + // + mConditions.isXTSCurrentCrossedOverNearest + // + || + // + (mConditions.isXTMNeutural && + mConditions.isXAMAStartBullish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4478,8 +4784,20 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXLHLLDecreased && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) + ( + // + (mConditions.isXTMStartBullish && + mConditions.isXAMAStartBullish) + // + || + // + (mConditions.isXAMANeutural && + mConditions.isXTMStartBullish && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + ) // ) // @@ -4694,12 +5012,22 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceInSignalRange && ( // - (mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXTDSignalCrossedOverBear) + ((mConditions.isXTSCurrentMax && + mConditions.isXLHLLDecreased && + mConditions.isXTMStartBullish && + mConditions.isXCHLHMCLCHHSame) && + ( + // + mConditions.isXAMANeutural + // + || + // + (mConditions.isXAMAStartBullish && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) // ) // @@ -4759,6 +5087,13 @@ bool XUSPY5XTDHasLongSignal() // || // + (!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown && + mConditions.isXLHHHSameInLength && + mConditions.isXTSCurrentCrossedOverNearest) + // + || + // ((mConditions.isXCHLHSCMCHHSame && mConditions.isXLHHighAttachedHH) && ( @@ -4779,6 +5114,14 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXLHHighAttachedHH) + // + || // (mConditions.isXLHLLSameInLength && ( @@ -4788,11 +5131,27 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) + ((mConditions.isXCHMALCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXTSCurrentCrossedOverNearest) && + ( + // + (mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverMediest) + // + || + // + (mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXTDBullOverBear && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) // ) // @@ -5355,6 +5714,28 @@ bool XUSPY5XTDHasShortSignal() mConditions.isXAMAStartBearish && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + ((mConditions.isXCHMASCTrendsUp && + mConditions.isXCHMASCFastOverSlow) && + ( + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5363,6 +5744,36 @@ bool XUSPY5XTDHasShortSignal() // (mConditions.isXTSCurrentOverMediest && ( + // + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMASCTrendsUp && + ( + // + ((mConditions.isXTDBullOverBear && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || // (mConditions.isXTSCurrentOverFarest && ( @@ -5658,6 +6069,27 @@ bool XUSPY5XTDHasShortSignal() // (mConditions.isXTDBullOverBear && ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCPeak) && + ( + // + ((mConditions.isXTSCurrentMin && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + || // (((mConditions.isXTMEndBullish && mConditions.isXAMAEndBullish) || @@ -5691,6 +6123,25 @@ bool XUSPY5XTDHasShortSignal() // || // + // Check LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXCHMALCPeak && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural && + mConditions.isXTSCurrentMin && + mConditions.isXLHHHDecreased && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + || + // ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( @@ -5724,7 +6175,29 @@ bool XUSPY5XTDHasShortSignal() // ) // - )) + ) + // + ) + // + ) + // + ) + // + || + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + (mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXCHMASCUnderMin && + mConditions.isXTMStartBearish && + mConditions.isXLHLowAttachedLL && + mConditions.isXAMAStartBearish && + mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXLHPriceCrossedUnderSignal) // ) // diff --git a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 index 93dc18f3..65cc3eb3 100644 --- a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -2507,6 +2507,13 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXLHLLSameInLength && mConditions.isXLHPriceInSignalRange) // + || + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength && + mConditions.isXCHMALCFastUnderSlow) + // ) // ) @@ -2662,6 +2669,20 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMALCVale && mConditions.isXCHMASCUnderMin) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // ) // ) @@ -2725,7 +2746,17 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame) + ( + // + mConditions.isXCHLHMCLCHHSame + // + || + // + mConditions.isXLHHHSameInLength + // + ) + // + ) // || // @@ -2843,11 +2874,22 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) + ((mConditions.isXCHMALCPeak && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXLHHHSameInLength) && + ( + // + (mConditions.isXAMANeutural && + mConditions.isXLHLLSameInLength) + // + || + // + (mConditions.isXLHLLIncreased && + mConditions.isXLHPriceInSignalRange) + // + ) + // + ) // ) // @@ -2892,6 +2934,34 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + ((mConditions.isXCHMALCPeak && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3076,6 +3146,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHPriceUnderSignal) + // + || + // (mConditions.isXTDBearishVale && ( // @@ -3089,6 +3165,12 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXTMStartBearish && mConditions.isXAMAStartBearish) // + || + // + (mConditions.isXCHMALCPeak && + mConditions.isXAMAStartBullish && + mConditions.isXLHLLSameInLength) + // ) // ) @@ -3257,6 +3339,34 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + (mConditions.isXLHPriceInSignalRange && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXTDBearishVale && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3321,6 +3431,12 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXCHMALCVale && + mConditions.isXCHMASCUnderMin) + // + || // (mConditions.isXCHMALCPeak && ( @@ -3388,6 +3504,83 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXCHMALCVale && mConditions.isXLHLLIncreased) // + || + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + || + // + ((mConditions.isXCHMASCOverMin && + mConditions.isXCHMASCUnderMax) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXLHPriceUnderSignal && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + (mConditions.isXLHPriceOverSignal && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // ) // ) @@ -3436,6 +3629,12 @@ bool XUSPY5XTDHasLongSignal() // || // + (mConditions.isXTMNeutural && + mConditions.isXLHLLDecreased && + mConditions.isXLHLLSameInLength) + // + || + // (mConditions.isXCHMALCPeak && ( // @@ -3585,6 +3784,29 @@ bool XUSPY5XTDHasLongSignal() // ) // + || + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceOverSignal && + ( + // + (mConditions.isXAMAVale && + mConditions.isXCHMAMCVale && + mConditions.isXCHMALCPeak && + mConditions.isXAMANeutural && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -3640,6 +3862,13 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXLHLLIncreased && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame) + // + || // (mConditions.isXLHHHSameInLength && ( @@ -3653,8 +3882,29 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMASCOverMax && - mConditions.isXLHLLSameInLength) + (mConditions.isXLHLLSameInLength && + ( + // + mConditions.isXCHMASCOverMax + // + || + // + (mConditions.isXTDBearishVale && + ( + // + mConditions.isXAMANeutural + // + || + // + mConditions.isXTMStartBullish + // + ) + // + ) + // + ) + // + ) // ) // @@ -3921,6 +4171,20 @@ bool XUSPY5XTDHasLongSignal() mConditions.isXTSCurrentMax && mConditions.isXCHLHMCLCLLSame) // + || + // + ((mConditions.isXTSAllSame && + mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // ) // ) @@ -4068,6 +4332,12 @@ bool XUSPY5XTDHasLongSignal() ((mConditions.isXTSCurrentMax && mConditions.isXCHMASCOverMax) && ( + // + (mConditions.isXTMStartBullish && + mConditions.isXLHHHSameInLength && + mConditions.isXLHPriceOverSignal) + // + || // ((mConditions.isXCHLHSCMCHHSame && mConditions.isXCHLHMCLCLLSame) && @@ -4121,8 +4391,27 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) + ( + // + (mConditions.isXCHMASCOverMax && + mConditions.isXCHMASCCrossedOverMax) + // + || + // + ((mConditions.isXTSCurrentMax && + mConditions.isXCHLHMCLCHHSame) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4138,9 +4427,26 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXLHPriceOverSignal && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverNearest) + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax) && + ( + // + mConditions.isXTSCurrentCrossedOverNearest + // + || + // + (mConditions.isXTMNeutural && + mConditions.isXAMAStartBullish) + // + ) + // + ) + // + ) + // + ) // ) // @@ -4478,8 +4784,20 @@ bool XUSPY5XTDHasLongSignal() ( // (mConditions.isXLHLLDecreased && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) + ( + // + (mConditions.isXTMStartBullish && + mConditions.isXAMAStartBullish) + // + || + // + (mConditions.isXAMANeutural && + mConditions.isXTMStartBullish && + mConditions.isXCHLHMCLCHHSame) + // + ) + // + ) // ) // @@ -4694,12 +5012,22 @@ bool XUSPY5XTDHasLongSignal() (mConditions.isXLHPriceInSignalRange && ( // - (mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXTDSignalCrossedOverBear) + ((mConditions.isXTSCurrentMax && + mConditions.isXLHLLDecreased && + mConditions.isXTMStartBullish && + mConditions.isXCHLHMCLCHHSame) && + ( + // + mConditions.isXAMANeutural + // + || + // + (mConditions.isXAMAStartBullish && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) // ) // @@ -4759,6 +5087,13 @@ bool XUSPY5XTDHasLongSignal() // || // + (!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown && + mConditions.isXLHHHSameInLength && + mConditions.isXTSCurrentCrossedOverNearest) + // + || + // ((mConditions.isXCHLHSCMCHHSame && mConditions.isXLHHighAttachedHH) && ( @@ -4779,6 +5114,14 @@ bool XUSPY5XTDHasLongSignal() // (mConditions.isXLHPriceOverSignal && ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXLHHighAttachedHH) + // + || // (mConditions.isXLHLLSameInLength && ( @@ -4788,11 +5131,27 @@ bool XUSPY5XTDHasLongSignal() // || // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) + ((mConditions.isXCHMALCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXTSCurrentCrossedOverNearest) && + ( + // + (mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverMediest) + // + || + // + (mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXTDBullOverBear && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) // ) // @@ -5355,6 +5714,28 @@ bool XUSPY5XTDHasShortSignal() mConditions.isXAMAStartBearish && mConditions.isXTSCurrentCrossedOverNearest) // + || + // + ((mConditions.isXCHMASCTrendsUp && + mConditions.isXCHMASCFastOverSlow) && + ( + // + ((mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -5363,6 +5744,36 @@ bool XUSPY5XTDHasShortSignal() // (mConditions.isXTSCurrentOverMediest && ( + // + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMASCTrendsUp && + ( + // + ((mConditions.isXTDBullOverBear && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || // (mConditions.isXTSCurrentOverFarest && ( @@ -5658,6 +6069,27 @@ bool XUSPY5XTDHasShortSignal() // (mConditions.isXTDBullOverBear && ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCPeak) && + ( + // + ((mConditions.isXTSCurrentMin && + mConditions.isXCHMASCOverMax) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + || // (((mConditions.isXTMEndBullish && mConditions.isXAMAEndBullish) || @@ -5691,6 +6123,25 @@ bool XUSPY5XTDHasShortSignal() // || // + // Check LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXCHMALCPeak && + mConditions.isXTMNeutural && + mConditions.isXAMANeutural && + mConditions.isXTSCurrentMin && + mConditions.isXLHHHDecreased && + mConditions.isXCHLHMCLCLLSame) + // + ) + // + ) + // + || + // ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( @@ -5724,7 +6175,29 @@ bool XUSPY5XTDHasShortSignal() // ) // - )) + ) + // + ) + // + ) + // + ) + // + || + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + (mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXCHMASCUnderMin && + mConditions.isXTMStartBearish && + mConditions.isXLHLowAttachedLL && + mConditions.isXAMAStartBearish && + mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXLHPriceCrossedUnderSignal) // ) //