// && // // 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 // ) // ) // ) // ) // ) // ) // ) // ) // )