/////////////////////////////////////////////////////////////////// // // SaherElm IT Center MQL5 XEU5 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 // // START Define Enums ... // // enum ENUM_XEU5_SIGNAL_PROVIDERS { // // XSP Expert Support Mechanism ... XSP, // // XTD ... XTD, // // XTAM ... XTAM, // // XSI ... XSI, // // XSTFI ... XSTFI, // // XOBDLH ... XOBDLH, // // XCHMACC ... XCHMACC, // // XCHMACMN ... XCHMACMN, // // XCHMACMX ... XCHMACMX, }; // // Represent Market Conditions ... struct XEU5MarketConditions { // // XTM ... bool isXTMPeak; bool isXTMVale; bool isXTMBullish; bool isXTMBearish; bool isXTMNeutural; bool isXTMEndBullish; bool isXTMEndBearish; bool isXTMStartBullish; bool isXTMStartBearish; bool isXTMEndBullishByNeutural; bool isXTMEndBearishByNeutural; bool isXTMStartBullishAfterNeutural; bool isXTMStartBearishAfterNeutural; // // XAMA ... bool isXAMAPeak; bool isXAMAVale; bool isXAMABullish; bool isXAMABearish; bool isXAMANeutural; bool isXAMAEndBullish; bool isXAMAEndBearish; bool isXAMAStartBullish; bool isXAMAStartBearish; bool isXAMAEndBullishByNeutural; bool isXAMAEndBearishByNeutural; bool isXAMAStartBullishAfterNeutural; bool isXAMAStartBearishAfterNeutural; // // XLH ... bool isXLHHHIncreased; bool isXLHHHDecreased; bool isXLHLLIncreased; bool isXLHLLDecreased; bool isXLHLowAttachedLL; bool isXLHHighAttachedHH; bool isXLHHHSameInLength; bool isXLHLLSameInLength; bool isXLHPriceOverSignal; bool isXLHPriceUnderSignal; bool isXLHPriceInSignalRange; bool isXLHPriceCrossedOverSignal; bool isXLHPriceCrossedUnderSignal; // // XTD ... bool isXTDSignalPeak; bool isXTDSignalVale; bool isXTDBullishPeak; bool isXTDBullishVale; bool isXTDBearishPeak; bool isXTDBearishVale; bool isXTDBullOverBear; bool isXTDBullUnderBear; bool isXTDSignalOverBear; bool isXTDSignalUnderBear; bool isXTDBullCrossedOverBear; bool isXTDBullCrossedUnderBear; bool isXTDSignalCrossedOverBear; bool isXTDSignalCrossedUnderBear; // // XFI ... bool isXFIPeak; bool isXFIVale; bool isXFICrossedOverZero; bool isXFIOverZero; bool isXFICrossedUnderZero; bool isXFIUnderZero; // // XTS ... bool isXTSAllSame; bool isXTSCurrentMin; bool isXTSCurrentMax; bool isXTSCurrentOverFarest; bool isXTSCurrentOverNearest; bool isXTSCurrentOverMediest; bool isXTSCurrentUnderFarest; bool isXTSCurrentUnderNearest; bool isXTSCurrentUnderMediest; bool isXTSCurrentCrossedOverFarest; bool isXTSCurrentCrossedOverNearest; bool isXTSCurrentCrossedOverMediest; bool isXTSCurrentCrossedUnderFarest; bool isXTSCurrentCrossedUnderNearest; bool isXTSCurrentCrossedUnderMediest; // // XRSI ... bool isXRSIPeak; bool isXRSIVale; bool isXRSICrossedOverLongExit; bool isXRSICrossedOverLongEntry; bool isXRSICrossedUnderShortExit; bool isXRSICrossedUnderShortEntry; // // XOBD ... bool isXOBDSwingLow; bool isXOBDSwingHigh; // // XCHLH ... // bool isXCHLHSameHHs; bool isXCHLHSameLLs; // bool isXCHLHSCMCHHSame; bool isXCHLHSCMCLLSame; // bool isXCHLHSCLCHHSame; bool isXCHLHSCLCLLSame; // bool isXCHLHMCLCHHSame; bool isXCHLHMCLCLLSame; // bool isXCHLHMCOnTopOfLC; bool isXCHLHMCInBottomOfLC; // // XCHMA ... // bool isXCHMASCOverMax; bool isXCHMASCOverMin; bool isXCHMASCUnderMax; bool isXCHMASCUnderMin; // bool isXCHMASCCrossedOverMax; bool isXCHMASCCrossedUnderMax; bool isXCHMASCCrossedOverMin; bool isXCHMASCCrossedUnderMin; // bool isXCHMASCPeak; bool isXCHMASCVale; bool isXCHMASCTrendsUp; bool isXCHMASCTrendsDown; bool isXCHMASCFastOverSlow; bool isXCHMASCFastUnderSlow; bool isXCHMASCFastCrossedOverSlow; bool isXCHMASCFastCrossedUnderSlow; // bool isXCHMAMCPeak; bool isXCHMAMCVale; bool isXCHMAMCTrendsUp; bool isXCHMAMCTrendsDown; bool isXCHMAMCFastOverSlow; bool isXCHMAMCFastUnderSlow; bool isXCHMAMCFastCrossedOverSlow; bool isXCHMAMCFastCrossedUnderSlow; // bool isXCHMALCPeak; bool isXCHMALCVale; bool isXCHMALCTrendsUp; bool isXCHMALCTrendsDown; bool isXCHMALCFastOverSlow; bool isXCHMALCFastUnderSlow; bool isXCHMALCFastCrossedOverSlow; bool isXCHMALCFastCrossedUnderSlow; }; // // END Define Enums ... // // // Include Provider Inputs ... #include "x-saherelm.xeu5.provider.inputs.lib.mq5" // // Signallers ... input group "XEU5 Signallers"; // // XTD ... input group "XEU5 XTD Signaller"; input bool xEU5XTDEnableSignaller = true; // Enable Signaller // input bool xEU5XTDEnableTPSL = false; // Enable TP/SL input bool xEU5XTDAllowLongSignals = true; // Enable Long Signals input bool xEU5XTDAllowShortSignals = true; // Enable Short Signals // // XTAM ... input group "XEU5 XTAM Signaller"; input bool xEU5XTAMEnableSignaller = true; // Enable Signaller // input bool xEU5XTAMEnableTPSL = false; // Enable TP/SL input bool xEU5XTAMAllowLongSignals = true; // Enable Long Signals input bool xEU5XTAMAllowShortSignals = true; // Enable Short Signals // // XSI ... input group "XEU5 XSI Signaller"; input bool xEU5XSIEnableSignaller = true; // Enable Signaller // input bool xEU5SIXEnableTPSL = false; // Enable TP/SL input bool xEU5XSIAllowLongSignals = true; // Enable Long Signals input bool xEU5XSIAllowShortSignals = true; // Enable Short Signals // // XSTFI ... input group "XEU5 XSTFI Signaller"; input bool xEU5XSTFIEnableSignaller = true; // Enable Signaller // input bool xEU5XSTFIEnableTPSL = false; // Enable TP/SL input bool xEU5XSTFIAllowLongSignals = true; // Enable Long Signals input bool xEU5XSTFIAllowShortSignals = true; // Enable Short Signals // // XOBDLH ... input group "XEU5 XOBDLH Signaller"; input bool xEU5XOBDLHEnableSignaller = true; // Enable Signaller // input bool xEU5XOBDLHEnableTPSL = false; // Enable TP/SL input bool xEU5XOBDLHAllowLongSignals = true; // Enable Long Signals input bool xEU5XOBDLHAllowShortSignals = true; // Enable Short Signals // // XCHMACC ... input group "XEU5 XCHMACC Signaller"; input bool xEU5XCHMACCEnableSignaller = true; // Enable Signaller // input bool xEU5XCHMACCEnableTPSL = false; // Enable TP/SL input bool xEU5XCHMACCAllowLongSignals = true; // Enable Long Signals input bool xEU5XCHMACCAllowShortSignals = true; // Enable Short Signals // // XCHMACMX ... input group "XEU5 XCHMACMX Signaller"; input bool xEU5XCHMACMXEnableSignaller = true; // Enable Signaller // input bool xEU5XCHMACMXEnableTPSL = false; // Enable TP/SL input bool xEU5XCHMACMXAllowLongSignals = true; // Enable Long Signals input bool xEU5XCHMACMXAllowShortSignals = true; // Enable Short Signals // // XCHMACMN ... input group "XEU5 XCHMACMN Signaller"; input bool xEU5XCHMACMNEnableSignaller = true; // Enable Signaller // input bool xEU5XCHMACMNEnableTPSL = false; // Enable TP/SL input bool xEU5XCHMACMNAllowLongSignals = true; // Enable Long Signals input bool xEU5XCHMACMNAllowShortSignals = true; // Enable Short Signals // // Imports all Indicators Helper here ... // input group "XEU5 Provider Indicators"; // #include "../Helpers/x-saherelm.xtm.indicator.helper.lib.mq5" #include "../Helpers/x-saherelm.xama.indicator.helper.lib.mq5" #include "../Helpers/x-saherelm.xlh.indicator.helper.lib.mq5" #include "../Helpers/x-saherelm.xtd.oscillator.helper.lib.mq5" #include "../Helpers/x-saherelm.xfi.oscillator.helper.lib.mq5" #include "../Helpers/x-saherelm.xts.oscillator.helper.lib.mq5" #include "../Helpers/x-saherelm.xobd.indicator.helper.lib.mq5" #include "../Helpers/x-saherelm.xrsi.oscillator.helper.lib.mq5" #include "../Helpers/x-saherelm.xchlh.oscillator.helper.lib.mq5" #include "../Helpers/x-saherelm.xchma.oscillator.helper.lib.mq5" // bool xEU5IsTestMode = true; int xEU5MaxLengthOfInputs = 0; int xEU5CalculatedBars = 0; // // Signaller Variables ... // // XTD ... bool xEU5MXTDEnableSignaller = xEU5XTDEnableSignaller; // bool xEU5MXTDEnableTPSL = xEU5XTDEnableTPSL; bool xEU5MXTDAllowLongSignals = xEU5XTDAllowLongSignals; bool xEU5MXTDAllowShortSignals = xEU5XTDAllowShortSignals; // // XTAM ... bool xEU5MXTAMEnableSignaller = xEU5XTAMEnableSignaller; // bool xEU5MXTAMEnableTPSL = xEU5XTAMEnableTPSL; bool xEU5MXTAMAllowLongSignals = xEU5XTAMAllowLongSignals; bool xEU5MXTAMAllowShortSignals = xEU5XTAMAllowShortSignals; // // XSI ... bool xEU5MXSIEnableSignaller = xEU5XSIEnableSignaller; // bool xEU5MSIXEnableTPSL = xEU5SIXEnableTPSL; bool xEU5MXSIAllowLongSignals = xEU5XSIAllowLongSignals; bool xEU5MXSIAllowShortSignals = xEU5XSIAllowShortSignals; // // XSTFI ... bool xEU5MXSTFIEnableSignaller = xEU5XSTFIEnableSignaller; // bool xEU5MXSTFIEnableTPSL = xEU5XSTFIEnableTPSL; bool xEU5MXSTFIAllowLongSignals = xEU5XSTFIAllowLongSignals; bool xEU5MXSTFIAllowShortSignals = xEU5XSTFIAllowShortSignals; // // XOBDLH ... bool xEU5MXOBDLHEnableSignaller = xEU5XOBDLHEnableSignaller; // bool xEU5MXOBDLHEnableTPSL = xEU5XOBDLHEnableTPSL; bool xEU5MXOBDLHAllowLongSignals = xEU5XOBDLHAllowLongSignals; bool xEU5MXOBDLHAllowShortSignals = xEU5XOBDLHAllowShortSignals; // // XCHMACC ... bool xEU5MXCHMACCEnableSignaller = xEU5XCHMACCEnableSignaller; // bool xEU5MXCHMACCEnableTPSL = xEU5XCHMACCEnableTPSL; bool xEU5MXCHMACCAllowLongSignals = xEU5XCHMACCAllowLongSignals; bool xEU5MXCHMACCAllowShortSignals = xEU5XCHMACCAllowShortSignals; // // XCHMAMX ... bool xEU5MXCHMACMXEnableSignaller = xEU5XCHMACMXEnableSignaller; // bool xEU5MXCHMACMXEnableTPSL = xEU5XCHMACMXEnableTPSL; bool xEU5MXCHMACMXAllowLongSignals = xEU5XCHMACMXAllowLongSignals; bool xEU5MXCHMACMXAllowShortSignals = xEU5XCHMACMXAllowShortSignals; // // XCHMAMN ... bool xEU5MXCHMACMNEnableSignaller = xEU5XCHMACMNEnableSignaller; // bool xEU5MXCHMACMNEnableTPSL = xEU5XCHMACMNEnableTPSL; bool xEU5MXCHMACMNAllowLongSignals = xEU5XCHMACMNAllowLongSignals; bool xEU5MXCHMACMNAllowShortSignals = xEU5XCHMACMNAllowShortSignals; // // Funded Next Resolve Guards ... bool isXEU5OnFundedNext = true; // // Here we Define some Global Market Variables to Analyse MArket Conditions // using them at each time ... XEU5MarketConditions xEU5Conditions = {}; // // Validate Indicators Inputs ... bool XEU5ValidateIndicatorsInputs() { // 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; } // result = true; // return result; } // // Init Indicators ... bool XEU5InitIndicators() { // bool result = false; // // Make it Enable when we need to Log Market Conditions ... // xEU5IsTestMode = false; // IsRunningOnTestMode(); // // Check and Calculate Max Length in Inputs ... // // // XTM ... xEU5MaxLengthOfInputs = MathMax( xTMMaPeriod, xEU5NumberOfItemsPerTick); // // XAMA ... xEU5MaxLengthOfInputs = MathMax( xAMALength, xEU5NumberOfItemsPerTick); xEU5MaxLengthOfInputs = MathMax( xAMAFastEMA, xEU5NumberOfItemsPerTick); xEU5MaxLengthOfInputs = MathMax( xAMASlowEMA, xEU5NumberOfItemsPerTick); // // XLH ... xEU5MaxLengthOfInputs = MathMax( xLHLength, xEU5NumberOfItemsPerTick); // // XTD ... xEU5MaxLengthOfInputs = MathMax( xTDLength, xEU5MaxLengthOfInputs); // // XFI ... xEU5MaxLengthOfInputs = MathMax( xFILength, xEU5MaxLengthOfInputs); // // XRSI ... xEU5MaxLengthOfInputs = MathMax( xRSILength, xEU5MaxLengthOfInputs); // // XOBD ... xEU5MaxLengthOfInputs = MathMax( xOBDLength, xEU5MaxLengthOfInputs); // // XCHLH ... xEU5MaxLengthOfInputs = MathMax( xCHLHLcLength, xEU5MaxLengthOfInputs); xEU5MaxLengthOfInputs = MathMax( xCHLHMcLength, xEU5MaxLengthOfInputs); xEU5MaxLengthOfInputs = MathMax( xCHLHScLength, xEU5MaxLengthOfInputs); // // XCHMA ... xEU5MaxLengthOfInputs = MathMax( xCHMAScFastLength, xEU5MaxLengthOfInputs); xEU5MaxLengthOfInputs = MathMax( xCHMAScSlowLength, xEU5MaxLengthOfInputs); xEU5MaxLengthOfInputs = MathMax( xCHMAMcFastLength, xEU5MaxLengthOfInputs); xEU5MaxLengthOfInputs = MathMax( xCHMAMcSlowLength, xEU5MaxLengthOfInputs); xEU5MaxLengthOfInputs = MathMax( xCHMALcFastLength, xEU5MaxLengthOfInputs); xEU5MaxLengthOfInputs = MathMax( xCHMALcSlowLength, xEU5MaxLengthOfInputs); // // Validate Indicators Inputs before Initialization ... result = XEU5ValidateIndicatorsInputs(); if (!result) { return result; } // // Validate Signallers ... // // XTD ... bool isXTDEnable = xEU5XTDEnableSignaller && (xEU5XTDAllowLongSignals || xEU5XTDAllowShortSignals); // // XTAM ... bool isXTAMEnable = xEU5XTAMEnableSignaller && (xEU5XTAMAllowLongSignals || xEU5XTAMAllowShortSignals); // // XSI ... bool isXSIEnable = xEU5XSIEnableSignaller && (xEU5XSIAllowLongSignals || xEU5XSIAllowShortSignals); // // XSTFI ... bool isXSTFIEnable = xEU5XSTFIEnableSignaller && (xEU5XSTFIAllowLongSignals || xEU5XSTFIAllowShortSignals); // // XOBDLH ... bool isXOBDLHEnable = xEU5XOBDLHEnableSignaller && (xEU5XOBDLHAllowLongSignals || xEU5XOBDLHAllowShortSignals); // // XCHMACC ... bool isXCHMACCEnable = xEU5XCHMACCEnableSignaller && (xEU5XCHMACCAllowLongSignals || xEU5XCHMACCAllowShortSignals); // // XCHMACMX ... bool isXCHMACMXEnable = xEU5XCHMACMXEnableSignaller && (xEU5XCHMACMXAllowLongSignals || xEU5XCHMACMXAllowShortSignals); // // XCHMACMN ... bool isXCHMACMNEnable = xEU5XCHMACMNEnableSignaller && (xEU5XCHMACMNAllowLongSignals || xEU5XCHMACMNAllowShortSignals); // bool hasSignaller = // isXTDEnable || isXTAMEnable || isXSIEnable || isXSTFIEnable || isXOBDLHEnable || isXCHMACCEnable || isXCHMACMXEnable || isXCHMACMNEnable // ; result = hasSignaller; if (!result) { // LogMessage("XEU5 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 XEU5ReleaseIndicators() { // // Release Handlers ... XTMReleaseHandlers(); XAMAReleaseHandlers(); XLHReleaseHandlers(); XTDReleaseHandlers(); XFIReleaseHandlers(); XTSReleaseHandlers(); XRSIReleaseHandlers(); XOBDReleaseHandlers(); XCHMAReleaseHandlers(); XCHLHReleaseHandlers(); } // // Handle Reading Buffers ... void XEU5HandleReadingBuffers() { // // Reading Calculated Bars for a Simple Handler ... xEU5CalculatedBars = BarsCalculated(xTMHandler); // // Read Indicators Buffers ... XTMReadBuffers(xEU5NumberOfItemsPerTick); XAMAReadBuffers(xEU5NumberOfItemsPerTick); XLHReadBuffers(xEU5NumberOfItemsPerTick); XTDReadBuffers(xEU5NumberOfItemsPerTick); XFIReadBuffers(xEU5NumberOfItemsPerTick); XTSReadBuffers(xEU5NumberOfItemsPerTick); XRSIReadBuffers(xEU5NumberOfItemsPerTick); XOBDReadBuffers(xEU5NumberOfItemsPerTick); XCHMAReadBuffers(xEU5NumberOfItemsPerTick); XCHLHReadBuffers(xEU5NumberOfItemsPerTick); // XEU5ReadConditions(); } // // // 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 XEU5CanOpenLongTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // info.tp = 0; info.sl = 0; ArrayResize( info.signallers, 0); // bool hasSignal = XEU5HasLongSignal(info); // result = // hasSignal // ; // if (result) { XEU5ClearConditions(); } // 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 XEU5CanCloseLongTrade() { // 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 XEU5CanOpenShortTrade( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // info.tp = 0; info.sl = 0; ArrayResize( info.signallers, 0); // bool hasSignal = XEU5HasShortSignal(info); // result = // hasSignal // ; // if (result) { XEU5ClearConditions(); } // 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 XEU5CanCloseShortTrade() { // bool result = false; // return result; } // // // END Combination Functions ... // // // // // START Combination Signaling ... // // // // Read All Globally Required Conditions ... void XEU5ReadConditions() { // XEU5ClearConditions(); // xEU5Conditions = XEU5GenerateMarketConditions(1); } // // Cleanup Conditions ... void XEU5ClearConditions() { // XEU5MarketConditions mConditions = {}; // xEU5Conditions = mConditions; } // // Generate Merket Conditions for Specified Bar Index ... XEU5MarketConditions XEU5GenerateMarketConditions( int bar_index = 1 // Specified Bar Index ... ) { // XEU5MarketConditions mConditions = {}; // // XTM ... mConditions.isXTMPeak = XTMIsPeak(bar_index); mConditions.isXTMVale = XTMIsVale(bar_index); mConditions.isXTMBullish = XTMIsBullish(bar_index); mConditions.isXTMBearish = XTMIsBearish(bar_index); mConditions.isXTMNeutural = XTMIsNeutural(bar_index); mConditions.isXTMEndBullish = XTMIsEndBullish(bar_index); mConditions.isXTMEndBearish = XTMIsEndBearish(bar_index); mConditions.isXTMStartBullish = XTMIsStartBullish(bar_index); mConditions.isXTMStartBearish = XTMIsStartBearish(bar_index); mConditions.isXTMEndBullishByNeutural = XTMIsEndBullishByNeutural(bar_index); mConditions.isXTMEndBearishByNeutural = XTMIsEndBearishByNeutural(bar_index); mConditions.isXTMStartBullishAfterNeutural = XTMIsStartBullishAfterNeutural(bar_index); mConditions.isXTMStartBearishAfterNeutural = XTMIsStartBearishAfterNeutural(bar_index); // // XAMA ... mConditions.isXAMAPeak = XAMAIsPeak(bar_index); mConditions.isXAMAVale = XAMAIsVale(bar_index); mConditions.isXAMABullish = XAMAIsBullish(bar_index); mConditions.isXAMABearish = XAMAIsBearish(bar_index); mConditions.isXAMANeutural = XAMAIsNeutural(bar_index); mConditions.isXAMAEndBullish = XAMAIsEndBullish(bar_index); mConditions.isXAMAEndBearish = XAMAIsEndBearish(bar_index); mConditions.isXAMAStartBullish = XAMAIsStartBullish(bar_index); mConditions.isXAMAStartBearish = XAMAIsStartBearish(bar_index); mConditions.isXAMAEndBullishByNeutural = XAMAIsEndBullishByNeutural(bar_index); mConditions.isXAMAEndBearishByNeutural = XAMAIsEndBearishByNeutural(bar_index); mConditions.isXAMAStartBullishAfterNeutural = XAMAIsStartBullishAfterNeutural(bar_index); mConditions.isXAMAStartBearishAfterNeutural = XAMAIsStartBearishAfterNeutural(bar_index); // // XLH ... mConditions.isXLHHHIncreased = XLHIsHHIncreased(bar_index); mConditions.isXLHHHDecreased = XLHIsHHDecreased(bar_index); mConditions.isXLHLLIncreased = XLHIsLLIncreased(bar_index); mConditions.isXLHLLDecreased = XLHIsLLDecreased(bar_index); mConditions.isXLHLowAttachedLL = XLHIsLowAttachedLL(bar_index); mConditions.isXLHHighAttachedHH = XLHIsHighAttachedHH(bar_index); mConditions.isXLHHHSameInLength = XLHIsHHSameInLength(bar_index); mConditions.isXLHLLSameInLength = XLHIsLLSameInLength(bar_index); mConditions.isXLHPriceOverSignal = XLHIsPriceOverSignal(bar_index); mConditions.isXLHPriceUnderSignal = XLHIsPriceUnderSignal(bar_index); mConditions.isXLHPriceInSignalRange = XLHIsPriceInSignalRange(bar_index); mConditions.isXLHPriceCrossedOverSignal = XLHIsPriceCrossedOverSignal(bar_index); mConditions.isXLHPriceCrossedUnderSignal = XLHIsPriceCrossedUnderSignal(bar_index); // // XTD ... mConditions.isXTDSignalPeak = XTDIsSignalPeak(bar_index); mConditions.isXTDSignalVale = XTDIsSignalVale(bar_index); mConditions.isXTDBullishPeak = XTDIsBullishPeak(bar_index); mConditions.isXTDBullishVale = XTDIsBullishVale(bar_index); mConditions.isXTDBearishPeak = XTDIsBearishPeak(bar_index); mConditions.isXTDBearishVale = XTDIsBearishVale(bar_index); mConditions.isXTDBullOverBear = XTDIsBullOverBear(bar_index); mConditions.isXTDBullUnderBear = XTDIsBullUnderBear(bar_index); mConditions.isXTDSignalOverBear = XTDIsSignalOverBear(bar_index); mConditions.isXTDSignalUnderBear = XTDIsSignalUnderBear(bar_index); mConditions.isXTDBullCrossedOverBear = XTDIsBullCrossedOverBear(bar_index); mConditions.isXTDBullCrossedUnderBear = XTDIsBullCrossedUnderBear(bar_index); mConditions.isXTDSignalCrossedOverBear = XTDIsSignalCrossedOverBear(bar_index); mConditions.isXTDSignalCrossedUnderBear = XTDIsSignalCrossedUnderBear(bar_index); // // XFI ... mConditions.isXFIPeak = XFIIsPeak(bar_index); mConditions.isXFIVale = XFIIsVale(bar_index); mConditions.isXFIOverZero = XFIIsOverZero(bar_index); mConditions.isXFIUnderZero = XFIIsUnderZero(bar_index); mConditions.isXFICrossedOverZero = XFIIsCrossedOverZero(bar_index); mConditions.isXFICrossedUnderZero = XFIIsCrossedUnderZero(bar_index); // // XTS ... mConditions.isXTSAllSame = XTSIsAllSame(bar_index); mConditions.isXTSCurrentMin = XTSIsCurrentMin(bar_index); mConditions.isXTSCurrentMax = XTSIsCurrentMax(bar_index); mConditions.isXTSCurrentOverFarest = XTSIsCurrentOverFarest(bar_index); mConditions.isXTSCurrentOverNearest = XTSIsCurrentOverNearest(bar_index); mConditions.isXTSCurrentOverMediest = XTSIsCurrentOverMediest(bar_index); mConditions.isXTSCurrentUnderFarest = XTSIsCurrentUnderFarest(bar_index); mConditions.isXTSCurrentUnderNearest = XTSIsCurrentUnderNearest(bar_index); mConditions.isXTSCurrentUnderMediest = XTSIsCurrentUnderMediest(bar_index); mConditions.isXTSCurrentCrossedOverFarest = XTSIsCurrentCrossedOverFarest(bar_index); mConditions.isXTSCurrentCrossedOverNearest = XTSIsCurrentCrossedOverNearest(bar_index); mConditions.isXTSCurrentCrossedOverMediest = XTSIsCurrentCrossedOverMediest(bar_index); mConditions.isXTSCurrentCrossedUnderFarest = XTSIsCurrentCrossedUnderFarest(bar_index); mConditions.isXTSCurrentCrossedUnderNearest = XTSIsCurrentCrossedUnderNearest(bar_index); mConditions.isXTSCurrentCrossedUnderMediest = XTSIsCurrentCrossedUnderMediest(bar_index); // // XRSI ... mConditions.isXRSIPeak = XRSIIsPeak(bar_index); mConditions.isXRSIVale = XRSIIsVale(bar_index); mConditions.isXRSICrossedOverLongExit = XRSIIsCrossedOverLongExit(bar_index); mConditions.isXRSICrossedOverLongEntry = XRSIIsCrossedOverLongEntry(bar_index); mConditions.isXRSICrossedUnderShortExit = XRSIIsCrossedUnderShortExit(bar_index); mConditions.isXRSICrossedUnderShortEntry = XRSIIsCrossedUnderShortEntry(bar_index); // // XOBD ... mConditions.isXOBDSwingLow = XOBDIsSwingLow(bar_index); mConditions.isXOBDSwingHigh = XOBDIsSwingHigh(bar_index); // // XCHLH ... // mConditions.isXCHLHSameHHs = XCHLHIsSameHHs(bar_index); mConditions.isXCHLHSameLLs = XCHLHIsSameLLs(bar_index); // mConditions.isXCHLHSCMCHHSame = XCHLHIsMCSCHasSameHH(bar_index); mConditions.isXCHLHSCMCLLSame = XCHLHIsMCSCHasSameLL(bar_index); // mConditions.isXCHLHSCLCHHSame = XCHLHIsLCSCHasSameHH(bar_index); mConditions.isXCHLHSCLCLLSame = XCHLHIsLCSCHasSameLL(bar_index); // mConditions.isXCHLHMCLCHHSame = XCHLHIsLCMCHasSameHH(bar_index); mConditions.isXCHLHMCLCLLSame = XCHLHIsLCMCHasSameLL(bar_index); // mConditions.isXCHLHMCOnTopOfLC = XCHLHIsMCOnTopOfLC(bar_index); mConditions.isXCHLHMCInBottomOfLC = XCHLHIsMCInBottomOfLC(bar_index); // // XCHMA ... // mConditions.isXCHMASCOverMax = XCHMAIsSCOverMax(bar_index); mConditions.isXCHMASCOverMin = XCHMAIsSCOverMin(bar_index); mConditions.isXCHMASCUnderMax = XCHMAIsSCUnderMax(bar_index); mConditions.isXCHMASCUnderMin = XCHMAIsSCUnderMin(bar_index); // mConditions.isXCHMASCCrossedOverMax = XCHMAIsSCCrossedOverMax(bar_index); mConditions.isXCHMASCCrossedUnderMax = XCHMAIsSCCrossedUnderMax(bar_index); mConditions.isXCHMASCCrossedOverMin = XCHMAIsSCCrossedOverMin(bar_index); mConditions.isXCHMASCCrossedUnderMin = XCHMAIsSCCrossedUnderMin(bar_index); // mConditions.isXCHMASCPeak = XCHMAIsSCPeak(bar_index); mConditions.isXCHMASCVale = XCHMAIsSCVale(bar_index); mConditions.isXCHMASCTrendsUp = XCHMAIsSCTrendsUp(bar_index); mConditions.isXCHMASCTrendsDown = XCHMAIsSCTrendsDown(bar_index); mConditions.isXCHMASCFastOverSlow = XCHMAIsSCFastOverSlow(bar_index); mConditions.isXCHMASCFastUnderSlow = XCHMAIsSCFastUnderSlow(bar_index); mConditions.isXCHMASCFastCrossedOverSlow = XCHMAIsSCFastCrossedOverSlow(bar_index); mConditions.isXCHMASCFastCrossedUnderSlow = XCHMAIsSCFastCrossedUnderSlow(bar_index); // mConditions.isXCHMAMCPeak = XCHMAIsMCPeak(bar_index); mConditions.isXCHMAMCVale = XCHMAIsMCVale(bar_index); mConditions.isXCHMAMCTrendsUp = XCHMAIsMCTrendsUp(bar_index); mConditions.isXCHMAMCTrendsDown = XCHMAIsMCTrendsDown(bar_index); mConditions.isXCHMAMCFastOverSlow = XCHMAIsMCFastOverSlow(bar_index); mConditions.isXCHMAMCFastUnderSlow = XCHMAIsMCFastUnderSlow(bar_index); mConditions.isXCHMAMCFastCrossedOverSlow = XCHMAIsMCFastCrossedOverSlow(bar_index); mConditions.isXCHMAMCFastCrossedUnderSlow = XCHMAIsMCFastCrossedUnderSlow(bar_index); // mConditions.isXCHMALCPeak = XCHMAIsLCPeak(bar_index); mConditions.isXCHMALCVale = XCHMAIsLCVale(bar_index); mConditions.isXCHMALCTrendsUp = XCHMAIsLCTrendsUp(bar_index); mConditions.isXCHMALCTrendsDown = XCHMAIsLCTrendsDown(bar_index); mConditions.isXCHMALCFastOverSlow = XCHMAIsLCFastOverSlow(bar_index); mConditions.isXCHMALCFastUnderSlow = XCHMAIsLCFastUnderSlow(bar_index); mConditions.isXCHMALCFastCrossedOverSlow = XCHMAIsLCFastCrossedOverSlow(bar_index); mConditions.isXCHMALCFastCrossedUnderSlow = XCHMAIsLCFastCrossedUnderSlow(bar_index); // return mConditions; } // // Check Market Conditions by Combination of Power of All tools for LONGs ... bool XEU5HasLongSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // // XTD ... bool isXTDHasSignal = XEU5XTDHasLongSignal(); if (isXTDHasSignal) { // Add( EnumToString(XTD), info.signallers); } // // XTAM ... bool isXTAMHasSignal = XEU5XTAMHasLongSignal(); if (isXTAMHasSignal) { // Add( EnumToString(XTAM), info.signallers); } // // XSI ... bool isXSIHasSignal = XEU5XSIHasLongSignal(); if (isXSIHasSignal) { // Add( EnumToString(XSI), info.signallers); } // // XSTFI ... bool isXSTFIHasSignal = XEU5XSTFIHasLongSignal(); if (isXSTFIHasSignal) { // Add( EnumToString(XSTFI), info.signallers); } // // XOBD XLH ... bool isXOBDLHHasSignal = XEU5XOBDLHHasLongSignal(); if (isXOBDLHHasSignal) { // Add( EnumToString(XOBDLH), info.signallers); } // // XCHMA Cycles Cross ... bool isXCHMACCHasSignal = XEU5XCHMACCHasLongSignal(); if (isXCHMACCHasSignal) { // Add( EnumToString(XCHMACC), info.signallers); } // // XCHMA Cycles Min ... bool isXCHMACMNHasSignal = XEU5XCHMACMNHasLongSignal(); if (isXCHMACMNHasSignal) { // Add( EnumToString(XCHMACMN), info.signallers); } // // XCHMA Cycles Max bool isXCHMACMXHasSignal = XEU5XCHMACMXHasLongSignal(); if (isXCHMACMXHasSignal) { // Add( EnumToString(XCHMACMX), info.signallers); } // result = // isXTDHasSignal // || // isXTAMHasSignal // || // isXSIHasSignal // || // isXSTFIHasSignal // || // isXOBDLHHasSignal // || // isXCHMACCHasSignal // || // isXCHMACMNHasSignal // || // isXCHMACMXHasSignal // ; // if (result) { // // Only Log Signals Time Market Conditions if is in Testing Mode ... if (xEU5IsTestMode) { // string message = XEU5GetConditionsString(xEU5Conditions, "\n"); // 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 XEU5HasShortSignal( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { // bool result = false; // // XTD ... bool isXTDHasSignal = XEU5XTDHasShortSignal(); if (isXTDHasSignal) { // Add( EnumToString(XTD), info.signallers); } // // XTAM ... bool isXTAMHasSignal = XEU5XTAMHasShortSignal(); if (isXTAMHasSignal) { // Add( EnumToString(XTAM), info.signallers); } // // XSI ... bool isXSIHasSignal = XEU5XSIHasShortSignal(); if (isXSIHasSignal) { // Add( EnumToString(XSI), info.signallers); } // // XSTFI ... bool isXSTFIHasSignal = XEU5XSTFIHasShortSignal(); if (isXSTFIHasSignal) { // Add( EnumToString(XSTFI), info.signallers); } // // XOBD XLH ... bool isXOBDLHHasSignal = XEU5XOBDLHHasShortSignal(); if (isXOBDLHHasSignal) { // Add( EnumToString(XOBDLH), info.signallers); } // // XCHMA Cycles Cross ... bool isXCHMACCHasSignal = XEU5XCHMACCHasShortSignal(); if (isXCHMACCHasSignal) { // Add( EnumToString(XCHMACC), info.signallers); } // // XCHMA Cycles Min ... bool isXCHMACMNHasSignal = XEU5XCHMACMNHasShortSignal(); if (isXCHMACMNHasSignal) { // Add( EnumToString(XCHMACMN), info.signallers); } // // XCHMA Cycles Max bool isXCHMACMXHasSignal = XEU5XCHMACMXHasShortSignal(); if (isXCHMACMXHasSignal) { // Add( EnumToString(XCHMACMX), info.signallers); } // result = // isXTDHasSignal // || // isXTAMHasSignal // || // isXSIHasSignal // || // isXSTFIHasSignal // || // isXOBDLHHasSignal // || // isXCHMACCHasSignal // || // isXCHMACMNHasSignal // || // isXCHMACMXHasSignal // ; // if (result) { // // Only Log Signals Time Market Conditions if is in Testing Mode ... if (xEU5IsTestMode) { // string message = XEU5GetConditionsString(xEU5Conditions, "\n"); // 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 XEU5DisableLongSignallers() { // // XTD ... if (xEU5MXTDEnableSignaller) { xEU5MXTDAllowLongSignals = false; } // // XTAM ... if (xEU5MXTAMEnableSignaller) { xEU5MXTAMAllowLongSignals = false; } // // XSI ... if (xEU5MXSIEnableSignaller) { xEU5MXSIAllowLongSignals = false; } // // XSTFI ... if (xEU5MXSTFIEnableSignaller) { xEU5MXSTFIAllowLongSignals = false; } // // XOBDLH ... if (xEU5MXOBDLHEnableSignaller) { xEU5MXOBDLHAllowLongSignals = false; } // // XCHMACC ... if (xEU5MXCHMACCEnableSignaller) { xEU5MXCHMACCAllowLongSignals = false; } // // XCHMAMX ... if (xEU5MXCHMACMXEnableSignaller) { xEU5MXCHMACMXAllowLongSignals = false; } // // XCHMAMN ... if (xEU5MXCHMACMNEnableSignaller) { xEU5MXCHMACMNAllowLongSignals = false; } } // // Enable All Signallers Longs ... // Only if they are Configured as Enable at Settings ... void XEU5EnableLongSignallers() { // // XTD ... if (xEU5MXTDEnableSignaller) { xEU5MXTDAllowLongSignals = xEU5XTDAllowLongSignals ? true : xEU5MXTDAllowLongSignals; } // // XTAM ... if (xEU5MXTAMEnableSignaller) { xEU5MXTAMAllowLongSignals = xEU5XTAMAllowLongSignals ? true : xEU5MXTAMAllowLongSignals; } // // XSI ... if (xEU5MXSIEnableSignaller) { xEU5MXSIAllowLongSignals = xEU5XSIAllowLongSignals ? true : xEU5MXSIAllowLongSignals; } // // XSTFI ... if (xEU5MXSTFIEnableSignaller) { xEU5MXSTFIAllowLongSignals = xEU5XSTFIAllowLongSignals ? true : xEU5MXSTFIAllowLongSignals; } // // XOBDLH ... if (xEU5MXOBDLHEnableSignaller) { xEU5MXOBDLHAllowLongSignals = xEU5XOBDLHAllowLongSignals ? true : xEU5MXOBDLHAllowLongSignals; } // // XCHMACC ... if (xEU5MXCHMACCEnableSignaller) { xEU5MXCHMACCAllowLongSignals = xEU5XCHMACCAllowLongSignals ? true : xEU5MXCHMACCAllowLongSignals; } // // XCHMAMX ... if (xEU5MXCHMACMXEnableSignaller) { xEU5MXCHMACMXAllowLongSignals = xEU5XCHMACMXAllowLongSignals ? true : xEU5MXCHMACMXAllowLongSignals; } // // XCHMAMN ... if (xEU5MXCHMACMNEnableSignaller) { xEU5MXCHMACMNAllowLongSignals = xEU5XCHMACMNAllowLongSignals ? true : xEU5MXCHMACMNAllowLongSignals; } } // // Disable All Signallers Shorts ... void XEUDisableShortSignallers() { // // XTD ... if (xEU5MXTDEnableSignaller) { xEU5MXTDAllowShortSignals = false; } // // XTAM ... if (xEU5MXTAMEnableSignaller) { xEU5MXTAMAllowShortSignals = false; } // // XSI ... if (xEU5MXSIEnableSignaller) { xEU5MXSIAllowShortSignals = false; } // // XSTFI ... if (xEU5MXSTFIEnableSignaller) { xEU5MXSTFIAllowShortSignals = false; } // // XOBDLH ... if (xEU5MXOBDLHEnableSignaller) { xEU5MXOBDLHAllowShortSignals = false; } // // XCHMACC ... if (xEU5MXCHMACCEnableSignaller) { xEU5MXCHMACCAllowShortSignals = false; } // // XCHMAMX ... if (xEU5MXCHMACMXEnableSignaller) { xEU5MXCHMACMXAllowShortSignals = false; } // // XCHMAMN ... if (xEU5MXCHMACMNEnableSignaller) { xEU5MXCHMACMNAllowShortSignals = false; } } // // Enable All Signallers Shorts ... // Only if they are Configured as Enable at Settings ... void XEUEnableShortSignallers() { // // XTD ... if (xEU5MXTDEnableSignaller) { xEU5MXTDAllowShortSignals = xEU5XTDAllowShortSignals ? true : xEU5MXTDAllowShortSignals; } // // XTAM ... if (xEU5MXTAMEnableSignaller) { xEU5MXTAMAllowShortSignals = xEU5XTAMAllowShortSignals ? true : xEU5MXTAMAllowShortSignals; } // // XSI ... if (xEU5MXSIEnableSignaller) { xEU5MXSIAllowShortSignals = xEU5XSIAllowShortSignals ? true : xEU5MXSIAllowShortSignals; } // // XSTFI ... if (xEU5MXSTFIEnableSignaller) { xEU5MXSTFIAllowShortSignals = xEU5XSTFIAllowShortSignals ? true : xEU5MXSTFIAllowShortSignals; } // // XOBDLH ... if (xEU5MXOBDLHEnableSignaller) { xEU5MXOBDLHAllowShortSignals = xEU5XOBDLHAllowShortSignals ? true : xEU5MXOBDLHAllowShortSignals; } // // XCHMACC ... if (xEU5MXCHMACCEnableSignaller) { xEU5MXCHMACCAllowShortSignals = xEU5XCHMACCAllowShortSignals ? true : xEU5MXCHMACCAllowShortSignals; } // // XCHMAMX ... if (xEU5MXCHMACMXEnableSignaller) { xEU5MXCHMACMXAllowShortSignals = xEU5XCHMACMXAllowShortSignals ? true : xEU5MXCHMACMXAllowShortSignals; } // // XCHMAMN ... if (xEU5MXCHMACMNEnableSignaller) { xEU5MXCHMACMNAllowShortSignals = xEU5XCHMACMNAllowShortSignals ? true : xEU5MXCHMACMNAllowShortSignals; } } // // XTD Long Signal Checking ... bool XEU5XTDHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXTDEnableSignaller || !xEU5MXTDAllowLongSignals) { return result; } // result = // xEU5Conditions.isXTDSignalCrossedOverBear && // !xEU5Conditions.isXLHHighAttachedHH && !xEU5Conditions.isXLHPriceInSignalRange && // !xEU5Conditions.isXCHMAMCPeak && !xEU5Conditions.isXCHMALCPeak && !xEU5Conditions.isXCHMAMCFastUnderSlow && !xEU5Conditions.isXCHMALCFastUnderSlow && !xEU5Conditions.isXCHMAMCFastCrossedUnderSlow && !xEU5Conditions.isXCHMALCFastCrossedUnderSlow // && // !( // xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax // ) // && // !( // xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXLHPriceOverSignal // ) // && // !( // xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMAMCFastOverSlow // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBearishVale && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXTDSignalCrossedOverBear && xEU5Conditions.isXCHMASCFastCrossedUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXTDSignalCrossedOverBear && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XTD Short Signal Checking ... bool XEU5XTDHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXTDEnableSignaller || !xEU5MXTDAllowShortSignals) { return result; } // result = // xEU5Conditions.isXTDSignalCrossedUnderBear // && // !xEU5Conditions.isXLHLowAttachedLL && !xEU5Conditions.isXLHPriceInSignalRange && // !xEU5Conditions.isXCHMAMCVale && !xEU5Conditions.isXCHMALCVale && !xEU5Conditions.isXCHMAMCFastOverSlow && !xEU5Conditions.isXCHMALCFastOverSlow && !xEU5Conditions.isXCHMAMCFastCrossedOverSlow && !xEU5Conditions.isXCHMALCFastCrossedOverSlow // && // !( // xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && !( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin // ) // && !( // xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXTDSignalCrossedUnderBear // ) // && // !( // xEU5Conditions.isXTMBearish && xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXTDSignalCrossedUnderBear && xEU5Conditions.isXLHPriceCrossedUnderSignal && xEU5Conditions.isXCHMASCFastCrossedUnderSlow // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XTAM Long Signal Checking ... bool XEU5XTAMHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXTAMEnableSignaller || !xEU5MXTAMAllowLongSignals) { return result; } // result = // xAMAMaBuffer[1] > xTMMaBuffer[1] && xAMAMaBuffer[2] > xTMMaBuffer[2] // && // xEU5Conditions.isXAMABullish // && // xEU5Conditions.isXTMBullish // && // xEU5Conditions.isXLHLLSameInLength // && // xEU5Conditions.isXFIOverZero // && // xEU5Conditions.isXTSCurrentMax // && // xEU5Conditions.isXTSCurrentOverFarest // && // xEU5Conditions.isXCHMASCUnderMax // && // !xEU5Conditions.isXOBDSwingLow // && // !xEU5Conditions.isXTDSignalCrossedUnderBear // && // !( // ( // ( xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow) // && // ( xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow) ) // || // ( // ( xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow) // && // ( xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow) // && // ( xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow) // ) // ) // && // ( // ( xEU5Conditions.isXCHMASCFastOverSlow ? !xEU5Conditions.isXCHMASCTrendsDown : true) // || // ( xEU5Conditions.isXCHMAMCFastOverSlow ? !xEU5Conditions.isXCHMAMCTrendsDown : true) // || // ( xEU5Conditions.isXCHMALCFastOverSlow ? !xEU5Conditions.isXCHMALCTrendsDown : true) // ) // && // ( // (xEU5Conditions.isXLHHHSameInLength || xEU5Conditions.isXLHLLSameInLength) ? !( xEU5Conditions.isXLHPriceInSignalRange || xEU5Conditions.isXLHPriceUnderSignal) : true // ) // && // ( // xEU5Conditions.isXTSCurrentMax || xEU5Conditions.isXFICrossedOverZero || (xEU5Conditions.isXTSCurrentOverNearest || xEU5Conditions.isXTSCurrentCrossedOverNearest) || (xEU5Conditions.isXTSCurrentOverMediest || xEU5Conditions.isXTSCurrentCrossedOverMediest) ? (!xEU5Conditions.isXLHPriceOverSignal && !xEU5Conditions.isXLHPriceUnderSignal && !xEU5Conditions.isXLHPriceInSignalRange && !xEU5Conditions.isXLHPriceCrossedOverSignal && !xEU5Conditions.isXLHPriceCrossedUnderSignal ? !( ( xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) // || // ( xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXLHLLSameInLength) // ) : true) && (xEU5Conditions.isXLHPriceInSignalRange ? !xEU5Conditions.isXLHHighAttachedHH : true) && (xEU5Conditions.isXLHPriceUnderSignal ? !(xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXLHLLSameInLength) : true) && ((xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) ? !( // ( ( xEU5Conditions.isXLHLLDecreased || xEU5Conditions.isXLHHHDecreased || xEU5Conditions.isXLHHHSameInLength || xEU5Conditions.isXLHHighAttachedHH) && xEU5Conditions.isXLHLLSameInLength) // || // ( xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) // || // ( xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHMCLCLLSame) // || // (xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXRSICrossedUnderShortEntry && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow) // ) : true) : true // ) // && // ( // xEU5Conditions.isXLHLLSameInLength && (xEU5Conditions.isXTSCurrentOverNearest || xEU5Conditions.isXTSCurrentOverMediest) ? !(xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) : true // ) // && // // False Positives ... // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXTSCurrentMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTMStartBullish && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXAMAStartBullish && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMASCCrossedUnderMax // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTSCurrentMax && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXLHLLSameInLength && ( // xEU5Conditions.isXLHHHIncreased || xEU5Conditions.isXLHHighAttachedHH // ) // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMASCFastCrossedOverSlow // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXTSCurrentOverFarest && xEU5Conditions.isXTSCurrentOverMediest // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXTDBearishVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXTSCurrentMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXFICrossedOverZero && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXTSCurrentOverNearest && xEU5Conditions.isXTSCurrentOverMediest && xEU5Conditions.isXTDSignalCrossedOverBear && xEU5Conditions.isXTSCurrentCrossedOverNearest && xEU5Conditions.isXTSCurrentCrossedOverMediest // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTSCurrentMax && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXFICrossedOverZero && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXTDBullCrossedOverBear && xEU5Conditions.isXLHPriceCrossedOverSignal && xEU5Conditions.isXCHMAMCFastCrossedOverSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXRSICrossedOverLongExit // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // (xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXTDBullCrossedUnderBear) // || // ((xEU5Conditions.isXCHMASCFastUnderSlow || xEU5Conditions.isXCHMASCFastCrossedUnderSlow) && (xEU5Conditions.isXCHMAMCFastUnderSlow || xEU5Conditions.isXCHMAMCFastCrossedUnderSlow)) // || // (xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXLHLLSameInLength) // || // ((xEU5Conditions.isXCHMAMCVale && (xEU5Conditions.isXCHMAMCFastUnderSlow || xEU5Conditions.isXCHMAMCFastCrossedUnderSlow)) && (xEU5Conditions.isXCHMALCVale && (xEU5Conditions.isXCHMALCFastUnderSlow || xEU5Conditions.isXCHMALCFastCrossedUnderSlow)) // ) // || // (xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXTDSignalUnderBear) // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // ) // && // // Funded ... !( // (xEU5Conditions.isXCHMALCPeak && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXLHPriceOverSignal && (xEU5Conditions.isXCHMAMCFastUnderSlow || xEU5Conditions.isXCHMAMCFastCrossedUnderSlow)) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XTAM Short Signal Checking ... bool XEU5XTAMHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXTAMEnableSignaller || !xEU5MXTAMAllowShortSignals) { return result; } // result = // xAMAMaBuffer[1] < xTMMaBuffer[1] && xAMAMaBuffer[2] < xTMMaBuffer[2] // && // xEU5Conditions.isXAMABearish // && // xEU5Conditions.isXTMBearish // && // xEU5Conditions.isXFIUnderZero // && // xEU5Conditions.isXTSCurrentMin // && // xEU5Conditions.isXTSCurrentUnderFarest // && // !xEU5Conditions.isXOBDSwingHigh // && // !( // xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale // ) // && // ( // ((xEU5Conditions.isXTSCurrentUnderNearest || xEU5Conditions.isXTSCurrentCrossedUnderNearest) || (xEU5Conditions.isXTSCurrentUnderMediest || xEU5Conditions.isXTSCurrentCrossedUnderMediest)) ? ( // ( // (xEU5Conditions.isXLHPriceUnderSignal || xEU5Conditions.isXLHPriceInSignalRange || xEU5Conditions.isXLHPriceCrossedUnderSignal) ? !( (xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHLHSCMCLLSame) // || // (xEU5Conditions.isXLHLLDecreased && (xEU5Conditions.isXCHLHSCMCLLSame || xEU5Conditions.isXCHLHMCLCHHSame)) // || // (xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXLHHHIncreased) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHSCMCHHSame) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHLHSameLLs || xEU5Conditions.isXLHLowAttachedLL || xEU5Conditions.isXLHHHSameInLength) // || // (xEU5Conditions.isXLHLLSameInLength && // ( // xEU5Conditions.isXLHHHSameInLength // || // (xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow) // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHMAMCVale && (xEU5Conditions.isXLHHHDecreased || xEU5Conditions.isXCHMALCPeak)) // || // (xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && (xEU5Conditions.isXCHMALCPeak || xEU5Conditions.isXCHMASCFastOverSlow)) // || // (xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXTDBullCrossedUnderBear) // || // (xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow) // ) // ) // ) : (xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) ? ( !( xEU5Conditions.isXCHLHSameHHs // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHSCMCHHSame) // || // (xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXLHLLIncreased) // || // (xEU5Conditions.isXLHLLSameInLength && (xEU5Conditions.isXLHHHSameInLength // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMALCFastOverSlow) // ) // ) // || // (xEU5Conditions.isXLHHHSameInLength && ( // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow) // ) // ) // || // ( xEU5Conditions.isXLHLLSameInLength && ( // (xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow) // )) // ) // ) : ( !xEU5Conditions.isXLHPriceOverSignal && !xEU5Conditions.isXLHPriceUnderSignal && !xEU5Conditions.isXLHPriceInSignalRange && !xEU5Conditions.isXLHPriceCrossedOverSignal && !xEU5Conditions.isXLHPriceCrossedUnderSignal) ? !( // (xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) // || // (xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow) // ) : true) // ) : true // ) // && // ( // ( (xEU5Conditions.isXTDBullOverBear || (xEU5Conditions.isXTDBullUnderBear || xEU5Conditions.isXTDBullCrossedUnderBear)) && (xEU5Conditions.isXTDSignalUnderBear || xEU5Conditions.isXTDSignalCrossedUnderBear)) ? !( (xEU5Conditions.isXTMVale && xEU5Conditions.isXAMAVale) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHLLSameInLength) // || // (xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXLHHHSameInLength) // || // (xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHPriceCrossedUnderSignal) // ) : true // ) // && // ( // (xEU5Conditions.isXLHPriceUnderSignal || xEU5Conditions.isXLHPriceCrossedUnderSignal) ? !( // (xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXCHLHSameHHs) // || // ( xEU5Conditions.isXLHHHSameInLength && ( // (xEU5Conditions.isXLHLLSameInLength && // ( (xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHMCLCHHSame) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow) // ) // ) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXLHLowAttachedLL) // || // (xEU5Conditions.isXCHMALCVale && ( // xEU5Conditions.isXCHMAMCVale // || // xEU5Conditions.isXCHMASCFastOverSlow // ) // ) // || // xEU5Conditions.isXCHLHSameLLs // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHMCLCHHSame) // ) // ) // || // (xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXRSICrossedOverLongExit && xEU5Conditions.isXLHPriceCrossedUnderSignal) // ) : xEU5Conditions.isXLHPriceInSignalRange ? ( // ( xEU5Conditions.isXLHHHSameInLength ? !( // xEU5Conditions.isXCHLHSameLLs // || // (xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXTDSignalVale || xEU5Conditions.isXLHLLSameInLength) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow) // || // // Funded ... ( // (xEU5Conditions.isXTMVale && xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMALCPeak) // || // ((xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ) : true // ) // ) : (xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) ? !( (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXLHHHSameInLength && ( // xEU5Conditions.isXLHLLSameInLength // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow) // ) // ) // ) : true // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHPriceInSignalRange && xEU5Conditions.isXTSCurrentCrossedUnderFarest // ) // && // // False Positives ... !( ((xEU5Conditions.isXTSCurrentUnderNearest || xEU5Conditions.isXTSCurrentCrossedUnderNearest) // || // (xEU5Conditions.isXTSCurrentUnderMediest || xEU5Conditions.isXTSCurrentCrossedUnderMediest) // ) // ? (xEU5Conditions.isXLHPriceInSignalRange ? ( // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // || // (xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXLHLLSameInLength && ( // xEU5Conditions.isXFICrossedUnderZero // || // (xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXLHHHDecreased || // ( // xEU5Conditions.isXCHMAMCFastOverSlow || // (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) // || // (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow) // ) // || // (xEU5Conditions.isXTMBearish && xEU5Conditions.isXAMABearish && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalCrossedUnderBear) // ) // || // (xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXTSCurrentCrossedUnderFarest && xEU5Conditions.isXTSCurrentCrossedUnderNearest) // ) // ) // ) // : (xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) ? ( // (xEU5Conditions.isXLHHHSameInLength && // ( // xEU5Conditions.isXTMVale // || // xEU5Conditions.isXTDSignalCrossedUnderBear // || // (xEU5Conditions.isXCHLHMCLCHHSame && (xEU5Conditions.isXCHMAMCPeak || xEU5Conditions.isXCHMAMCFastOverSlow)) // || // (xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale) // || // (xEU5Conditions.isXCHMASCVale && (xEU5Conditions.isXCHMALCVale || xEU5Conditions.isXCHMASCFastOverSlow)) // || // (xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXLHLLIncreased) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMALCFastUnderSlow) // || // (!xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMAMCTrendsDown && !xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMASCCrossedUnderMax) // ) // ) // || // (xEU5Conditions.isXLHLLSameInLength && ( // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHHHDecreased) // || // (xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCFastOverSlow) // ) // ) // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // || // (xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // ) // : (xEU5Conditions.isXLHPriceUnderSignal || xEU5Conditions.isXLHPriceCrossedUnderSignal) ? ( // (xEU5Conditions.isXLHLLSameInLength && ( // xEU5Conditions.isXCHLHSCMCHHSame // || // xEU5Conditions.isXCHMAMCFastOverSlow // || // xEU5Conditions.isXRSICrossedUnderShortExit // || // (xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale) // || // (xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMALCFastOverSlow) // || // ((xEU5Conditions.isXCHMALCPeak || xEU5Conditions.isXCHMAMCVale) && xEU5Conditions.isXCHMALCFastOverSlow) // ) // ) // || // (xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin) // || // (xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHSCMCLLSame) // ) // // XLH Price False ... : // // Funed ... ( // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // ( xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXLHHHSameInLength) // || // ( (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // ) // ) // // Just Current XTS Min and Farest ... : (xEU5Conditions.isXLHPriceInSignalRange ? ( // (xEU5Conditions.isXLHHHSameInLength && ( // xEU5Conditions.isXCHMASCFastOverSlow // || // (xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHLHMCLCHHSame) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow) // ) // ) // || // (xEU5Conditions.isXLHLLSameInLength && ( // (xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalCrossedUnderBear && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // ) // ) // ) // : (xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) ? ( // ( xEU5Conditions.isXLHLLSameInLength && ( // xEU5Conditions.isXCHLHMCLCLLSame // || // xEU5Conditions.isXFICrossedUnderZero // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCFastOverSlow) // )) // ) // : ( xEU5Conditions.isXLHPriceUnderSignal || xEU5Conditions.isXLHPriceCrossedUnderSignal) ? ( // ( // (xEU5Conditions.isXLHHHSameInLength && ( // (xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHSCMCLLSame) // || // (xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin) // || // (xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXFICrossedUnderZero) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow) // ) // ) // || // (xEU5Conditions.isXLHLLSameInLength && ( // (xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHLHMCOnTopOfLC) // || // ((xEU5Conditions.isXCHMALCPeak || xEU5Conditions.isXCHMAMCVale) && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXTDBullOverBear) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // ) // ) // || // ( (xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) && ( // xEU5Conditions.isXLHHHDecreased // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // ) // ) // || // (xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale) // || // (xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXLHLowAttachedLL) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // ) // ) // // XLH Price Falses ... : ( // (xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHLHSCMCHHSame) // || // (xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow) // || // ((xEU5Conditions.isXTMBearish || xEU5Conditions.isXTMStartBearish) && (xEU5Conditions.isXAMABearish || xEU5Conditions.isXAMAStartBearish) && (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) && xEU5Conditions.isXLHLLIncreased && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) // ) // ) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XSI Long Signal Checking ... bool XEU5XSIHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXSIEnableSignaller || !xEU5MXSIAllowLongSignals) { return result; } // result = // xEU5Conditions.isXRSICrossedOverLongEntry && xRSIBuffer[3] < xRSILongEntryValue // && // !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXCHMASCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin // ) // && // ( // xEU5Conditions.isXCHMASCUnderMin ? !( // xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMASCFastUnderSlow // ) && !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastUnderSlow // ) : true // ) // && // !( // xEU5Conditions.isXCHMASCVale || xEU5Conditions.isXCHMASCFastCrossedUnderSlow // ) // && // ( // xEU5Conditions.isXCHMAMCFastOverSlow ? !xEU5Conditions.isXCHMAMCTrendsDown : true // ) // && // !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCPeak // ) // && // ( // xEU5Conditions.isXCHMASCUnderMin ? !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXTDBearishVale && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength // ) : true // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXTMEndBearishByNeutural // ) // && // !( // xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHSCLCLLSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXLHPriceInSignalRange && xEU5Conditions.isXCHMASCFastCrossedOverSlow // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHSCLCLLSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMASCFastCrossedOverSlow // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XSI Short Signal Checking ... bool XEU5XSIHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXSIEnableSignaller || !xEU5MXSIAllowShortSignals) { return result; } // result = // xEU5Conditions.isXRSICrossedUnderShortEntry && xRSIBuffer[3] > xRSIShortEntryValue && !xEU5Conditions.isXOBDSwingHigh // && // !( // ( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak // ) // || // ( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak // ) // || // ( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCPeak // ) // || // ( // xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // ) // && // !( // xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXTDSignalCrossedOverBear // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXCHMASCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXTDSignalOverBear // ) // && // !( // xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // && // !( // xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHSCLCHHSame && xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXLHPriceInSignalRange // ) // && // !( // xEU5Conditions.isXTMBearish && xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHSCLCHHSame && xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXLHPriceInSignalRange && xEU5Conditions.isXLHPriceCrossedUnderSignal && xEU5Conditions.isXCHMASCFastCrossedUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXTDSignalCrossedOverBear // ) // && // !( // xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXLHPriceCrossedUnderSignal && xEU5Conditions.isXCHMASCFastCrossedUnderSlow // ) // && // !( // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXTDBullCrossedUnderBear && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) // || // ((xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMABullish && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalOverBear) || (xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal) || ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow))) // || // (xEU5Conditions.isXTSCurrentMax && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XSTFI Long Signal Checking ... bool XEU5XSTFIHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXSTFIEnableSignaller || !xEU5MXSTFIAllowLongSignals) { return result; } // result = // // Base Condition ... XTSGetMinValue(1) == xTSFarestBuffer[1] && (xEU5Conditions.isXTSCurrentOverFarest || xEU5Conditions.isXTSCurrentCrossedOverFarest) && (xTSCurrentBuffer[1] < xTSNearestBuffer[1] || xTSCurrentBuffer[1] < xTSMediestBuffer[1]) && !(xEU5Conditions.isXTSCurrentUnderNearest || xEU5Conditions.isXTSCurrentCrossedUnderNearest) // && // // Check Market MA's ... ( // ( // ( // (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) // && // (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) // && // (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow) // ) // ) // && // ( // !(xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // && // !(xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // && // !(xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin) // ) // // End of Check MA's ... ) // && // // Check XTS ... ( // !( // (xEU5Conditions.isXTSCurrentUnderNearest && xEU5Conditions.isXTSCurrentCrossedUnderNearest) // || // (xEU5Conditions.isXTSCurrentUnderMediest && xEU5Conditions.isXTSCurrentCrossedUnderMediest) // ) // // End Of Check XTS ... ) // && // // Check XLH ... ( // // Based On Price ... !( // // Signal Range ... ( // xEU5Conditions.isXLHPriceInSignalRange && ( // ((xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) && ( // xEU5Conditions.isXCHMALCPeak // ) // ) // || // (xEU5Conditions.isXLHLLSameInLength && ( // (xEU5Conditions.isXTMStartBearish && xEU5Conditions.isXAMAStartBearish && xEU5Conditions.isXFICrossedOverZero) // || // (((xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow) || xEU5Conditions.isXCHMALCPeak) && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastOverSlow) // ) // ) // || // (xEU5Conditions.isXLHHHSameInLength && // ( // ((xEU5Conditions.isXCHMASCTrendsDown && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) && (xEU5Conditions.isXCHMAMCTrendsDown && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow))) // || // (xEU5Conditions.isXAMABullish && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXOBDSwingHigh && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHLHMCLCHHSame) // ) // ) // || // ( // ((xEU5Conditions.isXCHMASCPeak || xEU5Conditions.isXCHMAMCPeak) && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXFICrossedOverZero && xEU5Conditions.isXTDSignalCrossedOverBear) // || // (xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXLHHHSameInLength) // || // (xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXTDBearishVale) // )) // ) // || // // Under Signal ... ( // (xEU5Conditions.isXLHPriceUnderSignal || xEU5Conditions.isXLHPriceCrossedUnderSignal) && ( // (xEU5Conditions.isXLHHHSameInLength && ( // ((xEU5Conditions.isXCHMAMCVale || xEU5Conditions.isXCHMAMCPeak || xEU5Conditions.isXFICrossedUnderZero) && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural) // || // (xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHLHMCLCHHSame) // ) // ) // || // (xEU5Conditions.isXLHLLSameInLength && ( // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // // Funded ... ( // (xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXTSCurrentOverFarest && xEU5Conditions.isXTSCurrentUnderMediest) // || // (xEU5Conditions.isXCHMASCTrendsDown && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow))) // ) // ) // || // ((xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) && ( // ((xEU5Conditions.isXCHMASCPeak || xEU5Conditions.isXTDBearishVale || xEU5Conditions.isXCHLHMCLCHHSame || (xEU5Conditions.isXTMBearish && xEU5Conditions.isXAMABearish) || (xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow)) && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHLHMCLCHHSame && (xEU5Conditions.isXFICrossedOverZero || (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXCHMAMCTrendsDown))) // || // (xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow) // ) // ) // ) // ) // || // // Over Signal ... ( // (xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) && ( // ((xEU5Conditions.isXCHMASCPeak || xEU5Conditions.isXCHMAMCPeak) && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) // || // (xEU5Conditions.isXLHLLSameInLength && // ( // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXLHHHDecreased) // ) // ) // ) // ) // || // // Price Nothing ... ( // ( !xEU5Conditions.isXLHPriceOverSignal && !xEU5Conditions.isXLHPriceUnderSignal && !xEU5Conditions.isXLHPriceInSignalRange && !xEU5Conditions.isXLHPriceCrossedOverSignal && !xEU5Conditions.isXLHPriceCrossedUnderSignal) && ( // (xEU5Conditions.isXLHHHSameInLength && // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // ) // ) // ) // // End Based On Price Check ... ) // // End Of Check XLH ... ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XSTFI Short Signal Checking ... bool XEU5XSTFIHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXSTFIEnableSignaller || !xEU5MXSTFIAllowShortSignals) { return result; } // result = // // Base Conditions ... XTSGetMaxValue(1) == xTSFarestBuffer[1] && (xEU5Conditions.isXTSCurrentUnderFarest || xEU5Conditions.isXTSCurrentCrossedUnderFarest) && (xTSCurrentBuffer[1] > xTSNearestBuffer[1] || xTSCurrentBuffer[1] > xTSMediestBuffer[1]) && !(xEU5Conditions.isXTSCurrentOverNearest || xEU5Conditions.isXTSCurrentCrossedOverNearest) // && // // XOBD Check ... !xEU5Conditions.isXOBDSwingHigh // && // // XCHMA Check ... ( // !(xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // && // !(xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin) // && // !(xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // ) // && // // XLH Prices ... ( // !( // // Signal Range ... (xEU5Conditions.isXLHPriceInSignalRange && // ( // (xEU5Conditions.isXLHLLSameInLength && // ( // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural) // || (xEU5Conditions.isXTMVale && xEU5Conditions.isXAMAVale && xEU5Conditions.isXTMEndBearish) // || // (xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMAEndBullish && xEU5Conditions.isXLHLLDecreased) // || // (xEU5Conditions.isXCHMASCTrendsUp && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) // || // ((xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMALCVale) && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // (xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXCHLHMCLCLLSame) // || // (xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMALCFastOverSlow) // || // ((xEU5Conditions.isXTMBullish || xEU5Conditions.isXTMStartBullish) && (xEU5Conditions.isXAMABullish || xEU5Conditions.isXAMAStartBullish)) // ) // ) // || // (xEU5Conditions.isXLHHHSameInLength && // ( // (xEU5Conditions.isXTMVale && xEU5Conditions.isXAMAVale) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMABullish) // || // (xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXTDBearishVale) // || // // Funded ... ( // ( // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXAMAEndBearish && xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXFICrossedUnderZero) // || // (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) // ) // ) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCTrendsUp && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) // || // (xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHLLIncreased) // || // ((xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && ( // xEU5Conditions.isXCHMAMCPeak // || // (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow) // || // (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) // ) // ) // ) // ) // || // ((xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) && // ( // (xEU5Conditions.isXAMABullish && xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXCHLHSCMCLLSame) // || // (xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTMEndBearish) // || // ((xEU5Conditions.isXCHMAMCPeak || xEU5Conditions.isXCHMAMCVale) && (xEU5Conditions.isXCHMALCPeak || (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow))) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && ((xEU5Conditions.isXTMStartBullish && xEU5Conditions.isXAMAEndBearish) || (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow) || (xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXTSCurrentOverMediest && xEU5Conditions.isXTSCurrentUnderFarest && xEU5Conditions.isXTSCurrentUnderNearest))) // || // // Funded ... ( // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMABearish && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTMEndBearish && xEU5Conditions.isXCHLHMCLCLLSame) // ) // ) // ) // || ( // ((xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && // ( // xEU5Conditions.isXCHMALCPeak // || // (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow) // || // (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMAEndBearish && xEU5Conditions.isXCHLHSCMCLLSame) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTMEndBearish && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHLHSCMCHHSame) // ) // ) // || // ((xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow) && ( // xEU5Conditions.isXCHMALCPeak // ) // ) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXTDBullCrossedOverBear) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHSameLLs) // ) // ) // ) // || // // Under Signal ... ((xEU5Conditions.isXLHPriceUnderSignal || xEU5Conditions.isXLHPriceCrossedUnderSignal) && // ( // (xEU5Conditions.isXLHLLSameInLength && // ( // (xEU5Conditions.isXTMBearish && xEU5Conditions.isXAMABearish) // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXTDBearishVale) // || // (xEU5Conditions.isXCHMAMCVale && (xEU5Conditions.isXCHMALCVale || xEU5Conditions.isXAMAVale || xEU5Conditions.isXTMBullish || xEU5Conditions.isXCHLHSCMCLLSame || xEU5Conditions.isXFICrossedOverZero)) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXFICrossedUnderZero) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // || // ((xEU5Conditions.isXCHMALCPeak || (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // ) // ) // || // (xEU5Conditions.isXLHHHSameInLength && // ( // (xEU5Conditions.isXCHMASCVale && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastOverSlow)) // || // (xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXCHLHSCMCLLSame) // || // (xEU5Conditions.isXTMVale && xEU5Conditions.isXAMAVale) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHLHSCMCHHSame && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // ((xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // || // (xEU5Conditions.isXCHLHSCMCLLSame && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHMCLCHHSame) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXLHLLIncreased) // || // (xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHLHMCLCHHSame && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // ) // ) // || // ((xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) && // ( // xEU5Conditions.isXTDBearishVale // || // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCFastOverSlow) // || // ((xEU5Conditions.isXTMVale || xEU5Conditions.isXLHLLDecreased) && xEU5Conditions.isXAMAVale) // || ((xEU5Conditions.isXCHMASCVale || xEU5Conditions.isXCHMALCVale) && xEU5Conditions.isXCHMAMCVale) // || // (xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXCHLHMCLCLLSame) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow) // || // ((xEU5Conditions.isXCHMALCPeak || xEU5Conditions.isXFICrossedUnderZero || xEU5Conditions.isXCHMAMCFastOverSlow) && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXFICrossedUnderZero) // ) // ) // || // ( // (xEU5Conditions.isXCHLHSCMCHHSame && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHLHSCMCLLSame) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHMAMCTrendsDown) // || (xEU5Conditions.isXAMAVale && xEU5Conditions.isXTMEndBearish && xEU5Conditions.isXCHLHMCLCHHSame) // || // (xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) // || // (xEU5Conditions.isXTMVale && xEU5Conditions.isXAMAVale && xEU5Conditions.isXLHLowAttachedLL) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHSCMCLLSame) // || // (xEU5Conditions.isXAMANeutural && (xEU5Conditions.isXTMBullish || xEU5Conditions.isXTMStartBullish)) // || // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHLHSameLLs) // || // (xEU5Conditions.isXLHHHDecreased && (xEU5Conditions.isXLHLLDecreased || (xEU5Conditions.isXTMVale && xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural))) // || // (xEU5Conditions.isXTMBearish && xEU5Conditions.isXAMABearish && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHMAMCFastUnderSlow) // || // ((xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow) && ( // xEU5Conditions.isXCHMAMCVale // || // xEU5Conditions.isXCHMALCVale // || // xEU5Conditions.isXCHLHSameLLs // || // xEU5Conditions.isXFICrossedOverZero // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMABullish) // || // (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) // ) // ) // || // ((xEU5Conditions.isXCHMASCVale || xEU5Conditions.isXLHLowAttachedLL) && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // (xEU5Conditions.isXTMVale && xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXAMAStartBullish && xEU5Conditions.isXRSICrossedOverLongEntry) // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHLHSCMCLLSame && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // (xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXTMEndBearish && xEU5Conditions.isXAMAEndBearish && xEU5Conditions.isXCHLHSCMCLLSame && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ) // ) // || // // Over Signal ... ((xEU5Conditions.isXLHPriceOverSignal || xEU5Conditions.isXLHPriceCrossedOverSignal) && // ( // (xEU5Conditions.isXLHLLSameInLength && // ( // ((xEU5Conditions.isXCHMAMCVale || (xEU5Conditions.isXAMAVale && xEU5Conditions.isXCHMASCVale) || (xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXLHPriceCrossedOverSignal)) && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale) // || // (xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXCHLHMCLCLLSame) // || // (xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMALCFastOverSlow) // || // (xEU5Conditions.isXAMABullish && xEU5Conditions.isXCHLHSCMCHHSame) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) || (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // // Funded ... ( // (xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXLHLLIncreased) // ) // ) // ) // || // (xEU5Conditions.isXLHHHSameInLength && // ( // (xEU5Conditions.isXTMVale && xEU5Conditions.isXAMAVale) // || // (xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // ((xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && (xEU5Conditions.isXCHMAMCPeak || xEU5Conditions.isXAMANeutural || xEU5Conditions.isXCHMALCVale || (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow))) // || // (xEU5Conditions.isXTMStartBullish && xEU5Conditions.isXAMAStartBullish) // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCCrossedOverMax) // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHLHMCLCHHSame) // || // (xEU5Conditions.isXCHMALCVale && (xEU5Conditions.isXCHMAMCVale || xEU5Conditions.isXCHMASCFastOverSlow || (xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXCHLHSCMCLLSame))) // || // (xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMABullish) // || // (xEU5Conditions.isXCHLHSCMCLLSame || xEU5Conditions.isXFICrossedUnderZero) // || // (xEU5Conditions.isXOBDSwingLow && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // (((xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural) || (xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMALCVale)) && xEU5Conditions.isXCHLHMCLCHHSame) // || // (xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow) // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHLHMCLCHHSame) // || // // Funded ... (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXLHLLIncreased) // || // (xEU5Conditions.isXCHMALCVale && (xEU5Conditions.isXCHMAMCTrendsDown && (xEU5Conditions.isXCHMAMCFastUnderSlow || xEU5Conditions.isXCHMAMCFastCrossedUnderSlow))) // ) // ) // || // ((xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) && ( // ((xEU5Conditions.isXCHMASCVale || xEU5Conditions.isXCHMAMCPeak) && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMANeutural) // || // (xEU5Conditions.isXTMEndBullish && xEU5Conditions.isXAMAEndBullish) // || // (xEU5Conditions.isXTMStartBullish && xEU5Conditions.isXAMAStartBullish) // || // (xEU5Conditions.isXTMEndBearish && xEU5Conditions.isXAMAEndBearish) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXAMANeutural) // || // ((xEU5Conditions.isXCHMAMCPeak || (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // ) // ) // || // ( // (xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMABullish && xEU5Conditions.isXLHHighAttachedHH) // || // ((xEU5Conditions.isXCHMAMCPeak || xEU5Conditions.isXCHMASCTrendsUp || (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) && (xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow)) // || // ((xEU5Conditions.isXCHMALCPeak || (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // || // (xEU5Conditions.isXTMEndBullish && xEU5Conditions.isXAMAEndBullish && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXFICrossedUnderZero) // ) // ) // ) // || // // Price Empty Condition ... ((!xEU5Conditions.isXLHPriceOverSignal && !xEU5Conditions.isXLHPriceInSignalRange && !xEU5Conditions.isXLHPriceUnderSignal && !xEU5Conditions.isXLHPriceCrossedUnderSignal && !xEU5Conditions.isXLHPriceCrossedOverSignal) && // ( // (xEU5Conditions.isXLHHHSameInLength && // ( // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXAMANeutural && (xEU5Conditions.isXTMEndBearish || xEU5Conditions.isXTMNeutural) && xEU5Conditions.isXLHLLIncreased) // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXTMNeutural && xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXAMAEndBearish) // || // ((xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // || // // Funded ... ( // (xEU5Conditions.isXCHMALCPeak && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ) // ) // || // (xEU5Conditions.isXLHLLSameInLength && // ( // (xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale) // || // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak) // || // (xEU5Conditions.isXAMAEndBearish && xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXTMStartBullish) // || // ((xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ) // || // ((xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHHHSameInLength) && // ( // (xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMABullish) // || // (xEU5Conditions.isXCHMAMCPeak && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow)) // || // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXTMEndBearish && xEU5Conditions.isXCHLHMCLCHHSame) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ) // ) // ) // ) // ); // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XOBDLH Long Signal Checking ... bool XEU5XOBDLHHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXOBDLHEnableSignaller || !xEU5MXOBDLHAllowLongSignals) { return result; } // double entry = GetEntry(X_SIGNAL_LONG); XEU5MarketConditions conditions2 = XEU5GenerateMarketConditions(2); // result = // conditions2.isXOBDSwingLow && conditions2.isXLHLowAttachedLL && xLHLLBuffer[1] >= xLHLLBuffer[2] && // ( // xEU5Conditions.isXLHPriceUnderSignal ? entry < xLHSignalBuffer[1] : true // ) // && // !( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin // ) // && // ( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCFastUnderSlow ? !( // xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastOverSlow // ) : true // ) // && // !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale // ) // && // ( // xEU5Conditions.isXCHMASCUnderMin ? !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale // ) : true // ) // && // ( // xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow ? !xEU5Conditions.isXCHMASCTrendsUp : true // ) // && // !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXLHLLDecreased && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXTDBullCrossedOverBear // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XOBDLH Short Signal Checking ... bool XEU5XOBDLHHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXOBDLHEnableSignaller || !xEU5MXOBDLHAllowShortSignals) { return result; } // double entry = GetEntry(X_SIGNAL_SHORT); XEU5MarketConditions conditions2 = XEU5GenerateMarketConditions(2); // result = // conditions2.isXOBDSwingHigh && conditions2.isXLHHighAttachedHH && // !( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && // !( // xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMASCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && ( // ( // xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow // ) || ( // xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastCrossedOverSlow // ) // ) // ) // && // !( // xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCFastOverSlow // ) // && // !( // xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceInSignalRange && xEU5Conditions.isXCHMASCCrossedUnderMax // ) // && // !( // xEU5Conditions.isXTMStartBullish && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHPriceOverSignal // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXTDSignalOverBear && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // // Funded ... !( // (xEU5Conditions.isXTMBullish && xEU5Conditions.isXAMABullish && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXTDSignalOverBear) // || // (xEU5Conditions.isXTSCurrentMax && (xEU5Conditions.isXTSCurrentOverFarest || xEU5Conditions.isXTSCurrentCrossedOverFarest) && (xEU5Conditions.isXTSCurrentOverNearest || xEU5Conditions.isXTSCurrentCrossedOverNearest) && (xEU5Conditions.isXTSCurrentOverMediest || xEU5Conditions.isXTSCurrentCrossedOverMediest)) // || // (xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal) // || // (xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCUnderMax) // || // ((xEU5Conditions.isXCHMASCFastOverSlow || xEU5Conditions.isXCHMASCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XCHMACC Long Signal Checking ... bool XEU5XCHMACCHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXCHMACCEnableSignaller || !xEU5MXCHMACCAllowLongSignals) { return result; } // // Required Data ... double entry = GetEntry(X_SIGNAL_LONG); double nearHH = GetHighestHigh(3, 1); double nearLL = GetLowestLow(3, 1); // bool isSharpChanged = IsSharpIncreasedChanged( 5, 1, xTMMaBuffer); // bool isCandleSharpChanged = IsSharpIncreasedChanged( 5, 1, PRICE_CLOSE); // ENUM_XCHMA_CYCLES cycles[]; Add( X_XCHMA_CYCLE_MEDIUM, cycles); Add( X_XCHMA_CYCLE_LONG, cycles); // double xCHMANonSCMax2 = XCHMAGetCyclesMaxValue(2, cycles); double xCHMANonSCMin2 = XCHMAGetCyclesMinValue(2, cycles); // double xCHMANonSCMax3 = XCHMAGetCyclesMaxValue(3, cycles); double xCHMANonSCMin3 = XCHMAGetCyclesMinValue(3, cycles); // result = // xCHMAScFastBuffer[1] > xCHMAScSlowBuffer[1] && xCHMAMcFastBuffer[1] > xCHMAMcSlowBuffer[1] && xCHMALcFastBuffer[1] > xCHMALcSlowBuffer[1] && // xCHMAScFastBuffer[2] > xCHMAScSlowBuffer[2] && xCHMAMcFastBuffer[2] > xCHMAMcSlowBuffer[2] && xCHMALcFastBuffer[2] > xCHMALcSlowBuffer[2] && // !( // xCHMAScFastBuffer[3] > xCHMAScSlowBuffer[3] && xCHMAMcFastBuffer[3] > xCHMAMcSlowBuffer[3] && xCHMALcFastBuffer[3] > xCHMALcSlowBuffer[3] // ) // && // ( // XCHMAIsSCFastCrossedOverSlow(2) ? XCHMAGetSCTrendPower(1) <= (XCHMAGetSCTrendPower(2) * 2) : true // ) // && // ( // xEU5Conditions.isXCHMASCOverMax ? XCHMAGetSCTrendPower(2) <= (xCHMANonSCMax2 - xCHMANonSCMin2) : true // ) // && // !xEU5Conditions.isXCHMAMCTrendsDown // && // ( // xEU5Conditions.isXCHMASCCrossedOverMax || xEU5Conditions.isXLHPriceOverSignal ? !isCandleSharpChanged : true // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak // ) // && // ( // xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength ? entry < nearHH : true // ) // && // ( // xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCFastOverSlow ? !xEU5Conditions.isXCHMASCTrendsDown : true) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XCHMACC Short Signal Checking ... bool XEU5XCHMACCHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXCHMACCEnableSignaller || !xEU5MXCHMACCAllowShortSignals) { return result; } // result = // xCHMAScFastBuffer[1] < xCHMAScSlowBuffer[1] && xCHMAMcFastBuffer[1] < xCHMAMcSlowBuffer[1] && xCHMALcFastBuffer[1] < xCHMALcSlowBuffer[1] && // xCHMAScFastBuffer[2] < xCHMAScSlowBuffer[2] && xCHMAMcFastBuffer[2] < xCHMAMcSlowBuffer[2] && xCHMALcFastBuffer[2] < xCHMALcSlowBuffer[2] && // !( // xCHMAScFastBuffer[3] < xCHMAScSlowBuffer[3] && xCHMAMcFastBuffer[3] < xCHMAMcSlowBuffer[3] && xCHMALcFastBuffer[3] < xCHMALcSlowBuffer[3] // ) // && // !( // ( // !xEU5Conditions.isXCHMASCTrendsUp && !xEU5Conditions.isXCHMASCTrendsDown // ) // || // ( // !xEU5Conditions.isXCHMAMCTrendsUp && !xEU5Conditions.isXCHMAMCTrendsDown // ) // ) // && // !( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin // ) // && // !( // xEU5Conditions.isXCHLHSameLLs && xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXLHPriceUnderSignal // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXCHMALCFastUnderSlow && ( // !xEU5Conditions.isXCHMALCTrendsUp && !xEU5Conditions.isXCHMALCTrendsDown // ) // ) // && // !( // xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceInSignalRange // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale // ) // && // !( // xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXTMStartBullishAfterNeutural // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXTMEndBullishByNeutural && xEU5Conditions.isXTDSignalCrossedUnderBear // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHHHIncreased && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceInSignalRange // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXTMEndBearishByNeutural // ) // && // !( // xEU5Conditions.isXTDSignalVale && xEU5Conditions.isXTDBullishVale && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMASCCrossedUnderMin // ) // && // !( // xEU5Conditions.isXTMVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXTMEndBearishByNeutural // ) // && // !( // xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXTDBullCrossedUnderBear // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXTMStartBullishAfterNeutural // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTMBearish && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceInSignalRange && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTMBearish && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCUnderMin && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // (xEU5Conditions.isXTMEndBearish && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceUnderSignal) // ) // && // // Funded ... !( // (xEU5Conditions.isXTMVale && (xEU5Conditions.isXTMBearish || xEU5Conditions.isXTMStartBearish) && xEU5Conditions.isXAMAVale && xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHPriceUnderSignal) // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXFIOverZero && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXTDBullOverBear) // || // (xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XCHMACMN Long Signal Checking ... bool XEU5XCHMACMNHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXCHMACMNEnableSignaller || !xEU5MXCHMACMNAllowLongSignals) { return result; } // // Required Data ... double entry = GetEntry(X_SIGNAL_LONG); double nearHH = GetHighestHigh(3, 1); double nearLL = GetLowestLow(3, 1); // ENUM_XCHMA_CYCLES cycles[]; Add( X_XCHMA_CYCLE_MEDIUM, cycles); Add( X_XCHMA_CYCLE_LONG, cycles); // double xCHMANonSCMax2 = XCHMAGetCyclesMaxValue(2, cycles); double xCHMANonSCMin2 = XCHMAGetCyclesMinValue(2, cycles); // result = // xEU5Conditions.isXCHMASCCrossedOverMin && xCHMAScFastBuffer[2] < xCHMANonSCMin2 && xCHMAScSlowBuffer[2] < xCHMANonSCMin2 && // ( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax ? !( // XCHMAGetCycleMaxValue(1, X_XCHMA_CYCLE_MEDIUM) < XCHMAGetCycleMaxValue(1, X_XCHMA_CYCLE_LONG) && XCHMAGetCycleMinValue(1, X_XCHMA_CYCLE_MEDIUM) > XCHMAGetCycleMinValue(1, X_XCHMA_CYCLE_LONG) // ) : true // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHHighAttachedHH // ) // && // ( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow ? !xEU5Conditions.isXLHPriceInSignalRange : true // ) // && // !( // xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXLHPriceOverSignal // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown // ) // && // !( // xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXRSICrossedOverLongExit // ) // && // !( // xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTDBearishVale && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMASCFastCrossedOverSlow // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceOverSignal && xEU5Conditions.isXCHMASCCrossedOverMin && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCCrossedOverMin && xEU5Conditions.isXLHPriceCrossedOverSignal // ) // && // !( // xEU5Conditions.isXCHMASCOverMin && (xEU5Conditions.isXCHLHMCLCHHSame || xEU5Conditions.isXCHLHMCLCLLSame) && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMASCCrossedOverMin && xEU5Conditions.isXCHMASCFastCrossedOverSlow // ) // && // !( // xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal && (xEU5Conditions.isXCHMAMCVale && (xEU5Conditions.isXCHMAMCFastUnderSlow || xEU5Conditions.isXCHMAMCFastCrossedUnderSlow)) && (xEU5Conditions.isXCHMALCVale && (xEU5Conditions.isXCHMALCFastUnderSlow || xEU5Conditions.isXCHMALCFastCrossedUnderSlow)) // ) // && // // Funded ... !( // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXTSCurrentMax && xEU5Conditions.isXAMAEndBearish && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHPriceUnderSignal) // || // (xEU5Conditions.isXCHMAMCVale && (xEU5Conditions.isXCHMASCFastUnderSlow || xEU5Conditions.isXCHMASCFastCrossedUnderSlow) && (xEU5Conditions.isXCHMAMCFastUnderSlow || xEU5Conditions.isXCHMAMCFastCrossedUnderSlow)) // || // ( // xEU5Conditions.isXOBDSwingLow // || // (xEU5Conditions.isXTMNeutural && xEU5Conditions.isXAMANeutural && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXTDBullCrossedOverBear) // || // (xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXLHPriceInSignalRange) // || // ((xEU5Conditions.isXCHMASCFastUnderSlow || xEU5Conditions.isXCHMASCFastCrossedUnderSlow) && (xEU5Conditions.isXCHMAMCFastUnderSlow || xEU5Conditions.isXCHMAMCFastCrossedUnderSlow)) // ) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XCHMACMN Short Signal Checking ... bool XEU5XCHMACMNHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXCHMACMNEnableSignaller || !xEU5MXCHMACMNAllowShortSignals) { return result; } // ENUM_XCHMA_CYCLES cycles[]; Add( X_XCHMA_CYCLE_MEDIUM, cycles); Add( X_XCHMA_CYCLE_LONG, cycles); // double xCHMANonSCMin2 = XCHMAGetCyclesMinValue(2, cycles); double xCHMANonSCMin3 = XCHMAGetCyclesMinValue(3, cycles); // result = // xEU5Conditions.isXCHMASCCrossedUnderMin && xCHMAScFastBuffer[2] > xCHMANonSCMin2 && xCHMAScSlowBuffer[2] > xCHMANonSCMin2 // && // !( // ( // xEU5Conditions.isXCHMASCFastCrossedOverSlow || ( // xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMASCFastOverSlow // ) // ) && ( // xEU5Conditions.isXCHMAMCFastCrossedOverSlow || ( // xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow // ) // ) && ( // xEU5Conditions.isXCHMALCFastCrossedOverSlow || ( // xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMALCFastOverSlow // ) // ) // ) // && // !( // xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXCHMALCVale // ) // && // !( // xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXCHMALCFastUnderSlow && // ( // ( // xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastUnderSlow // ) || ( // xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMAMCFastOverSlow // ) // ) // ) // && // !( // xEU5Conditions.isXTMBearish && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXTDBullCrossedUnderBear // ) // && // !( // xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceInSignalRange // ) // && // !( // ( // xEU5Conditions.isXCHMASCVale || xEU5Conditions.isXCHMAMCVale // ) // && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXTDSignalUnderBear && ( // ( // xEU5Conditions.isXTMVale && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength // ) || ( // xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMALCFastOverSlow // ) // ) // ) // && // !( // xEU5Conditions.isXCHMASCVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMALCVale && xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // // Funded ... !( // (xEU5Conditions.isXAMAVale && xEU5Conditions.isXCHMAMCVale && xEU5Conditions.isXTDBullOverBear) // || // ((xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength) && (xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXCHLHMCLCLLSame) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XCHMACMX Long Signal Checking ... bool XEU5XCHMACMXHasLongSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXCHMACMXEnableSignaller || !xEU5MXCHMACMXAllowLongSignals) { return result; } // // Required Data ... double entry = GetEntry(X_SIGNAL_LONG); double nearHH = GetHighestHigh(3, 1); double nearLL = GetLowestLow(3, 1); // ENUM_XCHMA_CYCLES cycles[]; Add( X_XCHMA_CYCLE_MEDIUM, cycles); Add( X_XCHMA_CYCLE_LONG, cycles); // double xCHMANonSCMax2 = XCHMAGetCyclesMaxValue(2, cycles); // result = // xEU5Conditions.isXCHMASCCrossedOverMax && xCHMAScFastBuffer[2] < xCHMANonSCMax2 && xCHMAScSlowBuffer[2] < xCHMANonSCMax2 && MathAbs(xCHMANonSCMax2 - xCHMAScFastBuffer[2]) > MathAbs(xCHMAScFastBuffer[2] - xCHMAScSlowBuffer[2]) && MathAbs(xCHMANonSCMax2 - xCHMAScSlowBuffer[2]) > MathAbs(xCHMAScFastBuffer[2] - xCHMAScSlowBuffer[2]) // && // !( // xEU5Conditions.isXLHPriceInSignalRange && xEU5Conditions.isXLHHighAttachedHH // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak // ) // && // !( // xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // ( // xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHMCOnTopOfLC && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXLHLLSameInLength ? entry < nearHH : true // ) // && // !( // xEU5Conditions.isXTMBullish && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXLHHighAttachedHH && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMASCCrossedOverMax && xEU5Conditions.isXTDSignalCrossedOverBear // ) && // !( // (xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXLHHHDecreased && xEU5Conditions.isXCHMASCOverMax && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow && xEU5Conditions.isXCHMASCCrossedOverMax && xEU5Conditions.isXLHPriceCrossedOverSignal) // || // (xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceOverSignal) // || // (xEU5Conditions.isXCHMASCPeak && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMALCTrendsDown) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // XCHMACMX Short Signal Checking ... bool XEU5XCHMACMXHasShortSignal() { // bool result = false; // // Validate Args ... if (!xEU5MXCHMACMXEnableSignaller || !xEU5MXCHMACMXAllowShortSignals) { return result; } // ENUM_XCHMA_CYCLES cycles[]; Add( X_XCHMA_CYCLE_MEDIUM, cycles); Add( X_XCHMA_CYCLE_LONG, cycles); // double xCHMANonSCMax3 = XCHMAGetCyclesMaxValue(3, cycles); double xCHMANonSCMax2 = XCHMAGetCyclesMaxValue(2, cycles); // result = // xEU5Conditions.isXCHMASCCrossedUnderMax && xCHMAScFastBuffer[2] > xCHMANonSCMax2 && xCHMAScSlowBuffer[2] > xCHMANonSCMax2 // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMALCPeak // ) // && // !( // xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXLHPriceInSignalRange && // ( // ( // xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) || ( // xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXTDSignalUnderBear // ) // ) // ) // && // !( // ( // xEU5Conditions.isXCHMASCFastCrossedOverSlow || ( // xEU5Conditions.isXCHMASCTrendsUp && xEU5Conditions.isXCHMASCFastOverSlow // ) // ) && ( // xEU5Conditions.isXCHMAMCFastCrossedOverSlow || ( // xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow // ) // ) && ( // xEU5Conditions.isXCHMALCFastCrossedOverSlow || ( // xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXCHMALCFastOverSlow // ) // ) // ) // && // !( // xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMin // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHLHSCMCLLSame && xEU5Conditions.isXCHLHMCLCHHSame && xEU5Conditions.isXLHLowAttachedLL // ) // && // !( // xEU5Conditions.isXCHLHSameHHs && xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHMAMCTrendsUp && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXLHPriceInSignalRange // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXLHLLIncreased && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHPriceUnderSignal && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow // ) // && // !( // xEU5Conditions.isXCHMAMCPeak && xEU5Conditions.isXCHLHSCMCHHSame && xEU5Conditions.isXCHLHMCLCLLSame && xEU5Conditions.isXTDBullUnderBear && xEU5Conditions.isXLHLLSameInLength && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMAMCFastUnderSlow && xEU5Conditions.isXCHMALCFastUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXCHMALCTrendsUp && xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMASCFastOverSlow && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCCrossedUnderMax && xEU5Conditions.isXLHPriceCrossedUnderSignal // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCCrossedUnderMax && xEU5Conditions.isXTDSignalCrossedUnderBear && xEU5Conditions.isXCHMASCFastCrossedUnderSlow // ) // && // !( // xEU5Conditions.isXCHMALCPeak && xEU5Conditions.isXCHMASCOverMin && xEU5Conditions.isXTDBullOverBear && xEU5Conditions.isXCHMASCUnderMax && xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXCHMASCTrendsDown && xEU5Conditions.isXCHMAMCTrendsDown && xEU5Conditions.isXCHMALCTrendsDown && xEU5Conditions.isXTDSignalUnderBear && xEU5Conditions.isXCHMAMCFastOverSlow && xEU5Conditions.isXCHMALCFastOverSlow && xEU5Conditions.isXCHMASCFastUnderSlow && xEU5Conditions.isXCHMASCCrossedUnderMax // ) // && // !( // (xEU5Conditions.isXLHLowAttachedLL && xEU5Conditions.isXLHHHSameInLength && xEU5Conditions.isXLHPriceUnderSignal && (xEU5Conditions.isXCHMAMCFastOverSlow || xEU5Conditions.isXCHMAMCFastCrossedOverSlow) && (xEU5Conditions.isXCHMALCFastOverSlow || xEU5Conditions.isXCHMALCFastCrossedOverSlow)) // ) // ; // // Funded Next ... if (isXEU5OnFundedNext && result) { // result = // true // ; } // return result; } // // END Signal Providers ... // // // START Utilities ... // // // Converts Market Conditions to Specific String Representation ... string XEU5GetConditionsString( XEU5MarketConditions &condition, // Specify Conditiond string separator = ",", // Specify Separator bool ignoreFalses = true // Ignore False Conditions ) { // XEU5MarketConditions mConditions = {}; // mConditions = condition; // string result = "\n"; // // XOBD ... result += "| XOBD |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXOBDSwingLow)) { result += "isXOBDSwingLow: " + (string)mConditions.isXOBDSwingLow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXOBDSwingHigh)) { result += "isXOBDSwingHigh: " + (string)mConditions.isXOBDSwingHigh + separator; } // // Separator ... result += separator; // // XTM ... result += "| XTM |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMPeak)) { result += "isXTMPeak: " + (string)mConditions.isXTMPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMVale)) { result += "isXTMVale: " + (string)mConditions.isXTMVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMStartBullish)) { result += "isXTMStartBullish: " + (string)mConditions.isXTMStartBullish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMStartBullishAfterNeutural)) { result += "isXTMStartBullishAfterNeutural: " + (string)mConditions.isXTMStartBullishAfterNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMBullish)) { result += "isXTMBullish: " + (string)mConditions.isXTMBullish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMEndBullish)) { result += "isXTMEndBullish: " + (string)mConditions.isXTMEndBullish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMEndBullishByNeutural)) { result += "isXTMEndBullishByNeutural: " + (string)mConditions.isXTMEndBullishByNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMStartBearish)) { result += "isXTMStartBearish: " + (string)mConditions.isXTMStartBearish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMStartBearishAfterNeutural)) { result += "isXTMStartBearishAfterNeutural: " + (string)mConditions.isXTMStartBearishAfterNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMBearish)) { result += "isXTMBearish: " + (string)mConditions.isXTMBearish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMEndBearish)) { result += "isXTMEndBearish: " + (string)mConditions.isXTMEndBearish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMEndBearishByNeutural)) { result += "isXTMEndBearishByNeutural: " + (string)mConditions.isXTMEndBearishByNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTMNeutural)) { result += "isXTMNeutural: " + (string)mConditions.isXTMNeutural + separator; } // // Separator ... result += separator; // // XAMA ... result += "| XAMA |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAPeak)) { result += "isXAMAPeak: " + (string)mConditions.isXAMAPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAVale)) { result += "isXAMAVale: " + (string)mConditions.isXAMAVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAStartBullish)) { result += "isXAMAStartBullish: " + (string)mConditions.isXAMAStartBullish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAStartBullishAfterNeutural)) { result += "isXAMAStartBullishAfterNeutural: " + (string)mConditions.isXAMAStartBullishAfterNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMABullish)) { result += "isXAMABullish: " + (string)mConditions.isXAMABullish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAEndBullish)) { result += "isXAMAEndBullish: " + (string)mConditions.isXAMAEndBullish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAEndBullishByNeutural)) { result += "isXAMAEndBullishByNeutural: " + (string)mConditions.isXAMAEndBullishByNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAStartBearish)) { result += "isXAMAStartBearish: " + (string)mConditions.isXAMAStartBearish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAStartBearishAfterNeutural)) { result += "isXAMAStartBearishAfterNeutural: " + (string)mConditions.isXAMAStartBearishAfterNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMABearish)) { result += "isXAMABearish: " + (string)mConditions.isXAMABearish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAEndBearish)) { result += "isXAMAEndBearish: " + (string)mConditions.isXAMAEndBearish + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMAEndBearishByNeutural)) { result += "isXAMAEndBearishByNeutural: " + (string)mConditions.isXAMAEndBearishByNeutural + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXAMANeutural)) { result += "isXAMANeutural: " + (string)mConditions.isXAMANeutural + separator; } // // Separator ... result += separator; // // XTD ... result += "| XTD |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDSignalPeak)) { result += "isXTDSignalPeak: " + (string)mConditions.isXTDSignalPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDSignalVale)) { result += "isXTDSignalVale: " + (string)mConditions.isXTDSignalVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBullishPeak)) { result += "isXTDBullishPeak: " + (string)mConditions.isXTDBullishPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBullishVale)) { result += "isXTDBullishVale: " + (string)mConditions.isXTDBullishVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBearishPeak)) { result += "isXTDBearishPeak: " + (string)mConditions.isXTDBearishPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBearishVale)) { result += "isXTDBearishVale: " + (string)mConditions.isXTDBearishVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBullOverBear)) { result += "isXTDBullOverBear: " + (string)mConditions.isXTDBullOverBear + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBullUnderBear)) { result += "isXTDBullUnderBear: " + (string)mConditions.isXTDBullUnderBear + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDSignalOverBear)) { result += "isXTDSignalOverBear: " + (string)mConditions.isXTDSignalOverBear + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDSignalUnderBear)) { result += "isXTDSignalUnderBear: " + (string)mConditions.isXTDSignalUnderBear + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBullCrossedOverBear)) { result += "isXTDBullCrossedOverBear: " + (string)mConditions.isXTDBullCrossedOverBear + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDBullCrossedUnderBear)) { result += "isXTDBullCrossedUnderBear: " + (string)mConditions.isXTDBullCrossedUnderBear + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDSignalCrossedOverBear)) { result += "isXTDSignalCrossedOverBear: " + (string)mConditions.isXTDSignalCrossedOverBear + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTDSignalCrossedUnderBear)) { result += "isXTDSignalCrossedUnderBear: " + (string)mConditions.isXTDSignalCrossedUnderBear + separator; } // // Separator ... result += separator; // // XFI ... result += "| XFI |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXFIPeak)) { result += "isXFIPeak: " + (string)mConditions.isXFIPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXFIVale)) { result += "isXFIVale: " + (string)mConditions.isXFIVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXFIOverZero)) { result += "isXFIOverZero: " + (string)mConditions.isXFIOverZero + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXFIUnderZero)) { result += "isXFIUnderZero: " + (string)mConditions.isXFIUnderZero + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXFICrossedOverZero)) { result += "isXFICrossedOverZero: " + (string)mConditions.isXFICrossedOverZero + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXFICrossedUnderZero)) { result += "isXFICrossedUnderZero: " + (string)mConditions.isXFICrossedUnderZero + separator; } // // Separator ... result += separator; // // XTS ... result += "| XTS |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSAllSame)) { result += "isXTSAllSame: " + (string)mConditions.isXTSAllSame + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentMin)) { result += "isXTSCurrentMin: " + (string)mConditions.isXTSCurrentMin + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentMax)) { result += "isXTSCurrentMax: " + (string)mConditions.isXTSCurrentMax + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentOverFarest)) { result += "isXTSCurrentOverFarest: " + (string)mConditions.isXTSCurrentOverFarest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentOverNearest)) { result += "isXTSCurrentOverNearest: " + (string)mConditions.isXTSCurrentOverNearest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentOverMediest)) { result += "isXTSCurrentOverMediest: " + (string)mConditions.isXTSCurrentOverMediest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentUnderFarest)) { result += "isXTSCurrentUnderFarest: " + (string)mConditions.isXTSCurrentUnderFarest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentUnderNearest)) { result += "isXTSCurrentUnderNearest: " + (string)mConditions.isXTSCurrentUnderNearest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentUnderMediest)) { result += "isXTSCurrentUnderMediest: " + (string)mConditions.isXTSCurrentUnderMediest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentCrossedOverFarest)) { result += "isXTSCurrentCrossedOverFarest: " + (string)mConditions.isXTSCurrentCrossedOverFarest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentCrossedOverNearest)) { result += "isXTSCurrentCrossedOverNearest: " + (string)mConditions.isXTSCurrentCrossedOverNearest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentCrossedOverMediest)) { result += "isXTSCurrentCrossedOverMediest: " + (string)mConditions.isXTSCurrentCrossedOverMediest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentCrossedUnderFarest)) { result += "isXTSCurrentCrossedUnderFarest: " + (string)mConditions.isXTSCurrentCrossedUnderFarest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentCrossedUnderNearest)) { result += "isXTSCurrentCrossedUnderNearest: " + (string)mConditions.isXTSCurrentCrossedUnderNearest + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXTSCurrentCrossedUnderMediest)) { result += "isXTSCurrentCrossedUnderMediest: " + (string)mConditions.isXTSCurrentCrossedUnderMediest + separator; } // // Separator ... result += separator; // // XLH ... result += "| XLH |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHHHIncreased)) { result += "isXLHHHIncreased: " + (string)mConditions.isXLHHHIncreased + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHHHDecreased)) { result += "isXLHHHDecreased: " + (string)mConditions.isXLHHHDecreased + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHLLIncreased)) { result += "isXLHLLIncreased: " + (string)mConditions.isXLHLLIncreased + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHLLDecreased)) { result += "isXLHLLDecreased: " + (string)mConditions.isXLHLLDecreased + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHHighAttachedHH)) { result += "isXLHHighAttachedHH: " + (string)mConditions.isXLHHighAttachedHH + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHLowAttachedLL)) { result += "isXLHLowAttachedLL: " + (string)mConditions.isXLHLowAttachedLL + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHHHSameInLength)) { result += "isXLHHHSameInLength: " + (string)mConditions.isXLHHHSameInLength + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHLLSameInLength)) { result += "isXLHLLSameInLength: " + (string)mConditions.isXLHLLSameInLength + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHPriceCrossedOverSignal)) { result += "isXLHPriceCrossedOverSignal: " + (string)mConditions.isXLHPriceCrossedOverSignal + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHPriceOverSignal)) { result += "isXLHPriceOverSignal: " + (string)mConditions.isXLHPriceOverSignal + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHPriceCrossedUnderSignal)) { result += "isXLHPriceCrossedUnderSignal: " + (string)mConditions.isXLHPriceCrossedUnderSignal + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHPriceUnderSignal)) { result += "isXLHPriceUnderSignal: " + (string)mConditions.isXLHPriceUnderSignal + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXLHPriceInSignalRange)) { result += "isXLHPriceInSignalRange: " + (string)mConditions.isXLHPriceInSignalRange + separator; } // // Separator ... result += separator; // // XRSI ... result += "| XRSI |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXRSIPeak)) { result += "isXRSIPeak: " + (string)mConditions.isXRSIPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXRSIVale)) { result += "isXRSIVale: " + (string)mConditions.isXRSIVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXRSICrossedOverLongExit)) { result += "isXRSICrossedOverLongExit: " + (string)mConditions.isXRSICrossedOverLongExit + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXRSICrossedOverLongEntry)) { result += "isXRSICrossedOverLongEntry: " + (string)mConditions.isXRSICrossedOverLongEntry + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXRSICrossedUnderShortExit)) { result += "isXRSICrossedUnderShortExit: " + (string)mConditions.isXRSICrossedUnderShortExit + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXRSICrossedUnderShortEntry)) { result += "isXRSICrossedUnderShortEntry: " + (string)mConditions.isXRSICrossedUnderShortEntry + separator; } // // Separator ... result += separator; // // XCHLH ... result += "| XCHLH |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHSameHHs)) { result += "isXCHLHSameHHs: " + (string)mConditions.isXCHLHSameHHs + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHSameLLs)) { result += "isXCHLHSameLLs: " + (string)mConditions.isXCHLHSameLLs + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHSCMCHHSame)) { result += "isXCHLHSCMCHHSame: " + (string)mConditions.isXCHLHSCMCHHSame + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHSCMCLLSame)) { result += "isXCHLHSCMCLLSame: " + (string)mConditions.isXCHLHSCMCLLSame + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHSCLCHHSame)) { result += "isXCHLHSCLCHHSame: " + (string)mConditions.isXCHLHSCLCHHSame + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHSCLCLLSame)) { result += "isXCHLHSCLCLLSame: " + (string)mConditions.isXCHLHSCLCLLSame + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHMCLCHHSame)) { result += "isXCHLHMCLCHHSame: " + (string)mConditions.isXCHLHMCLCHHSame + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHMCLCLLSame)) { result += "isXCHLHMCLCLLSame: " + (string)mConditions.isXCHLHMCLCLLSame + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHMCOnTopOfLC)) { result += "isXCHLHMCOnTopOfLC: " + (string)mConditions.isXCHLHMCOnTopOfLC + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHLHMCInBottomOfLC)) { result += "isXCHLHMCInBottomOfLC: " + (string)mConditions.isXCHLHMCInBottomOfLC + separator; } // // Separator ... result += separator; // // XCHMA ... result += "| XCHMA |" + separator; // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCOverMax)) { result += "isXCHMASCOverMax: " + (string)mConditions.isXCHMASCOverMax + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCOverMin)) { result += "isXCHMASCOverMin: " + (string)mConditions.isXCHMASCOverMin + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCUnderMax)) { result += "isXCHMASCUnderMax: " + (string)mConditions.isXCHMASCUnderMax + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCUnderMin)) { result += "isXCHMASCUnderMin: " + (string)mConditions.isXCHMASCUnderMin + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCCrossedOverMax)) { result += "isXCHMASCCrossedOverMax: " + (string)mConditions.isXCHMASCCrossedOverMax + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCCrossedUnderMax)) { result += "isXCHMASCCrossedUnderMax: " + (string)mConditions.isXCHMASCCrossedUnderMax + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCCrossedOverMin)) { result += "isXCHMASCCrossedOverMin: " + (string)mConditions.isXCHMASCCrossedOverMin + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCCrossedUnderMin)) { result += "isXCHMASCCrossedUnderMin: " + (string)mConditions.isXCHMASCCrossedUnderMin + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCPeak)) { result += "isXCHMASCPeak: " + (string)mConditions.isXCHMASCPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCVale)) { result += "isXCHMASCVale: " + (string)mConditions.isXCHMASCVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCTrendsUp)) { result += "isXCHMASCTrendsUp: " + (string)mConditions.isXCHMASCTrendsUp + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCTrendsDown)) { result += "isXCHMASCTrendsDown: " + (string)mConditions.isXCHMASCTrendsDown + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCFastOverSlow)) { result += "isXCHMASCFastOverSlow: " + (string)mConditions.isXCHMASCFastOverSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCFastUnderSlow)) { result += "isXCHMASCFastUnderSlow: " + (string)mConditions.isXCHMASCFastUnderSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCFastCrossedOverSlow)) { result += "isXCHMASCFastCrossedOverSlow: " + (string)mConditions.isXCHMASCFastCrossedOverSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMASCFastCrossedUnderSlow)) { result += "isXCHMASCFastCrossedUnderSlow: " + (string)mConditions.isXCHMASCFastCrossedUnderSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCPeak)) { result += "isXCHMAMCPeak: " + (string)mConditions.isXCHMAMCPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCVale)) { result += "isXCHMAMCVale: " + (string)mConditions.isXCHMAMCVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCTrendsUp)) { result += "isXCHMAMCTrendsUp: " + (string)mConditions.isXCHMAMCTrendsUp + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCTrendsDown)) { result += "isXCHMAMCTrendsDown: " + (string)mConditions.isXCHMAMCTrendsDown + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCFastOverSlow)) { result += "isXCHMAMCFastOverSlow: " + (string)mConditions.isXCHMAMCFastOverSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCFastUnderSlow)) { result += "isXCHMAMCFastUnderSlow: " + (string)mConditions.isXCHMAMCFastUnderSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCFastCrossedOverSlow)) { result += "isXCHMAMCFastCrossedOverSlow: " + (string)mConditions.isXCHMAMCFastCrossedOverSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMAMCFastCrossedUnderSlow)) { result += "isXCHMAMCFastCrossedUnderSlow: " + (string)mConditions.isXCHMAMCFastCrossedUnderSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCPeak)) { result += "isXCHMALCPeak: " + (string)mConditions.isXCHMALCPeak + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCVale)) { result += "isXCHMALCVale: " + (string)mConditions.isXCHMALCVale + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCTrendsUp)) { result += "isXCHMALCTrendsUp: " + (string)mConditions.isXCHMALCTrendsUp + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCTrendsDown)) { result += "isXCHMALCTrendsDown: " + (string)mConditions.isXCHMALCTrendsDown + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCFastOverSlow)) { result += "isXCHMALCFastOverSlow: " + (string)mConditions.isXCHMALCFastOverSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCFastUnderSlow)) { result += "isXCHMALCFastUnderSlow: " + (string)mConditions.isXCHMALCFastUnderSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCFastCrossedOverSlow)) { result += "isXCHMALCFastCrossedOverSlow: " + (string)mConditions.isXCHMALCFastCrossedOverSlow + separator; } // if ( !ignoreFalses || (ignoreFalses && mConditions.isXCHMALCFastCrossedUnderSlow)) { result += "isXCHMALCFastCrossedUnderSlow: " + (string)mConditions.isXCHMALCFastCrossedUnderSlow + separator; } // // Separator ... result += separator; // return result; } void Add( ENUM_XEU5_SIGNAL_PROVIDERS item, ENUM_XEU5_SIGNAL_PROVIDERS &items[]) { // ArrayResize( items, ArraySize(items) + 1); // items[ArraySize(items) - 1] = item; } // // START Utilities ... //