// // // // // XTD Long Signal Checking ... bool XUSPY5XTDHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXTDEnableSignaller || !xUSPY5MXTDAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XTDHasLongConditions() // ; // return result; } // // XTD Short Signal Checking ... bool XUSPY5XTDHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXTDEnableSignaller || !xUSPY5MXTDAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XTDHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XTD Short ... // Resolve Stop Outs ... ( // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XTD Short ... // Resolve Guard Attacks ... || // ( // // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XTAM Long Signal Checking ... bool XUSPY5XTAMHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXTAMEnableSignaller || !xUSPY5MXTAMAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XTAMHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XTAM Long ... // Resolve Stop Outs ... ( // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XTAM Long ... // Resolve Guard Attacks ... || // ( // // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XTAM Short Signal Checking ... bool XUSPY5XTAMHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXTAMEnableSignaller || !xUSPY5MXTAMAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XTAMHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XTAM Short ... // Resolve Stop Outs ... ( // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XTAM Short ... // Resolve Guard Attacks ... || // ( // // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XSI Long Signal Checking ... bool XUSPY5XSIHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXSIEnableSignaller || !xUSPY5MXSIAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XSIHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XSI Long ... // Resolve Stop Outs ... ( // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XSI Long ... // Resolve Guard Attacks ... || // ( // // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XSI Short Signal Checking ... bool XUSPY5XSIHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXSIEnableSignaller || !xUSPY5MXSIAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XSIHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XSI Short ... // Resolve Stop Outs ... ( // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XSI Short ... // Resolve Guard Attacks ... || // ( // // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XTSFI Long Signal Checking ... bool XUSPY5XTSFIHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXTSFIEnableSignaller || !xUSPY5MXTSFIAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XTSFIHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XTSFI Long ... // Resolve Stop Outs ... ( // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XTSFI Long ... // Resolve Guard Attacks ... || // ( // // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XTSFI Short Signal Checking ... bool XUSPY5XTSFIHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXTSFIEnableSignaller || !xUSPY5MXTSFIAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XTSFIHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XTSFI Short ... // Resolve Stop Outs ... ( // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XTSFI Short ... // Resolve Guard Attacks ... || // ( // // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XOBDLH Long Signal Checking ... bool XUSPY5XOBDLHHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXOBDLHEnableSignaller || !xUSPY5MXOBDLHAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XOBDLHHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XOBDLH Long ... // Resolve Stop Outs ... ( // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XOBDLH Long ... // Resolve Guard Attacks ... || // ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XOBDLH Short Signal Checking ... bool XUSPY5XOBDLHHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXOBDLHEnableSignaller || !xUSPY5MXOBDLHAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XOBDLHHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XOBDLH Short ... // Resolve Stop Outs ... ( // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XOBDLH Short ... // Resolve Guard Attacks ... || // ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XOBDLH Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XCHMACC Long Signal Checking ... bool XUSPY5XCHMACCHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXCHMACCEnableSignaller || !xUSPY5MXCHMACCAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XCHMACCHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XCHMACC Long ... // Resolve Stop Outs ... ( // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XCHMACC Long ... // Resolve Guard Attacks ... || // ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XCHMACC Short Signal Checking ... bool XUSPY5XCHMACCHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXCHMACCEnableSignaller || !xUSPY5MXCHMACCAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XCHMACCHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XCHMACC Short ... // Resolve Stop Outs ... ( // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XCHMACC Short ... // Resolve Guard Attacks ... || // ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XCHMAMN Long Signal Checking ... bool XUSPY5XCHMAMNHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXCHMAMNEnableSignaller || !xUSPY5MXCHMAMNAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XCHMAMNHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XCHMAMN Long ... // Resolve Stop Outs ... ( // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XCHMAMN Long ... // Resolve Guard Attacks ... || // ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XCHMAMN Short Signal Checking ... bool XUSPY5XCHMAMNHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXCHMAMNEnableSignaller || !xUSPY5MXCHMAMNAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XCHMAMNHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XCHMAMN Short ... // Resolve Stop Outs ... ( // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XCHMAMN Short ... // Resolve Guard Attacks ... || // ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMN Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XCHMAMX Long Signal Checking ... bool XUSPY5XCHMAMXHasLongSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXCHMAMXEnableSignaller || !xUSPY5MXCHMAMXAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XCHMAMXHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XCHMAMX Long ... // Resolve Stop Outs ... ( // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XCHMAMX Long ... // Resolve Guard Attacks ... || // ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XCHMAMX Short Signal Checking ... bool XUSPY5XCHMAMXHasShortSignal() { // bool result = false; // // Validate Args ... if (!xUSPY5MXCHMAMXEnableSignaller || !xUSPY5MXCHMAMXAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xUSPY5Provider.XCHMAMXHasShortConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XCHMAMX Short ... // Resolve Stop Outs ... ( // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // // XCHMAMX Short ... // Resolve Guard Attacks ... || // ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XCHMAMX Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; }