/////////////////////////////////////////////////////////////////// // // SaherElm IT Center MQL5 XGPUS5 Signal Provider Indicators Library // ---------------------------------------------------------------- // // Maintainer: // ------------ // Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com) // ////////////////////////////////////////////////////// // // Global Properties ... #property library #property copyright "Copyright 2023, SaherElm IT Center" #property link "https://www.saherelm.ir" #property version "1.00" #property strict // // Include Provider Inputs ... #include "x-saherelm.xgpus5.provider.inputs.lib.mq5" // // Include Provider Class ... #include "../Classes/x-saherelm.provider.lib.mq5" // // Signallers ... input group "XGPUS5 Signallers"; // // XTD ... input group "XGPUS5 XTD Signaller"; input bool xGPUS5XTDEnableSignaller = true; // Enable Signaller input bool xGPUS5XTDAllowLongSignals = true; // Enable Long Signals input bool xGPUS5XTDAllowShortSignals = true; // Enable Short Signals // // XTAM ... input group "XGPUS5 XTAM Signaller"; input bool xGPUS5XTAMEnableSignaller = true; // Enable Signaller input bool xGPUS5XTAMAllowLongSignals = true; // Enable Long Signals input bool xGPUS5XTAMAllowShortSignals = true; // Enable Short Signals // // XSI ... input group "XGPUS5 XSI Signaller"; input bool xGPUS5XSIEnableSignaller = true; // Enable Signaller input bool xGPUS5XSIAllowLongSignals = true; // Enable Long Signals input bool xGPUS5XSIAllowShortSignals = true; // Enable Short Signals // // XTSFI ... input group "XGPUS5 XTSFI Signaller"; input bool xGPUS5XTSFIEnableSignaller = true; // Enable Signaller input bool xGPUS5XTSFIAllowLongSignals = true; // Enable Long Signals input bool xGPUS5XTSFIAllowShortSignals = true; // Enable Short Signals // // XOBDLH ... // input group "XGPUS5 XOBDLH Signaller"; // input bool xGPUS5XOBDLHEnableSignaller = true; // Enable Signaller // input bool xGPUS5XOBDLHAllowLongSignals = true; // Enable Long Signals // input bool xGPUS5XOBDLHAllowShortSignals = true; // Enable Short Signals // // XCHMACC ... input group "XGPUS5 XCHMACC Signaller"; input bool xGPUS5XCHMACCEnableSignaller = true; // Enable Signaller input bool xGPUS5XCHMACCAllowLongSignals = true; // Enable Long Signals input bool xGPUS5XCHMACCAllowShortSignals = true; // Enable Short Signals // // XCHMAMX ... // input group "XGPUS5 XCHMAMX Signaller"; // input bool xGPUS5XCHMAMXEnableSignaller = true; // Enable Signaller // input bool xGPUS5XCHMAMXAllowLongSignals = true; // Enable Long Signals // input bool xGPUS5XCHMAMXAllowShortSignals = true; // Enable Short Signals // // XCHMAMN ... input group "XGPUS5 XCHMAMN Signaller"; // input bool xGPUS5XCHMAMNEnableSignaller = true; // Enable Signaller // input bool xGPUS5XCHMAMNAllowLongSignals = true; // Enable Long Signals // input bool xGPUS5XCHMAMNAllowShortSignals = true; // Enable Short Signals // // Check in Test Mode or not ... bool xGPUS5IsTestMode = false; // // Detect max Input Length of Indicators ... int xGPUS5MaxLengthOfInputs = 0; // // Detect Calculated Bars ... int xGPUS5CalculatedBars = 0; // // Check prevent Double Signalling on Same Candle ... bool xGPUS5WaitUntilNextCandle = false; // // Signaller Variables ... // // XTD ... bool xGPUS5MXTDEnableSignaller = xGPUS5XTDEnableSignaller; bool xGPUS5MXTDAllowLongSignals = xGPUS5XTDAllowLongSignals; bool xGPUS5MXTDAllowShortSignals = xGPUS5XTDAllowShortSignals; // // XTAM ... bool xGPUS5MXTAMEnableSignaller = xGPUS5XTAMEnableSignaller; bool xGPUS5MXTAMAllowLongSignals = xGPUS5XTAMAllowLongSignals; bool xGPUS5MXTAMAllowShortSignals = xGPUS5XTAMAllowShortSignals; // // XSI ... bool xGPUS5MXSIEnableSignaller = xGPUS5XSIEnableSignaller; bool xGPUS5MXSIAllowLongSignals = xGPUS5XSIAllowLongSignals; bool xGPUS5MXSIAllowShortSignals = xGPUS5XSIAllowShortSignals; // // XTSFI ... bool xGPUS5MXTSFIEnableSignaller = xGPUS5XTSFIEnableSignaller; bool xGPUS5MXTSFIAllowLongSignals = xGPUS5XTSFIAllowLongSignals; bool xGPUS5MXTSFIAllowShortSignals = xGPUS5XTSFIAllowShortSignals; // // XOBDLH ... bool xGPUS5MXOBDLHEnableSignaller = false; // xGPUS5XOBDLHEnableSignaller; bool xGPUS5MXOBDLHAllowLongSignals = false; // xGPUS5XOBDLHAllowLongSignals; bool xGPUS5MXOBDLHAllowShortSignals = false; // xGPUS5XOBDLHAllowShortSignals; // // XCHMACC ... bool xGPUS5MXCHMACCEnableSignaller = xGPUS5XCHMACCEnableSignaller; bool xGPUS5MXCHMACCAllowLongSignals = xGPUS5XCHMACCAllowLongSignals; bool xGPUS5MXCHMACCAllowShortSignals = xGPUS5XCHMACCAllowShortSignals; // // XCHMAMX ... bool xGPUS5MXCHMAMXEnableSignaller = false; // xGPUS5XCHMAMXEnableSignaller; bool xGPUS5MXCHMAMXAllowLongSignals = false; // xGPUS5XCHMAMXAllowLongSignals; bool xGPUS5MXCHMAMXAllowShortSignals = false; // xGPUS5XCHMAMXAllowShortSignals; // // XCHMAMN ... bool xGPUS5MXCHMAMNEnableSignaller = false; // xGPUS5XCHMAMNEnableSignaller; bool xGPUS5MXCHMAMNAllowLongSignals = false; // xGPUS5XCHMAMNAllowLongSignals; bool xGPUS5MXCHMAMNAllowShortSignals = false; // xGPUS5XCHMAMNAllowShortSignals; // XCProvider *xGPUS5Provider; // // Validate Indicators Inputs ... bool XGPUS5ValidateIndicatorsInputs() { // bool result = false; // // XTM ... result = XTMValidateInputs(); if (!result) { return result; } // // XAMA ... result = XAMAValidateInputs(); if (!result) { return result; } // // XTD ... result = XTDValidateInputs(); if (!result) { return result; } // // XFI ... result = XFIValidateInputs(); if (!result) { return result; } // // XTS ... result = XTSValidateInputs(); if (!result) { return result; } // // XOBD ... result = XOBDValidateInputs(); if (!result) { return result; } // // XLH ... result = XLHValidateInputs(); if (!result) { return result; } // // XRSI ... result = XRSIValidateInputs(); if (!result) { return result; } // // XCHLH ... result = XCHLHValidateInputs(); if (!result) { return result; } // // XCHMA ... result = XCHMAValidateInputs(); if (!result) { return result; } // // Make an Instance Of XCProvider Class for Use ... xGPUS5Provider = new XCProvider( // // Commons ... _Symbol, _Period, // // Signallers ... // // XTD ... xGPUS5MXTDEnableSignaller, xGPUS5MXTDAllowLongSignals, xGPUS5MXTDAllowShortSignals, // // XTAM ... xGPUS5MXTAMEnableSignaller, xGPUS5MXTAMAllowLongSignals, xGPUS5MXTAMAllowShortSignals, // // XSI ... xGPUS5MXSIEnableSignaller, xGPUS5MXSIAllowLongSignals, xGPUS5MXSIAllowShortSignals, // // XTSFI ... xGPUS5MXTSFIEnableSignaller, xGPUS5MXTSFIAllowLongSignals, xGPUS5MXTSFIAllowShortSignals, // // XOBDLH ... xGPUS5MXOBDLHEnableSignaller, xGPUS5MXOBDLHAllowLongSignals, xGPUS5MXOBDLHAllowShortSignals, // // XCHMACC ... xGPUS5MXCHMACCEnableSignaller, xGPUS5MXCHMACCAllowLongSignals, xGPUS5MXCHMACCAllowShortSignals, // // XCHMAMX ... xGPUS5MXCHMAMXEnableSignaller, xGPUS5MXCHMAMXAllowLongSignals, xGPUS5MXCHMAMXAllowShortSignals, // // XCHMAMN ... xGPUS5MXCHMAMNEnableSignaller, xGPUS5MXCHMAMNAllowLongSignals, xGPUS5MXCHMAMNAllowShortSignals // ); // result = true; // return result; } // // Init Indicators ... bool XGPUS5InitIndicators() { // bool result = false; // // Make it Enable when we need to Log Market Conditions ... xGPUS5IsTestMode = IsRunningOnTestMode(); // // Check and Calculate Max Length in Inputs ... // // // XTM ... xGPUS5MaxLengthOfInputs = MathMax( xTMMaPeriod, xGPUS5NumberOfItemsPerTick); // // XAMA ... xGPUS5MaxLengthOfInputs = MathMax( xAMALength, xGPUS5NumberOfItemsPerTick); xGPUS5MaxLengthOfInputs = MathMax( xAMAFastEMA, xGPUS5NumberOfItemsPerTick); xGPUS5MaxLengthOfInputs = MathMax( xAMASlowEMA, xGPUS5NumberOfItemsPerTick); // // XLH ... xGPUS5MaxLengthOfInputs = MathMax( xLHLength, xGPUS5NumberOfItemsPerTick); // // XTD ... xGPUS5MaxLengthOfInputs = MathMax( xTDLength, xGPUS5MaxLengthOfInputs); // // XFI ... xGPUS5MaxLengthOfInputs = MathMax( xFILength, xGPUS5MaxLengthOfInputs); // // XRSI ... xGPUS5MaxLengthOfInputs = MathMax( xRSILength, xGPUS5MaxLengthOfInputs); // // XOBD ... xGPUS5MaxLengthOfInputs = MathMax( xOBDLength, xGPUS5MaxLengthOfInputs); // // XCHLH ... xGPUS5MaxLengthOfInputs = MathMax( xCHLHLcLength, xGPUS5MaxLengthOfInputs); xGPUS5MaxLengthOfInputs = MathMax( xCHLHMcLength, xGPUS5MaxLengthOfInputs); xGPUS5MaxLengthOfInputs = MathMax( xCHLHScLength, xGPUS5MaxLengthOfInputs); // // XCHMA ... xGPUS5MaxLengthOfInputs = MathMax( xCHMAScFastLength, xGPUS5MaxLengthOfInputs); xGPUS5MaxLengthOfInputs = MathMax( xCHMAScSlowLength, xGPUS5MaxLengthOfInputs); xGPUS5MaxLengthOfInputs = MathMax( xCHMAMcFastLength, xGPUS5MaxLengthOfInputs); xGPUS5MaxLengthOfInputs = MathMax( xCHMAMcSlowLength, xGPUS5MaxLengthOfInputs); xGPUS5MaxLengthOfInputs = MathMax( xCHMALcFastLength, xGPUS5MaxLengthOfInputs); xGPUS5MaxLengthOfInputs = MathMax( xCHMALcSlowLength, xGPUS5MaxLengthOfInputs); // // Validate Indicators Inputs before Initialization ... result = XGPUS5ValidateIndicatorsInputs(); if (!result) { return result; } // // Validate Signallers ... // // XTD ... bool isXTDEnable = xGPUS5XTDEnableSignaller && (xGPUS5XTDAllowLongSignals || xGPUS5XTDAllowShortSignals); // // XTAM ... bool isXTAMEnable = xGPUS5XTAMEnableSignaller && (xGPUS5XTAMAllowLongSignals || xGPUS5XTAMAllowShortSignals); // // XSI ... bool isXSIEnable = xGPUS5XSIEnableSignaller && (xGPUS5XSIAllowLongSignals || xGPUS5XSIAllowShortSignals); // // XTSFI ... bool isXTSFIEnable = xGPUS5XTSFIEnableSignaller && (xGPUS5XTSFIAllowLongSignals || xGPUS5XTSFIAllowShortSignals); // // XOBDLH ... bool isXOBDLHEnable = false; // xGPUS5XOBDLHEnableSignaller && // (xGPUS5XOBDLHAllowLongSignals || // xGPUS5XOBDLHAllowShortSignals); // // XCHMACC ... bool isXCHMACCEnable = xGPUS5XCHMACCEnableSignaller && (xGPUS5XCHMACCAllowLongSignals || xGPUS5XCHMACCAllowShortSignals); // // XCHMAMX ... bool isXCHMAMXEnable = false; // xGPUS5XCHMAMXEnableSignaller && // (xGPUS5XCHMAMXAllowLongSignals || // xGPUS5XCHMAMXAllowShortSignals); // // XCHMAMN ... bool isXCHMAMNEnable = false; // xGPUS5XCHMAMNEnableSignaller && // (xGPUS5XCHMAMNAllowLongSignals || // xGPUS5XCHMAMNAllowShortSignals); // bool hasSignaller = // isXTDEnable || isXTAMEnable || isXSIEnable || isXTSFIEnable || isXOBDLHEnable || isXCHMACCEnable || isXCHMAMXEnable || isXCHMAMNEnable // ; result = hasSignaller; if (!result) { // LogMessage("XGPUS5 doesn't enable any Signaller ..."); // return result; } // // Initialize Indicator/Oscillator Handlers ... ResetLastError(); // // XTM Init ... result = XTMInitHandlers(); if (!result) { return result; } // // XAMA Init ... result = XAMAInitHandlers(); if (!result) { return result; } // // XLH Init ... result = XLHInitHandlers(); if (!result) { return result; } // // XTD Init ... result = XTDInitHandlers(); if (!result) { return result; } // // XFI Init ... result = XFIInitHandlers(); if (!result) { return result; } // // XTS Init ... result = XTSInitHandlers(); if (!result) { return result; } // // XRSI Init ... result = XRSIInitHandlers(); if (!result) { return result; } // // XOBD Init ... result = XOBDInitHandlers(); if (!result) { return result; } // // XCLH Init ... result = XCHLHInitHandlers(); if (!result) { return result; } // // XCHMA Init ... result = XCHMAInitHandlers(); if (!result) { return result; } // result = true; // return result; } // // Release Indicators ... void XGPUS5ReleaseIndicators() { // // Release Handlers ... XTMReleaseHandlers(); XAMAReleaseHandlers(); XLHReleaseHandlers(); XTDReleaseHandlers(); XFIReleaseHandlers(); XTSReleaseHandlers(); XRSIReleaseHandlers(); XOBDReleaseHandlers(); XCHMAReleaseHandlers(); XCHLHReleaseHandlers(); } // // Handle Reading Buffers ... void XGPUS5HandleReadingBuffers() { // // Reading Calculated Bars for a Simple Handler ... xGPUS5CalculatedBars = BarsCalculated(xTMHandler); // // Read Indicators Buffers ... XTMReadBuffers(xGPUS5NumberOfItemsPerTick); XAMAReadBuffers(xGPUS5NumberOfItemsPerTick); XLHReadBuffers(xGPUS5NumberOfItemsPerTick); XTDReadBuffers(xGPUS5NumberOfItemsPerTick); XFIReadBuffers(xGPUS5NumberOfItemsPerTick); XTSReadBuffers(xGPUS5NumberOfItemsPerTick); XRSIReadBuffers(xGPUS5NumberOfItemsPerTick); XOBDReadBuffers(xGPUS5NumberOfItemsPerTick); XCHMAReadBuffers(xGPUS5NumberOfItemsPerTick); XCHLHReadBuffers(xGPUS5NumberOfItemsPerTick); // xGPUS5Provider.ReadConditions(); } // // // START Combination Functions ... // // // // Can Open Long Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Long Signals ... bool XGPUS5CanOpenLongTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // info.tp = 0; info.sl = 0; ArrayResize( info.signallers, 0); // bool hasSignal = XGPUS5HasLongSignal(info); // result = // hasSignal // ; // if (result) { xGPUS5Provider.ClearConditions(); } // return result; } // // Can Close Long Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Long Signals ... bool XGPUS5CanCloseLongTrade() { // bool result = false; // return result; } // // Can Open Short Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Short Signals ... bool XGPUS5CanOpenShortTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // info.tp = 0; info.sl = 0; ArrayResize( info.signallers, 0); // bool hasSignal = XGPUS5HasShortSignal(info); // result = // hasSignal // ; // if (result) { xGPUS5Provider.ClearConditions(); } // return result; } // // Can Close Short Trade ... // this is a Function will Check all market Conditions and get all // Strategy requirement Verifications for Short Signals ... bool XGPUS5CanCloseShortTrade() { // bool result = false; // return result; } // // // END Combination Functions ... // // // // // START Combination Signaling ... // // // // Check Market Conditions by Combination of Power of All tools for LONGs ... bool XGPUS5HasLongSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // // XTD ... bool isXTDHasSignal = XGPUS5XTDHasLongSignal(); if (isXTDHasSignal) { // Add( EnumToString(XTD), info.signallers); } // // XTAM ... bool isXTAMHasSignal = XGPUS5XTAMHasLongSignal(); if (isXTAMHasSignal) { // Add( EnumToString(XTAM), info.signallers); } // // XSI ... bool isXSIHasSignal = XGPUS5XSIHasLongSignal(); if (isXSIHasSignal) { // Add( EnumToString(XSI), info.signallers); } // // XTSFI ... bool isXTSFIHasSignal = XGPUS5XTSFIHasLongSignal(); if (isXTSFIHasSignal) { // Add( EnumToString(XTSFI), info.signallers); } // // XOBD XLH ... bool isXOBDLHHasSignal = XGPUS5XOBDLHHasLongSignal(); if (isXOBDLHHasSignal) { // Add( EnumToString(XOBDLH), info.signallers); } // // XCHMA Cycles Cross ... bool isXCHMACCHasSignal = XGPUS5XCHMACCHasLongSignal(); if (isXCHMACCHasSignal) { // Add( EnumToString(XCHMACC), info.signallers); } // // XCHMA Cycles Min ... bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasLongSignal(); if (isXCHMAMNHasSignal) { // Add( EnumToString(XCHMAMN), info.signallers); } // // XCHMA Cycles Max bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasLongSignal(); if (isXCHMAMXHasSignal) { // Add( EnumToString(XCHMAMX), info.signallers); } // result = // isXTDHasSignal // || // isXTAMHasSignal // || // isXSIHasSignal // || // isXTSFIHasSignal // || // isXOBDLHHasSignal // || // isXCHMACCHasSignal // || // isXCHMAMNHasSignal // || // isXCHMAMXHasSignal // ; // if (result) { // // Only Log Signals Time Market Conditions if is in Testing Mode ... if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); string message = xGPUS5Provider.GenerateConditionsString(mConditions); // LogMessage( "Long Signal Provided by: \n" + info.signallers[ArraySize(info.signallers) - 1] + "\n" + "Pusher: " + (string)ArraySize(info.signallers) + "\n" + "Market Conditions: " + message); } } // return result; } // // Check Market Conditions by Combination of Power of All tools for SHORTs ... bool XGPUS5HasShortSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // // XTD ... bool isXTDHasSignal = XGPUS5XTDHasShortSignal(); if (isXTDHasSignal) { // Add( EnumToString(XTD), info.signallers); } // // XTAM ... bool isXTAMHasSignal = XGPUS5XTAMHasShortSignal(); if (isXTAMHasSignal) { // Add( EnumToString(XTAM), info.signallers); } // // XSI ... bool isXSIHasSignal = XGPUS5XSIHasShortSignal(); if (isXSIHasSignal) { // Add( EnumToString(XSI), info.signallers); } // // XTSFI ... bool isXTSFIHasSignal = XGPUS5XTSFIHasShortSignal(); if (isXTSFIHasSignal) { // Add( EnumToString(XTSFI), info.signallers); } // // XOBD XLH ... bool isXOBDLHHasSignal = XGPUS5XOBDLHHasShortSignal(); if (isXOBDLHHasSignal) { // Add( EnumToString(XOBDLH), info.signallers); } // // XCHMA Cycles Cross ... bool isXCHMACCHasSignal = XGPUS5XCHMACCHasShortSignal(); if (isXCHMACCHasSignal) { // Add( EnumToString(XCHMACC), info.signallers); } // // XCHMA Cycles Min ... bool isXCHMAMNHasSignal = XGPUS5XCHMAMNHasShortSignal(); if (isXCHMAMNHasSignal) { // Add( EnumToString(XCHMAMN), info.signallers); } // // XCHMA Cycles Max bool isXCHMAMXHasSignal = XGPUS5XCHMAMXHasShortSignal(); if (isXCHMAMXHasSignal) { // Add( EnumToString(XCHMAMX), info.signallers); } // result = // isXTDHasSignal // || // isXTAMHasSignal // || // isXSIHasSignal // || // isXTSFIHasSignal // || // isXOBDLHHasSignal // || // isXCHMACCHasSignal // || // isXCHMAMNHasSignal // || // isXCHMAMXHasSignal // ; // if (result) { // // Only Log Signals Time Market Conditions if is in Testing Mode ... if (xGPUS5IsTestMode || xGPUS5EnableSignalAlerts) { // XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); string message = xGPUS5Provider.GenerateConditionsString(mConditions); // LogMessage( "Short Signal Provided by: \n" + info.signallers[ArraySize(info.signallers) - 1] + "\n" + "Pusher: " + (string)ArraySize(info.signallers) + "\n" + "Market Conditions: " + message); } } // return result; } // // // END Combination Signaling ... // // // // START Signal Providers ... // // // Disbale All Signallers Longs ... void XGPUS5DisableLongSignallers() { // // XTD ... if (xGPUS5MXTDEnableSignaller) { // xGPUS5Provider.DisbaleXTDLongs(); xGPUS5MXTDAllowLongSignals = false; } // // XTAM ... if (xGPUS5MXTAMEnableSignaller) { // xGPUS5Provider.DisbaleXTAMLongs(); xGPUS5MXTAMAllowLongSignals = false; } // // XSI ... if (xGPUS5MXSIEnableSignaller) { // xGPUS5Provider.DisbaleXSILongs(); xGPUS5MXSIAllowLongSignals = false; } // // XTSFI ... if (xGPUS5MXTSFIEnableSignaller) { // xGPUS5Provider.DisbaleXTSFILongs(); xGPUS5MXTSFIAllowLongSignals = false; } // // XOBDLH ... // if (xGPUS5MXOBDLHEnableSignaller) // { // // // xGPUS5Provider.DisbaleXOBDLHLongs(); // xGPUS5MXOBDLHAllowLongSignals = false; // } // // XCHMACC ... if (xGPUS5MXCHMACCEnableSignaller) { // xGPUS5Provider.DisbaleXCHMACCLongs(); xGPUS5MXCHMACCAllowLongSignals = false; } // // XCHMAMX ... // if (xGPUS5MXCHMAMXEnableSignaller) // { // // // xGPUS5Provider.DisbaleXCHMAMXLongs(); // xGPUS5MXCHMAMXAllowLongSignals = false; // } // // XCHMAMN ... // if (xGPUS5MXCHMAMNEnableSignaller) // { // // // xGPUS5Provider.DisbaleXCHMAMNLongs(); // xGPUS5MXCHMAMNAllowLongSignals = false; // } } // // Enable All Signallers Longs ... // Only if they are Configured as Enable at Settings ... void XGPUS5EnableLongSignallers() { // // XTD ... if (xGPUS5MXTDEnableSignaller) { // xGPUS5MXTDAllowLongSignals = xGPUS5XTDAllowLongSignals ? true : xGPUS5MXTDAllowLongSignals; // if (xGPUS5MXTDAllowLongSignals) { xGPUS5Provider.EnableXTDLongs(); } } // // XTAM ... if (xGPUS5MXTAMEnableSignaller) { // xGPUS5MXTAMAllowLongSignals = xGPUS5XTAMAllowLongSignals ? true : xGPUS5MXTAMAllowLongSignals; // if (xGPUS5MXTAMAllowLongSignals) { xGPUS5Provider.EnableXTAMLongs(); } } // // XSI ... if (xGPUS5MXSIEnableSignaller) { // xGPUS5MXSIAllowLongSignals = xGPUS5XSIAllowLongSignals ? true : xGPUS5MXSIAllowLongSignals; // if (xGPUS5MXSIAllowLongSignals) { xGPUS5Provider.EnableXSILongs(); } } // // XTSFI ... if (xGPUS5MXTSFIEnableSignaller) { // xGPUS5MXTSFIAllowLongSignals = xGPUS5XTSFIAllowLongSignals ? true : xGPUS5MXTSFIAllowLongSignals; // if (xGPUS5MXTSFIAllowLongSignals) { xGPUS5Provider.EnableXTSFILongs(); } } // // XOBDLH ... // if (xGPUS5MXOBDLHEnableSignaller) // { // // // xGPUS5MXOBDLHAllowLongSignals = // xGPUS5XOBDLHAllowLongSignals // ? true // : xGPUS5MXOBDLHAllowLongSignals; // // // if (xGPUS5MXOBDLHAllowLongSignals) // { // xGPUS5Provider.EnableXOBDLHLongs(); // } // } // // XCHMACC ... if (xGPUS5MXCHMACCEnableSignaller) { // xGPUS5MXCHMACCAllowLongSignals = xGPUS5XCHMACCAllowLongSignals ? true : xGPUS5MXCHMACCAllowLongSignals; // if (xGPUS5MXCHMACCAllowLongSignals) { xGPUS5Provider.EnableXCHMACCLongs(); } } // // XCHMAMX ... // if (xGPUS5MXCHMAMXEnableSignaller) // { // // // xGPUS5MXCHMAMXAllowLongSignals = // xGPUS5XCHMAMXAllowLongSignals // ? true // : xGPUS5MXCHMAMXAllowLongSignals; // // // if (xGPUS5MXCHMAMXAllowLongSignals) // { // xGPUS5Provider.EnableXCHMAMXLongs(); // } // } // // XCHMAMN ... // if (xGPUS5MXCHMAMNEnableSignaller) // { // // // xGPUS5MXCHMAMNAllowLongSignals = // xGPUS5XCHMAMNAllowLongSignals // ? true // : xGPUS5MXCHMAMNAllowLongSignals; // // // if (xGPUS5MXCHMAMNAllowLongSignals) // { // xGPUS5Provider.EnableXCHMAMNLongs(); // } // } } // // Disable All Signallers Shorts ... void XGPUS5DisableShortSignallers() { // // XTD ... if (xGPUS5MXTDEnableSignaller) { // xGPUS5Provider.DisableXTDShorts(); xGPUS5MXTDAllowShortSignals = false; } // // XTAM ... if (xGPUS5MXTAMEnableSignaller) { // xGPUS5Provider.DisableXTAMShorts(); xGPUS5MXTAMAllowShortSignals = false; } // // XSI ... if (xGPUS5MXSIEnableSignaller) { // xGPUS5Provider.DisableXSIShorts(); xGPUS5MXSIAllowShortSignals = false; } // // XTSFI ... if (xGPUS5MXTSFIEnableSignaller) { // xGPUS5Provider.DisableXTSFIShorts(); xGPUS5MXTSFIAllowShortSignals = false; } // // XOBDLH ... // if (xGPUS5MXOBDLHEnableSignaller) // { // // // xGPUS5Provider.DisableXOBDLHShorts(); // xGPUS5MXOBDLHAllowShortSignals = false; // } // // XCHMACC ... if (xGPUS5MXCHMACCEnableSignaller) { // xGPUS5Provider.DisableXCHMACCShorts(); xGPUS5MXCHMACCAllowShortSignals = false; } // // XCHMAMX ... // if (xGPUS5MXCHMAMXEnableSignaller) // { // // // xGPUS5Provider.DisableXCHMAMXShorts(); // xGPUS5MXCHMAMXAllowShortSignals = false; // } // // XCHMAMN ... // if (xGPUS5MXCHMAMNEnableSignaller) // { // // // xGPUS5Provider.DisableXCHMAMNShorts(); // xGPUS5MXCHMAMNAllowShortSignals = false; // } } // // Enable All Signallers Shorts ... // Only if they are Configured as Enable at Settings ... void XGPUS5EnableShortSignallers() { // // XTD ... if (xGPUS5MXTDEnableSignaller) { // xGPUS5MXTDAllowShortSignals = xGPUS5XTDAllowShortSignals ? true : xGPUS5MXTDAllowShortSignals; // if (xGPUS5MXTDAllowShortSignals) { xGPUS5Provider.EnableXTDShorts(); } } // // XTAM ... if (xGPUS5MXTAMEnableSignaller) { // xGPUS5MXTAMAllowShortSignals = xGPUS5XTAMAllowShortSignals ? true : xGPUS5MXTAMAllowShortSignals; // if (xGPUS5MXTAMAllowShortSignals) { xGPUS5Provider.EnableXTAMShorts(); } } // // XSI ... if (xGPUS5MXSIEnableSignaller) { // xGPUS5MXSIAllowShortSignals = xGPUS5XSIAllowShortSignals ? true : xGPUS5MXSIAllowShortSignals; // if (xGPUS5MXSIAllowShortSignals) { xGPUS5Provider.EnableXSIShorts(); } } // // XTSFI ... if (xGPUS5MXTSFIEnableSignaller) { // xGPUS5MXTSFIAllowShortSignals = xGPUS5XTSFIAllowShortSignals ? true : xGPUS5MXTSFIAllowShortSignals; // if (xGPUS5MXTSFIAllowShortSignals) { xGPUS5Provider.EnableXTSFIShorts(); } } // // XOBDLH ... // if (xGPUS5MXOBDLHEnableSignaller) // { // // // xGPUS5MXOBDLHAllowShortSignals = // xGPUS5XOBDLHAllowShortSignals // ? true // : xGPUS5MXOBDLHAllowShortSignals; // // // if (xGPUS5MXOBDLHAllowShortSignals) // { // xGPUS5Provider.EnableXOBDLHShorts(); // } // } // // XCHMACC ... if (xGPUS5MXCHMACCEnableSignaller) { // xGPUS5MXCHMACCAllowShortSignals = xGPUS5XCHMACCAllowShortSignals ? true : xGPUS5MXCHMACCAllowShortSignals; // if (xGPUS5MXCHMACCAllowShortSignals) { xGPUS5Provider.EnableXCHMACCShorts(); } } // // XCHMAMX ... // if (xGPUS5MXCHMAMXEnableSignaller) // { // // // xGPUS5MXCHMAMXAllowShortSignals = // xGPUS5XCHMAMXAllowShortSignals // ? true // : xGPUS5MXCHMAMXAllowShortSignals; // // // if (xGPUS5MXCHMAMXAllowShortSignals) // { // xGPUS5Provider.EnableXCHMAMXShorts(); // } // } // // XCHMAMN ... // if (xGPUS5MXCHMAMNEnableSignaller) // { // // // xGPUS5MXCHMAMNAllowShortSignals = // xGPUS5XCHMAMNAllowShortSignals // ? true // : xGPUS5MXCHMAMNAllowShortSignals; // // // if (xGPUS5MXCHMAMNAllowShortSignals) // { // xGPUS5Provider.EnableXCHMAMNShorts(); // } // } } // // // // // XTD Long Signal Checking ... bool XGPUS5XTDHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXTDEnableSignaller || !xGPUS5MXTDAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.XTDHasLongConditions() // && // // Exceptions: // there some commonly Exceptions which makes our choice incorrect, // here we are combined knownly Exceptions ... !( // // XTD Long ... // Resolve Stop Outs ... ( // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD 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 // ) // ) // || // // XTD 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) && ( // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // ((mConditions.isXCHMALCPeak && mConditions.isXTDBearishVale) && ( // mConditions.isXTSCurrentMax // || // mConditions.isXTSCurrentUnderFarest // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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) && ( // (mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax && mConditions.isXCHLHSCMCLLSame && mConditions.isXTDSignalCrossedOverBear && mConditions.isXTSCurrentCrossedOverNearest) // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD 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 // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // (mConditions.isXTSCurrentUnderNearest && ( // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // mConditions.isXTSCurrentUnderFarest // || // mConditions.isXTSCurrentCrossedUnderNearest // ) // ) // ) // ) // ) // ) // || // (mConditions.isXTSCurrentUnderMediest && ( // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // (mConditions.isXCHMAMCVale && ( // (mConditions.isXTMBearish && mConditions.isXAMABearish) // || // (mConditions.isXTDBearishVale && ( // (mConditions.isXTMNeutural && mConditions.isXAMANeutural) // || // (mConditions.isXTMEndBullish && mConditions.isXAMAEndBullish) // ) // ) // ) // ) // || // (mConditions.isXTSCurrentCrossedUnderMediest && ( // ((mConditions.isXCHMAMCVale && mConditions.isXCHMALCPeak && mConditions.isXLHHHDecreased) && ( // ((mConditions.isXFIUnderZero && mConditions.isXFICrossedUnderZero) && ( // (mConditions.isXTMNeutural && mConditions.isXTMEndBullish) // || // (mConditions.isXAMAVale && mConditions.isXAMABearish) // ) // ) // ) // ) // ) // ) // ) // ) // ) // ) // ) // ) // || // (mConditions.isXTSCurrentUnderFarest && ( // ((!mConditions.isXCHMASCTrendsUp && !mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // ((mConditions.isXCHMAMCVale && mConditions.isXCHMALCVale && mConditions.isXTDBearishVale && mConditions.isXCHLHMCLCHHSame && mConditions.isXCHLHMCLCLLSame && mConditions.isXCHMASCUnderMin) && ( // ((mConditions.isXFIUnderZero && mConditions.isXFICrossedUnderZero) && ( // (mConditions.isXTMNeutural && mConditions.isXAMANeutural) // ) // ) // ) // ) // ) // ) // || // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // (mConditions.isXCHMAMCVale && ( // (mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMin) // || // ((mConditions.isXCHMALCVale && mConditions.isXCHMASCUnderMin) && ( // mConditions.isXCHLHMCLCLLSame // || // (mConditions.isXTMNeutural && mConditions.isXAMANeutural) // || // (mConditions.isXAMAVale && mConditions.isXTDBearishVale) // || // (mConditions.isXTMStartBullish && mConditions.isXAMAStartBullish) // ) // ) // ) // ) // ) // ) // ) // ) // ) // ) // || // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // ((mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax) && ( // (mConditions.isXCHMAMCVale && mConditions.isXAMAStartBullish) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXCHMASCOverMin && mConditions.isXCHMASCUnderMax && mConditions.isXTDSignalCrossedOverBear) // ) // ) // ) // ) // || // ((mConditions.isXTMNeutural && mConditions.isXAMANeutural) && ( // ((mConditions.isXCHMAMCVale && mConditions.isXTSCurrentMax && mConditions.isXTDBearishVale && mConditions.isXTDSignalCrossedOverBear) && ( // mConditions.isXCHLHMCLCHHSame // || // (mConditions.isXCHMALCVale && mConditions.isXCHLHMCLCLLSame && mConditions.isXCHMASCUnderMin) // ) // ) // ) // ) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // ((mConditions.isXCHMASCPeak && mConditions.isXCHMAMCVale && mConditions.isXTSCurrentMax) && ( // (mConditions.isXTMStartBullish && mConditions.isXAMAStartBullish && mConditions.isXTSCurrentCrossedOverFarest && mConditions.isXTSCurrentCrossedOverNearest && mConditions.isXTSCurrentCrossedOverMediest) // ) // ) // || // ((mConditions.isXCHMAMCVale && mConditions.isXCHMALCVale) && ( // (mConditions.isXTSCurrentMax && ( // mConditions.isXAMAStartBullish // ) // ) // ) // ) // ) // ) // || // ((mConditions.isXCHMAMCVale && mConditions.isXTSCurrentMax && mConditions.isXCHMASCUnderMin && mConditions.isXTDSignalCrossedOverBear) && ( // ((mConditions.isXCHLHMCLCHHSame || mConditions.isXCHLHMCLCLLSame) && ( // (mConditions.isXTMBullish && mConditions.isXAMANeutural) // ) // ) // ) // ) // || // (mConditions.isXTDSignalCrossedOverBear && ( // (mConditions.isXTSCurrentMax && mConditions.isXTDBullOverBear && mConditions.isXTSCurrentOverFarest && mConditions.isXTSCurrentOverMediest) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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) && ( // ((mConditions.isXAMAVale && mConditions.isXCHMAMCVale && mConditions.isXCHMALCVale && mConditions.isXTSCurrentMax && mConditions.isXLHLLDecreased && mConditions.isXCHLHMCLCHHSame && mConditions.isXCHMASCUnderMin) && ( // (mConditions.isXTMNeutural && mConditions.isXAMABearish) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD 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 // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // ((mConditions.isXCHMALCPeak && !mConditions.isXCHMAMCTrendsUp && !mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // mConditions.isXTSCurrentMax // || // mConditions.isXTSCurrentUnderFarest // ) // ) // || // (mConditions.isXTSCurrentUnderNearest && ( // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // (mConditions.isXCHMALCPeak && mConditions.isXTSCurrentCrossedUnderNearest) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // (mConditions.isXTSCurrentUnderNearest && ( // (mConditions.isXTSCurrentUnderMediest && ( // (mConditions.isXTMBullish && mConditions.isXAMABullish && mConditions.isXCHLHMCLCHHSame && mConditions.isXTSCurrentOverFarest && mConditions.isXTDSignalCrossedOverBear) // ) // ) // ) // ) // || // (mConditions.isXTSCurrentUnderMediest && ( // ((mConditions.isXCHMAMCPeak && mConditions.isXCHMALCVale && mConditions.isXTDSignalCrossedOverBear) && ( // mConditions.isXCHLHSCMCHHSame // || // (mConditions.isXTSCurrentCrossedUnderMediest && ( // (mConditions.isXTSCurrentUnderFarest && mConditions.isXTSCurrentCrossedUnderFarest) // || // (!mConditions.isXCHMASCTrendsUp && !mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) // ) // ) // ) // ) // ) // ) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXCHMALCVale && mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) // || // (mConditions.isXTSCurrentCrossedOverNearest && ( // (mConditions.isXCHMAMCPeak && mConditions.isXCHMALCVale) // || // (mConditions.isXTDBearishVale && mConditions.isXTMStartBullish) // || // ((mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear) && ( // (mConditions.isXCHMASCOverMax && mConditions.isXCHLHMCLCLLSame) // ) // ) // ) // ) // ) // ) // || // ((!mConditions.isXCHMASCTrendsUp && !mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // ((mConditions.isXCHMALCVale && mConditions.isXTSCurrentMax) && ( // (mConditions.isXTMNeutural && mConditions.isXAMANeutural) // || // (mConditions.isXTMEndBullish && mConditions.isXAMAEndBullish) // || // (mConditions.isXTMNeutural && mConditions.isXTMEndBullish) // || // (mConditions.isXAMABearish && mConditions.isXAMAStartBearish) // ) // ) // ) // ) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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) && ( // (mConditions.isXTMBullish && mConditions.isXAMABullish && mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear && mConditions.isXLHPriceCrossedOverSignal) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // All Bullish ... ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // ((mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax && mConditions.isXCHMASCOverMax) && ( // (mConditions.isXFIOverZero && mConditions.isXTDBullOverBear && mConditions.isXTDSignalCrossedOverBear) // || // (mConditions.isXCHLHMCLCHHSame && (mConditions.isXCHMAMCTrendsDown && (mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow))) // ) // ) // || // (mConditions.isXTSCurrentUnderNearest && ( // (mConditions.isXTSCurrentUnderMediest && ( // (!mConditions.isXCHMASCTrendsUp && !mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // ((mConditions.isXCHMAMCVale && mConditions.isXTDBearishVale && mConditions.isXCHMASCUnderMin) && ( // (mConditions.isXTSCurrentMax && ( // (mConditions.isXTMNeutural && mConditions.isXAMANeutural) // || // (mConditions.isXTMEndBullish && mConditions.isXAMAEndBullish) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXTSAllSame && mConditions.isXTDSignalCrossedOverBear) // || // (mConditions.isXTSCurrentCrossedOverFarest && mConditions.isXTSCurrentCrossedOverNearest && mConditions.isXTSCurrentCrossedOverMediest) // ) // ) // ) // ) // || // (mConditions.isXTSCurrentUnderFarest && ( // (mConditions.isXCHLHMCLCLLSame && ( // (mConditions.isXTMBullish && mConditions.isXAMABullish) // ) // ) // ) // ) // || // (mConditions.isXCHMAMCVale && mConditions.isXTSCurrentMax && mConditions.isXTDBearishVale && mConditions.isXCHMASCUnderMin) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // (mConditions.isXTSCurrentUnderNearest && ( // mConditions.isXRSICrossedOverLongExit // || // (mConditions.isXTSCurrentUnderFarest && ( // mConditions.isXRSICrossedOverLongExit // || // (mConditions.isXTSCurrentCrossedUnderNearest && ( // (mConditions.isXTSCurrentCrossedUnderFarest && ( // (mConditions.isXCHLHSCMCHHSame && ( // (mConditions.isXTMNeutural && mConditions.isXAMANeutural) // || // (mConditions.isXTMEndBullish && mConditions.isXAMAEndBullish) // || // (mConditions.isXFIUnderZero && mConditions.isXFICrossedUnderZero) // ) // ) // ) // ) // ) // ) // ) // ) // )) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // (mConditions.isXTSCurrentUnderFarest && ( // (mConditions.isXCHMAMCTrendsUp && ( // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCVale && mConditions.isXCHMALCVale && mConditions.isXCHMASCUnderMin) // ) // ) // ) // ) // ) // ) // || // ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // (mConditions.isXCHMAMCTrendsUp && ( // ((mConditions.isXCHMAMCVale && mConditions.isXCHMALCVale) && ( // (mConditions.isXTSCurrentMax && mConditions.isXCHMASCUnderMin) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // ((mConditions.isXTSCurrentMax && mConditions.isXCHMASCOverMax && mConditions.isXLHHighAttachedHH) && ( // (mConditions.isXCHMALCPeak && mConditions.isXCHLHSameHHs && mConditions.isXCHLHMCLCHHSame && mConditions.isXCHLHMCLCLLSame) // || // (mConditions.isXTDBearishVale && mConditions.isXCHLHSCMCHHSame && mConditions.isXCHMASCCrossedOverMax && mConditions.isXTDSignalCrossedOverBear) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // (mConditions.isXTSCurrentUnderNearest && ( // ((mConditions.isXCHMALCVale && mConditions.isXCHLHSCMCHHSame) && ( // (mConditions.isXFIUnderZero && mConditions.isXTDSignalCrossedOverBear) // || // (mConditions.isXCHMAMCPeak && mConditions.isXTSCurrentCrossedUnderNearest) // ) // ) // ) // ) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // mConditions.isXRSICrossedOverLongExit // || // ((mConditions.isXCHMAMCPeak && mConditions.isXTSCurrentMax) && ( // (mConditions.isXCHLHSameHHs && mConditions.isXCHMASCOverMax && mConditions.isXTDSignalCrossedOverBear) // || // (mConditions.isXCHMALCVale && mConditions.isXCHLHSCMCHHSame && mConditions.isXLHHighAttachedHH) // || // ((mConditions.isXCHLHSCMCHHSame && mConditions.isXCHLHMCLCLLSame) && ( // (mConditions.isXCHMASCOverMax && mConditions.isXTMStartBullish && mConditions.isXCHMASCCrossedOverMax) // ) // ) // ) // ) // || // (mConditions.isXTDSignalCrossedOverBear && ( // ((mConditions.isXCHMASCOverMax && mConditions.isXCHLHSCMCHHSame && mConditions.isXLHHighAttachedHH) && ( // mConditions.isXTSAllSame // || // mConditions.isXTSCurrentMin // || // mConditions.isXTSCurrentMax // ) // ) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXTSCurrentMax && mConditions.isXCHLHSCMCHHSame && mConditions.isXLHHighAttachedHH) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // mConditions.isXRSICrossedOverLongExit // || // (mConditions.isXTDSignalCrossedOverBear && ( // (mConditions.isXCHMALCPeak && mConditions.isXCHLHSameHHs && mConditions.isXTSCurrentMax && mConditions.isXCHMASCOverMax && mConditions.isXTSCurrentCrossedOverNearest) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXTSCurrentMax && mConditions.isXTDSignalCrossedOverBear && mConditions.isXLHPriceCrossedOverSignal) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // mConditions.isXRSICrossedOverLongExit // || // (mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax && mConditions.isXCHMASCOverMax && (mConditions.isXCHLHSameHHs || mConditions.isXCHLHSCMCHHSame)) // ) // ) // ) // ) // || // All Bullish ... ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // ((mConditions.isXCHMALCPeak && mConditions.isXCHMASCOverMax) && ( // (mConditions.isXTSCurrentUnderNearest && ( // (mConditions.isXCHLHSCMCHHSame && mConditions.isXTSCurrentCrossedUnderNearest) // ) // ) // || // ((mConditions.isXCHLHMCLCLLSame && (mConditions.isXCHLHSCMCHHSame || mConditions.isXCHLHMCLCHHSame)) && ( // (mConditions.isXTSCurrentUnderNearest && ( // mConditions.isXTDBearishVale // ) // ) // || // (mConditions.isXTSCurrentUnderMediest && ( // (mConditions.isXCHLHSameHHs && mConditions.isXTMStartBullish && mConditions.isXTDSignalCrossedOverBear) // ) // ) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // (mConditions.isXCHMAMCVale && mConditions.isXCHMALCVale && mConditions.isXTSCurrentMax && mConditions.isXCHLHMCLCHHSame && mConditions.isXCHMASCUnderMin && mConditions.isXCHMAMCTrendsUp && mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // ((mConditions.isXCHMAMCPeak && mConditions.isXCHMALCVale && mConditions.isXTSCurrentMax && mConditions.isXLHLLIncreased) && ( // mConditions.isXCHLHMCLCHHSame // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXTDSignalCrossedOverBear && mConditions.isXLHPriceCrossedOverSignal) // ) // ) // ) // ) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXCHMAMCPeak && mConditions.isXTSCurrentMax && mConditions.isXTDBearishVale && mConditions.isXLHLLIncreased && mConditions.isXTDSignalCrossedOverBear) // || // ((mConditions.isXCHMAMCPeak && mConditions.isXLHLLIncreased && mConditions.isXTDSignalCrossedOverBear) && ( // (mConditions.isXTSCurrentUnderFarest && ( // (mConditions.isXCHMALCVale && mConditions.isXLHPriceCrossedOverSignal) // ) // ) // ) // ) // ) // ) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // (mConditions.isXTSCurrentUnderFarest && ( // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMin && mConditions.isXAMAStartBullish) // ) // ) // ) // ) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // All Bullish ... ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXCHMALCPeak && mConditions.isXTSCurrentMax && mConditions.isXLHLLIncreased && mConditions.isXCHMASCOverMax && mConditions.isXTDSignalCrossedOverBear) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... ((!mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // mConditions.isXRSICrossedOverLongExit // || // (mConditions.isXCHMAMCPeak && mConditions.isXTSCurrentMax && mConditions.isXCHLHSCMCHHSame && mConditions.isXLHHighAttachedHH && mConditions.isXTDSignalCrossedOverBear) // ) // ) // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // ((mConditions.isXTMBullish && mConditions.isXAMABullish) && ( // (mConditions.isXTSAllSame && mConditions.isXCHMALCPeak && mConditions.isXCHLHSameHHs && mConditions.isXTDBearishVale && mConditions.isXLHLLIncreased && mConditions.isXCHMASCOverMax && mConditions.isXLHHighAttachedHH && mConditions.isXTDSignalCrossedOverBear) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // ) // ) // ) // ) // // XTD Long ... // Resolve Guard Attacks ... || // ( // // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... ((mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... ((mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... ((!mConditions.isXLHLLSameInLength && mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Over Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastOverSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastOverSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... ((!mConditions.isXLHLLSameInLength && !mConditions.isXLHHHSameInLength) && ( // ( // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... (mConditions.isXLHPriceInSignalRange && ( // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... ((mConditions.isXLHPriceUnderSignal || mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... ((mConditions.isXLHPriceOverSignal || mConditions.isXLHPriceCrossedOverSignal) && ( // // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... ((!mConditions.isXLHPriceOverSignal && !mConditions.isXLHPriceUnderSignal && !mConditions.isXLHPriceInSignalRange && !mConditions.isXLHPriceCrossedOverSignal && !mConditions.isXLHPriceCrossedUnderSignal) && ( // // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow ... ((mConditions.isXCHMASCFastUnderSlow || mConditions.isXCHMASCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow ... ((mConditions.isXCHMAMCFastUnderSlow || mConditions.isXCHMAMCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD Long ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow ... ((mConditions.isXCHMALCFastUnderSlow || mConditions.isXCHMALCFastCrossedUnderSlow) && ( // false // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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 // ) // ) // || // // XTD 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; } // // XTD Short Signal Checking ... bool XGPUS5XTDHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXTDEnableSignaller || !xGPUS5MXTDAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTD Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XTAM Long Signal Checking ... bool XGPUS5XTAMHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXTAMEnableSignaller || !xGPUS5MXTAMAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 XGPUS5XTAMHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXTAMEnableSignaller || !xGPUS5MXTAMAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTAM Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XSI Long Signal Checking ... bool XGPUS5XSIHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXSIEnableSignaller || !xGPUS5MXSIAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 XGPUS5XSIHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXSIEnableSignaller || !xGPUS5MXSIAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XSI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XTSFI Long Signal Checking ... bool XGPUS5XTSFIHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXTSFIEnableSignaller || !xGPUS5MXTSFIAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 XGPUS5XTSFIHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXTSFIEnableSignaller || !xGPUS5MXTSFIAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XTSFI Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XOBDLH Long Signal Checking ... bool XGPUS5XOBDLHHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXOBDLHEnableSignaller || !xGPUS5MXOBDLHAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.XOBDLHHasLongConditions() // && // false // ; // return result; } // // XOBDLH Short Signal Checking ... bool XGPUS5XOBDLHHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXOBDLHEnableSignaller || !xGPUS5MXOBDLHAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.XOBDLHHasShortConditions() // && // false // ; // return result; } // // XCHMACC Long Signal Checking ... bool XGPUS5XCHMACCHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXCHMACCEnableSignaller || !xGPUS5MXCHMACCAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 XGPUS5XCHMACCHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXCHMACCEnableSignaller || !xGPUS5MXCHMACCAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Stop Outs ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // Both HH and LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // LL Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price In Signal Range ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Under Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Over Signal ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // 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 Over Slow ... ((mConditions.isXCHMASCFastOverSlow || mConditions.isXCHMASCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Over Slow ... ((mConditions.isXCHMAMCFastOverSlow || mConditions.isXCHMAMCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Over Slow ... ((mConditions.isXCHMALCFastOverSlow || mConditions.isXCHMALCFastCrossedOverSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if SC Fast Under Slow But Trends Down ... ((mConditions.isXCHMASCTrendsDown && mConditions.isXCHMASCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if MC Fast Under Slow But Trends Down ... ((mConditions.isXCHMAMCTrendsDown && mConditions.isXCHMAMCFastUnderSlow) && ( // false // ) // ) // || // // XCHMACC Short ... // Resolve Guard Attacks ... // not LL and HH Same In Length ... // Price Free ... // Check if LC Fast Under Slow But Trends Down ... ((mConditions.isXCHMALCTrendsDown && mConditions.isXCHMALCFastUnderSlow) && ( // false // ) // ) // ) // ) // ) // ) // ) // ) // ) // ; // return result; } // // XCHMAMN Long Signal Checking ... bool XGPUS5XCHMAMNHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXCHMAMNEnableSignaller || !xGPUS5MXCHMAMNAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.XCHMAMNHasLongConditions() // && // false // ; // return result; } // // XCHMAMN Short Signal Checking ... bool XGPUS5XCHMAMNHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXCHMAMNEnableSignaller || !xGPUS5MXCHMAMNAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.XCHMAMNHasShortConditions() // && // false // ; // return result; } // // XCHMAMX Long Signal Checking ... bool XGPUS5XCHMAMXHasLongSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXCHMAMXEnableSignaller || !xGPUS5MXCHMAMXAllowLongSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.XCHMAMXHasLongConditions() // && // false // ; // return result; } // // XCHMAMX Short Signal Checking ... bool XGPUS5XCHMAMXHasShortSignal() { // bool result = false; // // Validate Args ... if (!xGPUS5MXCHMAMXEnableSignaller || !xGPUS5MXCHMAMXAllowShortSignals) { return result; } // // Retrieve Market Condition ... XMarketConditions mConditions = xGPUS5Provider.GetLastMarketCondition(); // // Start Analysing Market based On Conditions ... result = // // Base Condition: xGPUS5Provider.XCHMAMXHasShortConditions() // && // false // ; // return result; } // // END Signal Providers ... //