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 21fee826..e9e59b19 100644 --- a/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -6977,6 +6977,55 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + (mConditions.isXTDBullOverBear && + ( + // + ((!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + ((mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXTSCurrentCrossedUnderNearest) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + || + // + (mConditions.isXTMEndBearish && + mConditions.isXAMAEndBearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -7095,10 +7144,120 @@ bool XUSPY5XTDHasShortSignal() // isXTDBullOverBear (mConditions.isXTDBullOverBear && ( + // + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHMASCUnderMin && + mConditions.isXTDSignalCrossedUnderBear) && + ( + // + (mConditions.isXTMBearish && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin) && + ( + // + ((mConditions.isXTMBearish && + mConditions.isXAMABearish) && + ( + // + (mConditions.isXCHLHSCMCLLSame && + ( + // + (mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) + // + || + // + (mConditions.isXCHMALCPeak && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXAMAStartBearish && + mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXTSCurrentCrossedUnderNearest) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || // ((mConditions.isXCHMALCVale && mConditions.isXTSCurrentMin) && ( + // + ((mConditions.isXCHMAMCTrendsUp && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + || // (mConditions.isXCHMASCUnderMin && ( @@ -11571,13 +11730,55 @@ bool XUSPY5XTAMHasShortSignal() mConditions.isXCHMALCFastCrossedOverSlow) && ( // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) + (mConditions.isXCHMALCPeak && + ( + // + ((!mConditions.isXCHMASCTrendsUp && + !mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin) && + ( + // + ((mConditions.isXTDBullUnderBear && + mConditions.isXTDSignalUnderBear) && + ( + // + (mConditions.isXTMBearish && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTSCurrentCrossedOverNearest && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) + // + ) + // + ) + // + ) // ) // @@ -13357,7 +13558,17 @@ bool XUSPY5XTAMHasShortSignal() mConditions.isXCHMALCFastCrossedOverSlow) && ( // - false + (mConditions.isXTDBullOverBear && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) // ) // @@ -13580,6 +13791,20 @@ bool XUSPY5XTAMHasShortSignal() ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( + // + (mConditions.isXTDBullOverBear && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) + // + || // ((mConditions.isXTDSignalVale && mConditions.isXTDBullishVale && @@ -35977,6 +36202,20 @@ bool XUSPY5XTSFIHasShortSignal() // || // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXFIOverZero && + mConditions.isXCHMALCPeak && + mConditions.isXCHMALCFastOverSlow) + // + ) + // + ) + // + || + // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( @@ -39080,11 +39319,22 @@ bool XUSPY5XTSFIHasShortSignal() (mConditions.isXTSCurrentCrossedOverMediest && ( // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLIncreased && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) + ((mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXTDBullUnderBear && + mConditions.isXTDSignalUnderBear) + // + || + // + (mConditions.isXLHLLIncreased && + mConditions.isXCHMASCCrossedUnderMin) + // + ) + // + ) // ) // @@ -51172,6 +51422,20 @@ bool XUSPY5XCHMACCHasShortSignal() mConditions.isXLHLowAttachedLL && mConditions.isXTSCurrentCrossedUnderNearest) // + || + // + ((mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXTSCurrentOverMediest && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) + // + ) + // ) // ) 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 21fee826..e9e59b19 100644 --- a/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Projects/XUSPY5/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -6977,6 +6977,55 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + (mConditions.isXTDBullOverBear && + ( + // + ((!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + ((mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXTSCurrentCrossedUnderNearest) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + || + // + (mConditions.isXTMEndBearish && + mConditions.isXAMAEndBearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -7095,10 +7144,120 @@ bool XUSPY5XTDHasShortSignal() // isXTDBullOverBear (mConditions.isXTDBullOverBear && ( + // + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHMASCUnderMin && + mConditions.isXTDSignalCrossedUnderBear) && + ( + // + (mConditions.isXTMBearish && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin) && + ( + // + ((mConditions.isXTMBearish && + mConditions.isXAMABearish) && + ( + // + (mConditions.isXCHLHSCMCLLSame && + ( + // + (mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) + // + || + // + (mConditions.isXCHMALCPeak && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXAMAStartBearish && + mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXTSCurrentCrossedUnderNearest) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || // ((mConditions.isXCHMALCVale && mConditions.isXTSCurrentMin) && ( + // + ((mConditions.isXCHMAMCTrendsUp && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + || // (mConditions.isXCHMASCUnderMin && ( @@ -11571,13 +11730,55 @@ bool XUSPY5XTAMHasShortSignal() mConditions.isXCHMALCFastCrossedOverSlow) && ( // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) + (mConditions.isXCHMALCPeak && + ( + // + ((!mConditions.isXCHMASCTrendsUp && + !mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin) && + ( + // + ((mConditions.isXTDBullUnderBear && + mConditions.isXTDSignalUnderBear) && + ( + // + (mConditions.isXTMBearish && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTSCurrentCrossedOverNearest && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) + // + ) + // + ) + // + ) // ) // @@ -13357,7 +13558,17 @@ bool XUSPY5XTAMHasShortSignal() mConditions.isXCHMALCFastCrossedOverSlow) && ( // - false + (mConditions.isXTDBullOverBear && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) // ) // @@ -13580,6 +13791,20 @@ bool XUSPY5XTAMHasShortSignal() ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( + // + (mConditions.isXTDBullOverBear && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) + // + || // ((mConditions.isXTDSignalVale && mConditions.isXTDBullishVale && @@ -35977,6 +36202,20 @@ bool XUSPY5XTSFIHasShortSignal() // || // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXFIOverZero && + mConditions.isXCHMALCPeak && + mConditions.isXCHMALCFastOverSlow) + // + ) + // + ) + // + || + // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( @@ -39080,11 +39319,22 @@ bool XUSPY5XTSFIHasShortSignal() (mConditions.isXTSCurrentCrossedOverMediest && ( // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLIncreased && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) + ((mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXTDBullUnderBear && + mConditions.isXTDSignalUnderBear) + // + || + // + (mConditions.isXLHLLIncreased && + mConditions.isXCHMASCCrossedUnderMin) + // + ) + // + ) // ) // @@ -51172,6 +51422,20 @@ bool XUSPY5XCHMACCHasShortSignal() mConditions.isXLHLowAttachedLL && mConditions.isXTSCurrentCrossedUnderNearest) // + || + // + ((mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXTSCurrentOverMediest && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) + // + ) + // ) // ) diff --git a/Projects/XUSPY5/Settings/Shorts.set b/Projects/XUSPY5/Settings/Shorts.set new file mode 100644 index 00000000..ec9a2f0d Binary files /dev/null and b/Projects/XUSPY5/Settings/Shorts.set differ diff --git a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 index 21fee826..e9e59b19 100644 --- a/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 @@ -6977,6 +6977,55 @@ bool XUSPY5XTDHasShortSignal() // ) // + || + // + (mConditions.isXTDBullOverBear && + ( + // + ((!mConditions.isXCHMAMCTrendsUp && + !mConditions.isXCHMAMCTrendsDown && + mConditions.isXCHMAMCFastUnderSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + ((mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXTSCurrentCrossedUnderNearest) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + || + // + (mConditions.isXTMEndBearish && + mConditions.isXAMAEndBearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -7095,10 +7144,120 @@ bool XUSPY5XTDHasShortSignal() // isXTDBullOverBear (mConditions.isXTDBullOverBear && ( + // + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + ((mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHMASCUnderMin && + mConditions.isXTDSignalCrossedUnderBear) && + ( + // + (mConditions.isXTMBearish && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin) && + ( + // + ((mConditions.isXTMBearish && + mConditions.isXAMABearish) && + ( + // + (mConditions.isXCHLHSCMCLLSame && + ( + // + (mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) + // + || + // + (mConditions.isXCHMALCPeak && + ( + // + ((mConditions.isXLHHHSameInLength && + mConditions.isXLHLLSameInLength) && + ( + // + (mConditions.isXLHPriceUnderSignal && + ( + // + (mConditions.isXAMAStartBearish && + mConditions.isXTDSignalCrossedUnderBear && + mConditions.isXTSCurrentCrossedUnderNearest) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || // ((mConditions.isXCHMALCVale && mConditions.isXTSCurrentMin) && ( + // + ((mConditions.isXCHMAMCTrendsUp && + mConditions.isXCHMAMCFastOverSlow) && + ( + // + ((mConditions.isXCHMALCTrendsDown && + mConditions.isXCHMALCFastUnderSlow) && + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural) + // + ) + // + ) + // + ) + // + ) + // + || // (mConditions.isXCHMASCUnderMin && ( @@ -11571,13 +11730,55 @@ bool XUSPY5XTAMHasShortSignal() mConditions.isXCHMALCFastCrossedOverSlow) && ( // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) + (mConditions.isXCHMALCPeak && + ( + // + ((!mConditions.isXCHMASCTrendsUp && + !mConditions.isXCHMASCTrendsDown && + mConditions.isXCHMASCFastUnderSlow) && + ( + // + ((mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin) && + ( + // + ((mConditions.isXTDBullUnderBear && + mConditions.isXTDSignalUnderBear) && + ( + // + (mConditions.isXTMBearish && + mConditions.isXAMABearish) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ) + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest && + mConditions.isXTSCurrentCrossedOverNearest && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) + // + ) + // + ) + // + ) // ) // @@ -13357,7 +13558,17 @@ bool XUSPY5XTAMHasShortSignal() mConditions.isXCHMALCFastCrossedOverSlow) && ( // - false + (mConditions.isXTDBullOverBear && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) // ) // @@ -13580,6 +13791,20 @@ bool XUSPY5XTAMHasShortSignal() ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( + // + (mConditions.isXTDBullOverBear && + ( + // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMin && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXLHPriceCrossedUnderSignal) + // + ) + // + ) + // + || // ((mConditions.isXTDSignalVale && mConditions.isXTDBullishVale && @@ -35977,6 +36202,20 @@ bool XUSPY5XTSFIHasShortSignal() // || // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish) && + ( + // + (mConditions.isXFIOverZero && + mConditions.isXCHMALCPeak && + mConditions.isXCHMALCFastOverSlow) + // + ) + // + ) + // + || + // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( @@ -39080,11 +39319,22 @@ bool XUSPY5XTSFIHasShortSignal() (mConditions.isXTSCurrentCrossedOverMediest && ( // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLIncreased && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) + ((mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXTDBullUnderBear && + mConditions.isXTDSignalUnderBear) + // + || + // + (mConditions.isXLHLLIncreased && + mConditions.isXCHMASCCrossedUnderMin) + // + ) + // + ) // ) // @@ -51172,6 +51422,20 @@ bool XUSPY5XCHMACCHasShortSignal() mConditions.isXLHLowAttachedLL && mConditions.isXTSCurrentCrossedUnderNearest) // + || + // + ((mConditions.isXCHMALCVale && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMASCUnderMin) && + ( + // + (mConditions.isXTSCurrentOverMediest && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) + // + ) + // ) // )