From d5fba7533014450f9494ce6188b2fe54060b8ff1 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Mon, 29 Jan 2024 11:33:06 -0800 Subject: [PATCH] resolve XAU5 XTD Longs Stopout in All brokers Except Alpari and Errante ... --- Documents/Templates/Conditions.mql5.mql4 | 33 +++ ...-saherelm.xau5.provider.indicators.lib.mq5 | 217 ++++++++++++++++-- 2 files changed, 235 insertions(+), 15 deletions(-) diff --git a/Documents/Templates/Conditions.mql5.mql4 b/Documents/Templates/Conditions.mql5.mql4 index a0219e85..606eb9ef 100644 --- a/Documents/Templates/Conditions.mql5.mql4 +++ b/Documents/Templates/Conditions.mql5.mql4 @@ -1,3 +1,36 @@ +// +// Check if SC Fast Over Slow ... +((mConditions.isXCHMASCFastOverSlow || + mConditions.isXCHMASCFastCrossedOverSlow) && + ( + // + // + ) + // +) + +// +// Check if SC Fast Under Slow ... +((mConditions.isXCHMASCFastUnderSlow || + mConditions.isXCHMASCFastCrossedUnderSlow) && + ( + // + // + ) + // +) + +// +// Check if MC Fast Over Slow ... +((mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow) && + ( + // + // + ) + // +) + // // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || diff --git a/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 index cd80b4c5..5841890c 100644 --- a/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 +++ b/Providers/x-saherelm.xau5.provider.indicators.lib.mq5 @@ -1550,6 +1550,31 @@ bool XAU5XTDHasLongSignal() (mConditions.isXCHMAMCVale && mConditions.isXCHMAMCTrendsUp) // + || + // + (mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax && + mConditions.isXTMStartBullish && + mConditions.isXTDBullOverBear && + mConditions.isXAMAStartBullish) + // + ) + // + ) + // + || + // + // Check LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + (mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax && + mConditions.isXTMStartBullish && + mConditions.isXAMAStartBullish && + mConditions.isXTDSignalCrossedOverBear) + // ) // ) @@ -1567,6 +1592,16 @@ bool XAU5XTDHasLongSignal() !mConditions.isXLHHHSameInLength) && // ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXTDBearishVale && + mConditions.isXLHLLDecreased && + mConditions.isXCHMAMCTrendsDown && + (mConditions.isXCHMAMCFastOverSlow || + mConditions.isXCHMAMCFastCrossedOverSlow)) + // + || // // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || @@ -1599,7 +1634,25 @@ bool XAU5XTDHasLongSignal() !mConditions.isXLHLLSameInLength) && // ( - false) + // + // Check LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXFIOverZero && + mConditions.isXCHMALCVale && + mConditions.isXTSCurrentMax && + mConditions.isXTDBullOverBear && + mConditions.isXTDSignalCrossedOverBear) + // + ) + // + ) + // + ) // ) // @@ -1655,6 +1708,13 @@ bool XAU5XTDHasLongSignal() // || // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMax && + mConditions.isXCHLHMCLCLLSame && + mConditions.isXCHMALCTrendsDown) + // + || + // // Check if LC Fast Over Slow .. ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && @@ -1679,9 +1739,54 @@ bool XAU5XTDHasLongSignal() ( // (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMAMCTrendsDown) + ( + // + (mConditions.isXTMNeutural && + mConditions.isXAMANeutural && + mConditions.isXCHMAMCTrendsDown) + // + || + // + (mConditions.isXTSCurrentMax && + mConditions.isXCHLHMCLCHHSame && + mConditions.isXCHMAMCTrendsDown) + // + || + // + (mConditions.isXCHMAMCVale && + mConditions.isXTSCurrentMax && + mConditions.isXAMAStartBullish && + mConditions.isXTDSignalCrossedOverBear && + mConditions.isXTSCurrentCrossedOverNearest) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + (mConditions.isXCHMAMCPeak && + mConditions.isXCHMALCVale) + // + || + // + (mConditions.isXCHMALCVale && + mConditions.isXCHMALCTrendsUp) + // + || + // + (mConditions.isXAMABearish && + mConditions.isXTSCurrentUnderFarest && + mConditions.isXTSCurrentUnderNearest) // ) // @@ -1832,6 +1937,12 @@ bool XAU5XTDHasLongSignal() ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( + // + (mConditions.isXCHMALCVale && + mConditions.isXTDBearishVale && + mConditions.isXTSCurrentUnderNearest) + // + || // ((mConditions.isXCHMAMCPeak && mConditions.isXCHMALCVale) && @@ -1842,6 +1953,11 @@ bool XAU5XTDHasLongSignal() // || // + (mConditions.isXTSCurrentUnderNearest && + mConditions.isXTDSignalCrossedOverBear) + // + || + // (mConditions.isXTMNeutural && mConditions.isXAMANeutural && mConditions.isXTSCurrentMax && @@ -1874,6 +1990,16 @@ bool XAU5XTDHasLongSignal() ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXCHMALCTrendsDown) + // + || + // + (mConditions.isXCHMASCOverMax && + mConditions.isXTSCurrentUnderNearest) + // + || // ((mConditions.isXTMBullish && mConditions.isXAMABullish && @@ -1901,6 +2027,21 @@ bool XAU5XTDHasLongSignal() // || // + // Check if MC Fast Under Slow ... + ((mConditions.isXCHMAMCFastUnderSlow || + mConditions.isXCHMAMCFastCrossedUnderSlow) && + ( + // + (mConditions.isXAMAEndBullish && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMAMCTrendsUp) + // + ) + // + ) + // + || + // // Check LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && @@ -1919,14 +2060,26 @@ bool XAU5XTDHasLongSignal() mConditions.isXCHMALCVale) && ( // - (mConditions.isXTMNeutural && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) + ((mConditions.isXTMNeutural && + mConditions.isXTSCurrentMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXTSCurrentOverFarest && + mConditions.isXTSCurrentOverNearest && + mConditions.isXTSCurrentOverMediest) && + ( + // + (mConditions.isXTDBullOverBear && + mConditions.isXFICrossedOverZero && + mConditions.isXTDSignalCrossedOverBear) + // + || + // + (mConditions.isXTSCurrentCrossedOverFarest && + mConditions.isXTSCurrentCrossedOverNearest) + // + ) + // + ) // ) // @@ -1992,7 +2145,14 @@ bool XAU5XTDHasLongSignal() !mConditions.isXLHLLSameInLength) && // ( - false) + // + (mConditions.isXCHMALCPeak && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHLHSCMCLLSame && + mConditions.isXTSCurrentUnderFarest && + mConditions.isXTSCurrentUnderMediest) + // + ) // ) // @@ -2004,11 +2164,20 @@ bool XAU5XTDHasLongSignal() ((!mConditions.isXLHHHSameInLength && !mConditions.isXLHLLSameInLength) && // - ( // - // Check LC Fast Over Slow ... + ( + // + // Check LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( + // + (mConditions.isXCHMALCPeak && + mConditions.isXTSCurrentMax && + mConditions.isXCHLHSCMCHHSame && + mConditions.isXCHMAMCTrendsDown && + mConditions.isXTDSignalCrossedOverBear) + // + || // (mConditions.isXTMBullish && mConditions.isXAMABullish && @@ -2023,6 +2192,24 @@ bool XAU5XTDHasLongSignal() // ) // + || + // + // Check LC Fast Under Slow ... + ((mConditions.isXCHMALCFastUnderSlow || + mConditions.isXCHMALCFastCrossedUnderSlow) && + ( + // + (mConditions.isXTMBullish && + mConditions.isXAMABullish && + mConditions.isXCHMAMCPeak && + mConditions.isXCHLHSameHHs && + mConditions.isXTSCurrentMax && + mConditions.isXLHHighAttachedHH) + // + ) + // + ) + // ) // )