diff --git a/Documents/Templates/OANDA.AU5.EURUSD.mq5 b/Documents/Templates/OANDA.AU5.EURUSD.mq5 index 0ec5d20e..019ac025 100644 --- a/Documents/Templates/OANDA.AU5.EURUSD.mq5 +++ b/Documents/Templates/OANDA.AU5.EURUSD.mq5 @@ -1607,6 +1607,11 @@ bool XAU5XTDHasLongSignal() ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXCHMALCTrendsDown) + // + || // (mConditions.isXCHMAMCVale && mConditions.isXCHMAMCTrendsUp) @@ -1933,6 +1938,27 @@ bool XAU5XTDHasLongSignal() // || // + // + // Check if SC Fast Under Slow ... + ((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + (mConditions.isXLHHHIncreased && + mConditions.isXTSCurrentUnderMediest) + // + || + // + (mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHMCLCLLSame && + mConditions.isXCHMASCTrendsUp) + // + ) + // + ) + // + || + // // Check LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && @@ -2036,6 +2062,14 @@ bool XAU5XTDHasLongSignal() mConditions.isXCHLHSCMCHHSame && mConditions.isXCHMAMCTrendsUp) // + || + // + (mConditions.isXCHLHSameHHs && + mConditions.isXTSCurrentMax && + mConditions.isXCHMASCOverMax && + mConditions.isXLHHighAttachedHH && + mConditions.isXTDSignalCrossedOverBear) + // ) // ) @@ -2047,12 +2081,31 @@ bool XAU5XTDHasLongSignal() mConditions.isXCHMALCFastCrossedUnderSlow) && ( // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXFIOverZero && + (mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSameHHs && mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHSCMCHHSame) + mConditions.isXTDBearishVale && + mConditions.isXLHHighAttachedHH) + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXTSCurrentMax && + mConditions.isXCHLHSCMCHHSame) && + ( + // + (mConditions.isXFIOverZero && + mConditions.isXLHLLDecreased) + // + || + // + (mConditions.isXCHLHMCLCLLSame && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) // || // @@ -2060,17 +2113,41 @@ bool XAU5XTDHasLongSignal() mConditions.isXCHMALCVale) && ( // - ((mConditions.isXTMNeutural && - mConditions.isXTSCurrentMax && + ((mConditions.isXTSCurrentMax && mConditions.isXCHLHSCMCHHSame && mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverNearest && mConditions.isXTSCurrentOverMediest) && ( // - (mConditions.isXTDBullOverBear && - mConditions.isXFICrossedOverZero && - mConditions.isXTDSignalCrossedOverBear) + ((mConditions.isXTDBullOverBear && + mConditions.isXTDSignalCrossedOverBear) && + ( + // + mConditions.isXFICrossedOverZero + // + || + // + ((mConditions.isXTMBullish && + mConditions.isXAMABullish) && + ( + // + mConditions.isXFIOverZero + // + || + // + mConditions.isXCHLHMCLCLLSame + // + || + (mConditions.isXTSCurrentCrossedOverNearest && + mConditions.isXTSCurrentCrossedOverMediest) + // + ) + // + ) + // + ) + // + ) // || // @@ -2081,6 +2158,21 @@ bool XAU5XTDHasLongSignal() // ) // + || + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXTSCurrentMax && + mConditions.isXLHHHDecreased && + mConditions.isXTDSignalCrossedOverBear) + // + || + // + (mConditions.isXTSAllSame && + mConditions.isXTMNeutural && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXTDSignalCrossedOverBear) + // ) // ) @@ -2152,6 +2244,29 @@ bool XAU5XTDHasLongSignal() mConditions.isXTSCurrentUnderFarest && mConditions.isXTSCurrentUnderMediest) // + || + // + // Check LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + ((mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) && + ( + // + (mConditions.isXFIUnderZero && + mConditions.isXTMEndBullish && + mConditions.isXTSCurrentUnderFarest) + // + ) + // + ) + // + ) + // + ) + // ) // ) @@ -2520,6 +2635,11 @@ bool XAU5XTDHasShortSignal() ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( + // + (mConditions.isXTDBullOverBear && + mConditions.isXTSCurrentOverNearest) + // + || // (mConditions.isXTMEndBearish && mConditions.isXAMAEndBearish && @@ -2540,6 +2660,24 @@ bool XAU5XTDHasShortSignal() // ) // + || + // + // Check LC Fast Over Slow ... + ((mConditions.isXCHMALCFastOverSlow || + mConditions.isXCHMALCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTDBullOverBear && + mConditions.isXTMStartBearish && + mConditions.isXAMAStartBearish && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest) + // + ) + // + ) + // ) // ) @@ -2572,11 +2710,22 @@ bool XAU5XTDHasShortSignal() mConditions.isXCHMAMCFastCrossedOverSlow) && ( // - (mConditions.isXCHMALCVale && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXAMAStartBearish && - mConditions.isXTSCurrentOverFarest) + ((mConditions.isXCHMALCVale && + mConditions.isXTDBullOverBear && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXAMAStartBearish) && + ( + // + mConditions.isXTSCurrentOverFarest + // + || + // + (mConditions.isXTSCurrentMin && + mConditions.isXCHMALCTrendsUp) + // + ) + // + ) // ) // @@ -2623,7 +2772,21 @@ bool XAU5XTDHasShortSignal() mConditions.isXLHHHSameInLength) && // ( - false) + // + // Check if SC Fast Over Slow ... + ((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXTDBullOverBear && + mConditions.isXCHLHMCLCLLSame && + mConditions.isXTSCurrentOverFarest) + // + ) + // + ) // + ) // ) // diff --git a/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 index 63cc6008..e83d1a7e 100644 --- a/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 @@ -1541,6 +1541,11 @@ bool XAU5XTDHasLongSignal() mConditions.isXLHHHSameInLength) && // ( + // + (mConditions.isXTDBearishVale && + mConditions.isXCHMAMCTrendsDown) + // + || // // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || @@ -1753,6 +1758,12 @@ bool XAU5XTDHasLongSignal() // || // + (mConditions.isXCHLHMCLCHHSame && + mConditions.isXAMAStartBullish && + mConditions.isXTSCurrentUnderFarest) + // + || + // (mConditions.isXCHMAMCVale && mConditions.isXTSCurrentMax && mConditions.isXAMAStartBullish && @@ -2046,6 +2057,13 @@ bool XAU5XTDHasLongSignal() ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( + // + (mConditions.isXCHLHSCMCHHSame && + mConditions.isXTSCurrentUnderNearest && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedUnderNearest) + // + || // (mConditions.isXTMBullish && mConditions.isXAMABullish &&