From f7061cde0fd97bdc57da987ba065ea31ba6dc9da Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Mon, 25 Mar 2024 02:54:57 +0330 Subject: [PATCH] Start for preparing and applying new Structures on EA's as Template ... --- ...aherelm.xuspy5.provider.indicators.lib.mq5 | 52949 ---------------- .../x-saherelm.xuspy5.provider.inputs.lib.mq5 | 283 - .../x-saherelm.class.lib.mq5 | 0 .../Classes => Classes}/x-saherelm.nn.lib.mq5 | 0 .../x-saherelm.provider.lib.mq5 | 0 .../x-saherelm.xbtus5.ea.mq5 | 128 +- .../x-saherelm.xama.indicator.helper.lib.mq5 | 0 ...x-saherelm.xchlh.oscillator.helper.lib.mq5 | 0 ...x-saherelm.xchma.oscillator.helper.lib.mq5 | 0 .../x-saherelm.xfi.oscillator.helper.lib.mq5 | 0 .../x-saherelm.xlh.indicator.helper.lib.mq5 | 0 .../x-saherelm.xobd.indicator.helper.lib.mq5 | 0 .../x-saherelm.xrsi.oscillator.helper.lib.mq5 | 0 .../x-saherelm.xtd.oscillator.helper.lib.mq5 | 0 .../x-saherelm.xtm.indicator.helper.lib.mq5 | 0 .../x-saherelm.xts.oscillator.helper.lib.mq5 | 0 .../x-saherelm.xama.indicator.mq5 | 0 .../x-saherelm.xchlh.oscillator.mq5 | 0 .../x-saherelm.xchma.oscillator.mq5 | 0 .../x-saherelm.xctimer.indicator.mq5 | 0 .../x-saherelm.xfi.oscillator.mq5 | 0 .../x-saherelm.xlh.indicator.mq5 | 0 .../x-saherelm.xobd.indicator.mq5 | 0 .../x-saherelm.xrsi.oscillator.mq5 | 0 .../x-saherelm.xtd.oscillator.mq5 | 0 .../x-saherelm.xtm.indicator.mq5 | 0 .../x-saherelm.xts.oscillator.mq5 | 0 .../x-saherelm.alert.lib.mq5 | 0 .../x-saherelm.common.lib.mq5 | 0 .../x-saherelm.draw.lib.mq5 | 0 .../x-saherelm.http.lib.mq5 | 0 .../x-saherelm.log.lib.mq5 | 0 .../x-saherelm.models.lib.mq5 | 0 ...aherelm.xbtus5.provider.indicators.lib.mq5 | 6436 ++ .../x-saherelm.xbtus5.provider.inputs.lib.mq5 | 283 + .../x-saherelm.xbtus5.provider.lib.mq5 | 528 +- 36 files changed, 7047 insertions(+), 53560 deletions(-) delete mode 100644 BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 delete mode 100644 BKP/Main/Providers/x-saherelm.xuspy5.provider.inputs.lib.mq5 rename {BKP/Main/Classes => Classes}/x-saherelm.class.lib.mq5 (100%) rename {BKP/Main/Classes => Classes}/x-saherelm.nn.lib.mq5 (100%) rename {BKP/Main/Classes => Classes}/x-saherelm.provider.lib.mq5 (100%) rename BKP/Main/Experts/x-saherelm.xuspy5.ea.mq5 => Experts/x-saherelm.xbtus5.ea.mq5 (69%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xama.indicator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xchlh.oscillator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xchma.oscillator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xfi.oscillator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xlh.indicator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xobd.indicator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xrsi.oscillator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xtd.oscillator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xtm.indicator.helper.lib.mq5 (100%) rename {BKP/Main/Helpers => Helpers}/x-saherelm.xts.oscillator.helper.lib.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xama.indicator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xchlh.oscillator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xchma.oscillator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xctimer.indicator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xfi.oscillator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xlh.indicator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xobd.indicator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xrsi.oscillator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xtd.oscillator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xtm.indicator.mq5 (100%) rename {BKP/Main/Indicators => Indicators}/x-saherelm.xts.oscillator.mq5 (100%) rename {BKP/Main/Libraries => Libraries}/x-saherelm.alert.lib.mq5 (100%) rename {BKP/Main/Libraries => Libraries}/x-saherelm.common.lib.mq5 (100%) rename {BKP/Main/Libraries => Libraries}/x-saherelm.draw.lib.mq5 (100%) rename {BKP/Main/Libraries => Libraries}/x-saherelm.http.lib.mq5 (100%) rename {BKP/Main/Libraries => Libraries}/x-saherelm.log.lib.mq5 (100%) rename {BKP/Main/Libraries => Libraries}/x-saherelm.models.lib.mq5 (100%) create mode 100644 Providers/x-saherelm.xbtus5.provider.indicators.lib.mq5 create mode 100644 Providers/x-saherelm.xbtus5.provider.inputs.lib.mq5 rename BKP/Main/Providers/x-saherelm.xuspy5.provider.lib.mq5 => Providers/x-saherelm.xbtus5.provider.lib.mq5 (62%) diff --git a/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 b/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 deleted file mode 100644 index f190032c..00000000 --- a/BKP/Main/Providers/x-saherelm.xuspy5.provider.indicators.lib.mq5 +++ /dev/null @@ -1,52949 +0,0 @@ -/////////////////////////////////////////////////////////////////// -// -// SaherElm IT Center MQL5 XUSPY5 Signal Provider Indicators Library -// ---------------------------------------------------------------- -// -// Maintainer: -// ------------ -// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com) -// -////////////////////////////////////////////////////// -// -// Global Properties ... -#property library -#property copyright "Copyright 2023, SaherElm IT Center" -#property link "https://www.saherelm.ir" -#property version "1.00" -#property strict - -// -// Include Provider Inputs ... -#include "x-saherelm.xuspy5.provider.inputs.lib.mq5" - -// -// Include Provider Class ... -#include "../Classes/x-saherelm.provider.lib.mq5" - -// -// Signallers ... -input group "XUSPY5 Signallers"; - -// -// XTD ... -input group "XUSPY5 XTD Signaller"; -input bool xUSPY5XTDEnableSignaller = true; // Enable Signaller -input bool xUSPY5XTDAllowLongSignals = true; // Enable Long Signals -input bool xUSPY5XTDAllowShortSignals = true; // Enable Short Signals - -// -// XTAM ... -input group "XUSPY5 XTAM Signaller"; -input bool xUSPY5XTAMEnableSignaller = true; // Enable Signaller -input bool xUSPY5XTAMAllowLongSignals = true; // Enable Long Signals -input bool xUSPY5XTAMAllowShortSignals = true; // Enable Short Signals - -// -// XSI ... -input group "XUSPY5 XSI Signaller"; -input bool xUSPY5XSIEnableSignaller = true; // Enable Signaller -input bool xUSPY5XSIAllowLongSignals = true; // Enable Long Signals -input bool xUSPY5XSIAllowShortSignals = true; // Enable Short Signals - -// -// XTSFI ... -input group "XUSPY5 XTSFI Signaller"; -input bool xUSPY5XTSFIEnableSignaller = true; // Enable Signaller -input bool xUSPY5XTSFIAllowLongSignals = true; // Enable Long Signals -input bool xUSPY5XTSFIAllowShortSignals = true; // Enable Short Signals - -// -// XOBDLH ... -// input group "XUSPY5 XOBDLH Signaller"; -// input bool xUSPY5XOBDLHEnableSignaller = true; // Enable Signaller -// input bool xUSPY5XOBDLHAllowLongSignals = true; // Enable Long Signals -// input bool xUSPY5XOBDLHAllowShortSignals = true; // Enable Short Signals - -// -// XCHMACC ... -input group "XUSPY5 XCHMACC Signaller"; -input bool xUSPY5XCHMACCEnableSignaller = true; // Enable Signaller -input bool xUSPY5XCHMACCAllowLongSignals = true; // Enable Long Signals -input bool xUSPY5XCHMACCAllowShortSignals = true; // Enable Short Signals - -// -// XCHMAMX ... -// input group "XUSPY5 XCHMAMX Signaller"; -// input bool xUSPY5XCHMAMXEnableSignaller = true; // Enable Signaller -// input bool xUSPY5XCHMAMXAllowLongSignals = true; // Enable Long Signals -// input bool xUSPY5XCHMAMXAllowShortSignals = true; // Enable Short Signals - -// -// XCHMAMN ... -// input group "XUSPY5 XCHMAMN Signaller"; -// input bool xUSPY5XCHMAMNEnableSignaller = true; // Enable Signaller -// input bool xUSPY5XCHMAMNAllowLongSignals = true; // Enable Long Signals -// input bool xUSPY5XCHMAMNAllowShortSignals = true; // Enable Short Signals - -// -// Check in Test Mode or not ... -bool xUSPY5IsTestMode = false; - -// -// Detect max Input Length of Indicators ... -int xUSPY5MaxLengthOfInputs = 0; - -// -// Detect Calculated Bars ... -int xUSPY5CalculatedBars = 0; - -// -// Check prevent Double Signalling on Same Candle ... -bool xUSPY5WaitUntilNextCandle = false; - -// -// Signaller Variables ... -// -// XTD ... -bool xUSPY5MXTDEnableSignaller = xUSPY5XTDEnableSignaller; -bool xUSPY5MXTDAllowLongSignals = xUSPY5XTDAllowLongSignals; -bool xUSPY5MXTDAllowShortSignals = xUSPY5XTDAllowShortSignals; - -// -// XTAM ... -bool xUSPY5MXTAMEnableSignaller = xUSPY5XTAMEnableSignaller; -bool xUSPY5MXTAMAllowLongSignals = xUSPY5XTAMAllowLongSignals; -bool xUSPY5MXTAMAllowShortSignals = xUSPY5XTAMAllowShortSignals; - -// -// XSI ... -bool xUSPY5MXSIEnableSignaller = xUSPY5XSIEnableSignaller; -bool xUSPY5MXSIAllowLongSignals = xUSPY5XSIAllowLongSignals; -bool xUSPY5MXSIAllowShortSignals = xUSPY5XSIAllowShortSignals; - -// -// XTSFI ... -bool xUSPY5MXTSFIEnableSignaller = xUSPY5XTSFIEnableSignaller; -bool xUSPY5MXTSFIAllowLongSignals = xUSPY5XTSFIAllowLongSignals; -bool xUSPY5MXTSFIAllowShortSignals = xUSPY5XTSFIAllowShortSignals; - -// -// XOBDLH ... -bool xUSPY5MXOBDLHEnableSignaller = false; // xUSPY5XOBDLHEnableSignaller; -bool xUSPY5MXOBDLHAllowLongSignals = false; // xUSPY5XOBDLHAllowLongSignals; -bool xUSPY5MXOBDLHAllowShortSignals = false; // xUSPY5XOBDLHAllowShortSignals; - -// -// XCHMACC ... -bool xUSPY5MXCHMACCEnableSignaller = xUSPY5XCHMACCEnableSignaller; -bool xUSPY5MXCHMACCAllowLongSignals = xUSPY5XCHMACCAllowLongSignals; -bool xUSPY5MXCHMACCAllowShortSignals = xUSPY5XCHMACCAllowShortSignals; - -// -// XCHMAMX ... -bool xUSPY5MXCHMAMXEnableSignaller = false; // xUSPY5XCHMAMXEnableSignaller; -bool xUSPY5MXCHMAMXAllowLongSignals = false; // xUSPY5XCHMAMXAllowLongSignals; -bool xUSPY5MXCHMAMXAllowShortSignals = false; // xUSPY5XCHMAMXAllowShortSignals; - -// -// XCHMAMN ... -bool xUSPY5MXCHMAMNEnableSignaller = false; // xUSPY5XCHMAMNEnableSignaller; -bool xUSPY5MXCHMAMNAllowLongSignals = false; // xUSPY5XCHMAMNAllowLongSignals; -bool xUSPY5MXCHMAMNAllowShortSignals = false; // xUSPY5XCHMAMNAllowShortSignals; - -// -XCProvider *xUSPY5Provider; - -// -// Validate Indicators Inputs ... -bool XUSPY5ValidateIndicatorsInputs() -{ - // - bool result = false; - - // - // XTM ... - result = XTMValidateInputs(); - if (!result) - { - return result; - } - - // - // XAMA ... - result = XAMAValidateInputs(); - if (!result) - { - return result; - } - - // - // XTD ... - result = XTDValidateInputs(); - if (!result) - { - return result; - } - - // - // XFI ... - result = XFIValidateInputs(); - if (!result) - { - return result; - } - - // - // XTS ... - result = XTSValidateInputs(); - if (!result) - { - return result; - } - - // - // XOBD ... - result = XOBDValidateInputs(); - if (!result) - { - return result; - } - - // - // XLH ... - result = XLHValidateInputs(); - if (!result) - { - return result; - } - - // - // XRSI ... - result = XRSIValidateInputs(); - if (!result) - { - return result; - } - - // - // XCHLH ... - result = XCHLHValidateInputs(); - if (!result) - { - return result; - } - - // - // XCHMA ... - result = XCHMAValidateInputs(); - if (!result) - { - return result; - } - - // - // Make an Instance Of XCProvider Class for Use ... - xUSPY5Provider = new XCProvider( - // - // Commons ... - _Symbol, - _Period, - // - // Signallers ... - // - // XTD ... - xUSPY5MXTDEnableSignaller, - xUSPY5MXTDAllowLongSignals, - xUSPY5MXTDAllowShortSignals, - // - // XTAM ... - xUSPY5MXTAMEnableSignaller, - xUSPY5MXTAMAllowLongSignals, - xUSPY5MXTAMAllowShortSignals, - // - // XSI ... - xUSPY5MXSIEnableSignaller, - xUSPY5MXSIAllowLongSignals, - xUSPY5MXSIAllowShortSignals, - // - // XTSFI ... - xUSPY5MXTSFIEnableSignaller, - xUSPY5MXTSFIAllowLongSignals, - xUSPY5MXTSFIAllowShortSignals, - // - // XOBDLH ... - xUSPY5MXOBDLHEnableSignaller, - xUSPY5MXOBDLHAllowLongSignals, - xUSPY5MXOBDLHAllowShortSignals, - // - // XCHMACC ... - xUSPY5MXCHMACCEnableSignaller, - xUSPY5MXCHMACCAllowLongSignals, - xUSPY5MXCHMACCAllowShortSignals, - // - // XCHMAMX ... - xUSPY5MXCHMAMXEnableSignaller, - xUSPY5MXCHMAMXAllowLongSignals, - xUSPY5MXCHMAMXAllowShortSignals, - // - // XCHMAMN ... - xUSPY5MXCHMAMNEnableSignaller, - xUSPY5MXCHMAMNAllowLongSignals, - xUSPY5MXCHMAMNAllowShortSignals - // - ); - - // - result = true; - - // - return result; -} - -// -// Init Indicators ... -bool XUSPY5InitIndicators() -{ - // - bool result = false; - - // - // Make it Enable when we need to Log Market Conditions ... - xUSPY5IsTestMode = IsRunningOnTestMode(); - - // - // Check and Calculate Max Length in Inputs ... - // - - // - // XTM ... - xUSPY5MaxLengthOfInputs = MathMax( - xTMMaPeriod, - xUSPY5NumberOfItemsPerTick); - - // - // XAMA ... - xUSPY5MaxLengthOfInputs = MathMax( - xAMALength, - xUSPY5NumberOfItemsPerTick); - xUSPY5MaxLengthOfInputs = MathMax( - xAMAFastEMA, - xUSPY5NumberOfItemsPerTick); - xUSPY5MaxLengthOfInputs = MathMax( - xAMASlowEMA, - xUSPY5NumberOfItemsPerTick); - - // - // XLH ... - xUSPY5MaxLengthOfInputs = MathMax( - xLHLength, - xUSPY5NumberOfItemsPerTick); - - // - // XTD ... - xUSPY5MaxLengthOfInputs = MathMax( - xTDLength, - xUSPY5MaxLengthOfInputs); - - // - // XFI ... - xUSPY5MaxLengthOfInputs = MathMax( - xFILength, - xUSPY5MaxLengthOfInputs); - - // - // XRSI ... - xUSPY5MaxLengthOfInputs = MathMax( - xRSILength, - xUSPY5MaxLengthOfInputs); - - // - // XOBD ... - xUSPY5MaxLengthOfInputs = MathMax( - xOBDLength, - xUSPY5MaxLengthOfInputs); - - // - // XCHLH ... - xUSPY5MaxLengthOfInputs = MathMax( - xCHLHLcLength, - xUSPY5MaxLengthOfInputs); - xUSPY5MaxLengthOfInputs = MathMax( - xCHLHMcLength, - xUSPY5MaxLengthOfInputs); - xUSPY5MaxLengthOfInputs = MathMax( - xCHLHScLength, - xUSPY5MaxLengthOfInputs); - - // - // XCHMA ... - xUSPY5MaxLengthOfInputs = MathMax( - xCHMAScFastLength, - xUSPY5MaxLengthOfInputs); - xUSPY5MaxLengthOfInputs = MathMax( - xCHMAScSlowLength, - xUSPY5MaxLengthOfInputs); - xUSPY5MaxLengthOfInputs = MathMax( - xCHMAMcFastLength, - xUSPY5MaxLengthOfInputs); - xUSPY5MaxLengthOfInputs = MathMax( - xCHMAMcSlowLength, - xUSPY5MaxLengthOfInputs); - xUSPY5MaxLengthOfInputs = MathMax( - xCHMALcFastLength, - xUSPY5MaxLengthOfInputs); - xUSPY5MaxLengthOfInputs = MathMax( - xCHMALcSlowLength, - xUSPY5MaxLengthOfInputs); - - // - // Validate Indicators Inputs before Initialization ... - result = XUSPY5ValidateIndicatorsInputs(); - if (!result) - { - return result; - } - - // - // Validate Signallers ... - - // - // XTD ... - bool isXTDEnable = - xUSPY5XTDEnableSignaller && - (xUSPY5XTDAllowLongSignals || - xUSPY5XTDAllowShortSignals); - - // - // XTAM ... - bool isXTAMEnable = - xUSPY5XTAMEnableSignaller && - (xUSPY5XTAMAllowLongSignals || - xUSPY5XTAMAllowShortSignals); - - // - // XSI ... - bool isXSIEnable = - xUSPY5XSIEnableSignaller && - (xUSPY5XSIAllowLongSignals || - xUSPY5XSIAllowShortSignals); - - // - // XTSFI ... - bool isXTSFIEnable = - xUSPY5XTSFIEnableSignaller && - (xUSPY5XTSFIAllowLongSignals || - xUSPY5XTSFIAllowShortSignals); - - // - // XOBDLH ... - bool isXOBDLHEnable = false; - // xUSPY5XOBDLHEnableSignaller && - // (xUSPY5XOBDLHAllowLongSignals || - // xUSPY5XOBDLHAllowShortSignals); - - // - // XCHMACC ... - bool isXCHMACCEnable = - xUSPY5XCHMACCEnableSignaller && - (xUSPY5XCHMACCAllowLongSignals || - xUSPY5XCHMACCAllowShortSignals); - - // - // XCHMAMX ... - bool isXCHMAMXEnable = false; - // xUSPY5XCHMAMXEnableSignaller && - // (xUSPY5XCHMAMXAllowLongSignals || - // xUSPY5XCHMAMXAllowShortSignals); - - // - // XCHMAMN ... - bool isXCHMAMNEnable = false; - // xUSPY5XCHMAMNEnableSignaller && - // (xUSPY5XCHMAMNAllowLongSignals || - // xUSPY5XCHMAMNAllowShortSignals); - - // - bool hasSignaller = - // - isXTDEnable || - isXTAMEnable || - isXSIEnable || - isXTSFIEnable || - isXOBDLHEnable || - isXCHMACCEnable || - isXCHMAMXEnable || - isXCHMAMNEnable - // - ; - result = hasSignaller; - if (!result) - { - // - LogMessage("XUSPY5 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 XUSPY5ReleaseIndicators() -{ - // - // Release Handlers ... - XTMReleaseHandlers(); - XAMAReleaseHandlers(); - XLHReleaseHandlers(); - XTDReleaseHandlers(); - XFIReleaseHandlers(); - XTSReleaseHandlers(); - XRSIReleaseHandlers(); - XOBDReleaseHandlers(); - XCHMAReleaseHandlers(); - XCHLHReleaseHandlers(); -} - -// -// Handle Reading Buffers ... -void XUSPY5HandleReadingBuffers() -{ - // - // Reading Calculated Bars for a Simple Handler ... - xUSPY5CalculatedBars = BarsCalculated(xTMHandler); - - // - // Read Indicators Buffers ... - XTMReadBuffers(xUSPY5NumberOfItemsPerTick); - XAMAReadBuffers(xUSPY5NumberOfItemsPerTick); - XLHReadBuffers(xUSPY5NumberOfItemsPerTick); - XTDReadBuffers(xUSPY5NumberOfItemsPerTick); - XFIReadBuffers(xUSPY5NumberOfItemsPerTick); - XTSReadBuffers(xUSPY5NumberOfItemsPerTick); - XRSIReadBuffers(xUSPY5NumberOfItemsPerTick); - XOBDReadBuffers(xUSPY5NumberOfItemsPerTick); - XCHMAReadBuffers(xUSPY5NumberOfItemsPerTick); - XCHLHReadBuffers(xUSPY5NumberOfItemsPerTick); - - // - xUSPY5Provider.ReadConditions(); -} - -// -// -// START Combination Functions ... -// -// - -// -// Can Open Long Trade ... -// this is a Function will Check all market Conditions and get all -// Strategy requirement Verifications for Long Signals ... -bool XUSPY5CanOpenLongTrade( - XProvidedSignal &info // Retrieve Signal Additional Info on this Object -) -{ - // - bool result = false; - - // - info.tp = 0; - info.sl = 0; - ArrayResize( - info.signallers, - 0); - - // - bool hasSignal = XUSPY5HasLongSignal(info); - - // - result = - // - hasSignal - // - ; - - // - if (result) - { - xUSPY5Provider.ClearConditions(); - } - - // - return result; -} - -// -// Can Close Long Trade ... -// this is a Function will Check all market Conditions and get all -// Strategy requirement Verifications for Long Signals ... -bool XUSPY5CanCloseLongTrade() -{ - // - 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 XUSPY5CanOpenShortTrade( - XProvidedSignal &info // Retrieve Signal Additional Info on this Object -) -{ - // - bool result = false; - - // - info.tp = 0; - info.sl = 0; - ArrayResize( - info.signallers, - 0); - - // - bool hasSignal = XUSPY5HasShortSignal(info); - - // - result = - // - hasSignal - // - ; - - // - if (result) - { - xUSPY5Provider.ClearConditions(); - } - - // - return result; -} - -// -// Can Close Short Trade ... -// this is a Function will Check all market Conditions and get all -// Strategy requirement Verifications for Short Signals ... -bool XUSPY5CanCloseShortTrade() -{ - // - bool result = false; - - // - return result; -} - -// -// -// END Combination Functions ... -// -// - -// -// -// START Combination Signaling ... -// -// - -// -// Check Market Conditions by Combination of Power of All tools for LONGs ... -bool XUSPY5HasLongSignal( - XProvidedSignal &info // Retrieve Signal Additional Info on this Object -) -{ - // - bool result = false; - - // - // XTD ... - bool isXTDHasSignal = XUSPY5XTDHasLongSignal(); - if (isXTDHasSignal) - { - // - Add( - EnumToString(XTD), - info.signallers); - } - - // - // XTAM ... - bool isXTAMHasSignal = XUSPY5XTAMHasLongSignal(); - if (isXTAMHasSignal) - { - // - Add( - EnumToString(XTAM), - info.signallers); - } - - // - // XSI ... - bool isXSIHasSignal = XUSPY5XSIHasLongSignal(); - if (isXSIHasSignal) - { - // - Add( - EnumToString(XSI), - info.signallers); - } - - // - // XTSFI ... - bool isXTSFIHasSignal = XUSPY5XTSFIHasLongSignal(); - if (isXTSFIHasSignal) - { - // - Add( - EnumToString(XTSFI), - info.signallers); - } - - // - // XOBD XLH ... - bool isXOBDLHHasSignal = XUSPY5XOBDLHHasLongSignal(); - if (isXOBDLHHasSignal) - { - // - Add( - EnumToString(XOBDLH), - info.signallers); - } - - // - // XCHMA Cycles Cross ... - bool isXCHMACCHasSignal = XUSPY5XCHMACCHasLongSignal(); - if (isXCHMACCHasSignal) - { - // - Add( - EnumToString(XCHMACC), - info.signallers); - } - - // - // XCHMA Cycles Min ... - bool isXCHMAMNHasSignal = XUSPY5XCHMAMNHasLongSignal(); - if (isXCHMAMNHasSignal) - { - // - Add( - EnumToString(XCHMAMN), - info.signallers); - } - - // - // XCHMA Cycles Max - bool isXCHMAMXHasSignal = XUSPY5XCHMAMXHasLongSignal(); - if (isXCHMAMXHasSignal) - { - // - Add( - EnumToString(XCHMAMX), - info.signallers); - } - - // - result = - // - isXTDHasSignal - // - || - // - isXTAMHasSignal - // - || - // - isXSIHasSignal - // - || - // - isXTSFIHasSignal - // - || - // - isXOBDLHHasSignal - // - || - // - isXCHMACCHasSignal - // - || - // - isXCHMAMNHasSignal - // - || - // - isXCHMAMXHasSignal - // - ; - - // - if (result) - { - // - // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xUSPY5IsTestMode || xUSPY5EnableSignalAlerts) - { - // - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - string message = xUSPY5Provider.GenerateConditionsString(mConditions); - - // - LogMessage( - "Long Signal Provided by: \n" + - info.signallers[ArraySize(info.signallers) - 1] + "\n" + - "Pusher: " + (string)ArraySize(info.signallers) + "\n" + - "Market Conditions: " + message); - } - } - - // - return result; -} - -// -// Check Market Conditions by Combination of Power of All tools for SHORTs ... -bool XUSPY5HasShortSignal( - XProvidedSignal &info // Retrieve Signal Additional Info on this Object -) -{ - // - bool result = false; - - // - // XTD ... - bool isXTDHasSignal = XUSPY5XTDHasShortSignal(); - if (isXTDHasSignal) - { - // - Add( - EnumToString(XTD), - info.signallers); - } - - // - // XTAM ... - bool isXTAMHasSignal = XUSPY5XTAMHasShortSignal(); - if (isXTAMHasSignal) - { - // - Add( - EnumToString(XTAM), - info.signallers); - } - - // - // XSI ... - bool isXSIHasSignal = XUSPY5XSIHasShortSignal(); - if (isXSIHasSignal) - { - // - Add( - EnumToString(XSI), - info.signallers); - } - - // - // XTSFI ... - bool isXTSFIHasSignal = XUSPY5XTSFIHasShortSignal(); - if (isXTSFIHasSignal) - { - // - Add( - EnumToString(XTSFI), - info.signallers); - } - - // - // XOBD XLH ... - bool isXOBDLHHasSignal = XUSPY5XOBDLHHasShortSignal(); - if (isXOBDLHHasSignal) - { - // - Add( - EnumToString(XOBDLH), - info.signallers); - } - - // - // XCHMA Cycles Cross ... - bool isXCHMACCHasSignal = XUSPY5XCHMACCHasShortSignal(); - if (isXCHMACCHasSignal) - { - // - Add( - EnumToString(XCHMACC), - info.signallers); - } - - // - // XCHMA Cycles Min ... - bool isXCHMAMNHasSignal = XUSPY5XCHMAMNHasShortSignal(); - if (isXCHMAMNHasSignal) - { - // - Add( - EnumToString(XCHMAMN), - info.signallers); - } - - // - // XCHMA Cycles Max - bool isXCHMAMXHasSignal = XUSPY5XCHMAMXHasShortSignal(); - if (isXCHMAMXHasSignal) - { - // - Add( - EnumToString(XCHMAMX), - info.signallers); - } - - // - result = - // - isXTDHasSignal - // - || - // - isXTAMHasSignal - // - || - // - isXSIHasSignal - // - || - // - isXTSFIHasSignal - // - || - // - isXOBDLHHasSignal - // - || - // - isXCHMACCHasSignal - // - || - // - isXCHMAMNHasSignal - // - || - // - isXCHMAMXHasSignal - // - ; - - // - if (result) - { - // - // Only Log Signals Time Market Conditions if is in Testing Mode ... - if (xUSPY5IsTestMode || xUSPY5EnableSignalAlerts) - { - // - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - string message = xUSPY5Provider.GenerateConditionsString(mConditions); - - // - LogMessage( - "Short Signal Provided by: \n" + - info.signallers[ArraySize(info.signallers) - 1] + "\n" + - "Pusher: " + (string)ArraySize(info.signallers) + "\n" + - "Market Conditions: " + message); - } - } - - // - return result; -} - -// -// -// END Combination Signaling ... -// -// - -// -// START Signal Providers ... -// - -// -// Disbale All Signallers Longs ... -void XUSPY5DisableLongSignallers() -{ - // - // XTD ... - if (xUSPY5MXTDEnableSignaller) - { - // - xUSPY5Provider.DisbaleXTDLongs(); - xUSPY5MXTDAllowLongSignals = false; - } - - // - // XTAM ... - if (xUSPY5MXTAMEnableSignaller) - { - // - xUSPY5Provider.DisbaleXTAMLongs(); - xUSPY5MXTAMAllowLongSignals = false; - } - - // - // XSI ... - if (xUSPY5MXSIEnableSignaller) - { - // - xUSPY5Provider.DisbaleXSILongs(); - xUSPY5MXSIAllowLongSignals = false; - } - - // - // XTSFI ... - if (xUSPY5MXTSFIEnableSignaller) - { - // - xUSPY5Provider.DisbaleXTSFILongs(); - xUSPY5MXTSFIAllowLongSignals = false; - } - - // - // XOBDLH ... - // if (xUSPY5MXOBDLHEnableSignaller) - // { - // // - // xUSPY5Provider.DisbaleXOBDLHLongs(); - // xUSPY5MXOBDLHAllowLongSignals = false; - // } - - // - // XCHMACC ... - if (xUSPY5MXCHMACCEnableSignaller) - { - // - xUSPY5Provider.DisbaleXCHMACCLongs(); - xUSPY5MXCHMACCAllowLongSignals = false; - } - - // - // XCHMAMX ... - // if (xUSPY5MXCHMAMXEnableSignaller) - // { - // // - // xUSPY5Provider.DisbaleXCHMAMXLongs(); - // xUSPY5MXCHMAMXAllowLongSignals = false; - // } - - // - // XCHMAMN ... - // if (xUSPY5MXCHMAMNEnableSignaller) - // { - // // - // xUSPY5Provider.DisbaleXCHMAMNLongs(); - // xUSPY5MXCHMAMNAllowLongSignals = false; - // } -} - -// -// Enable All Signallers Longs ... -// Only if they are Configured as Enable at Settings ... -void XUSPY5EnableLongSignallers() -{ - // - // XTD ... - if (xUSPY5MXTDEnableSignaller) - { - // - xUSPY5MXTDAllowLongSignals = - xUSPY5XTDAllowLongSignals - ? true - : xUSPY5MXTDAllowLongSignals; - - // - if (xUSPY5MXTDAllowLongSignals) - { - xUSPY5Provider.EnableXTDLongs(); - } - } - - // - // XTAM ... - if (xUSPY5MXTAMEnableSignaller) - { - // - xUSPY5MXTAMAllowLongSignals = - xUSPY5XTAMAllowLongSignals - ? true - : xUSPY5MXTAMAllowLongSignals; - - // - if (xUSPY5MXTAMAllowLongSignals) - { - xUSPY5Provider.EnableXTAMLongs(); - } - } - - // - // XSI ... - if (xUSPY5MXSIEnableSignaller) - { - // - xUSPY5MXSIAllowLongSignals = - xUSPY5XSIAllowLongSignals - ? true - : xUSPY5MXSIAllowLongSignals; - - // - if (xUSPY5MXSIAllowLongSignals) - { - xUSPY5Provider.EnableXSILongs(); - } - } - - // - // XTSFI ... - if (xUSPY5MXTSFIEnableSignaller) - { - // - xUSPY5MXTSFIAllowLongSignals = - xUSPY5XTSFIAllowLongSignals - ? true - : xUSPY5MXTSFIAllowLongSignals; - - // - if (xUSPY5MXTSFIAllowLongSignals) - { - xUSPY5Provider.EnableXTSFILongs(); - } - } - - // - // XOBDLH ... - // if (xUSPY5MXOBDLHEnableSignaller) - // { - // // - // xUSPY5MXOBDLHAllowLongSignals = - // xUSPY5XOBDLHAllowLongSignals - // ? true - // : xUSPY5MXOBDLHAllowLongSignals; - - // // - // if (xUSPY5MXOBDLHAllowLongSignals) - // { - // xUSPY5Provider.EnableXOBDLHLongs(); - // } - // } - - // - // XCHMACC ... - if (xUSPY5MXCHMACCEnableSignaller) - { - // - xUSPY5MXCHMACCAllowLongSignals = - xUSPY5XCHMACCAllowLongSignals - ? true - : xUSPY5MXCHMACCAllowLongSignals; - - // - if (xUSPY5MXCHMACCAllowLongSignals) - { - xUSPY5Provider.EnableXCHMACCLongs(); - } - } - - // - // XCHMAMX ... - // if (xUSPY5MXCHMAMXEnableSignaller) - // { - // // - // xUSPY5MXCHMAMXAllowLongSignals = - // xUSPY5XCHMAMXAllowLongSignals - // ? true - // : xUSPY5MXCHMAMXAllowLongSignals; - - // // - // if (xUSPY5MXCHMAMXAllowLongSignals) - // { - // xUSPY5Provider.EnableXCHMAMXLongs(); - // } - // } - - // - // XCHMAMN ... - // if (xUSPY5MXCHMAMNEnableSignaller) - // { - // // - // xUSPY5MXCHMAMNAllowLongSignals = - // xUSPY5XCHMAMNAllowLongSignals - // ? true - // : xUSPY5MXCHMAMNAllowLongSignals; - - // // - // if (xUSPY5MXCHMAMNAllowLongSignals) - // { - // xUSPY5Provider.EnableXCHMAMNLongs(); - // } - // } -} - -// -// Disable All Signallers Shorts ... -void XUSPY5DisableShortSignallers() -{ - // - // XTD ... - if (xUSPY5MXTDEnableSignaller) - { - // - xUSPY5Provider.DisableXTDShorts(); - xUSPY5MXTDAllowShortSignals = false; - } - - // - // XTAM ... - if (xUSPY5MXTAMEnableSignaller) - { - // - xUSPY5Provider.DisableXTAMShorts(); - xUSPY5MXTAMAllowShortSignals = false; - } - - // - // XSI ... - if (xUSPY5MXSIEnableSignaller) - { - // - xUSPY5Provider.DisableXSIShorts(); - xUSPY5MXSIAllowShortSignals = false; - } - - // - // XTSFI ... - if (xUSPY5MXTSFIEnableSignaller) - { - // - xUSPY5Provider.DisableXTSFIShorts(); - xUSPY5MXTSFIAllowShortSignals = false; - } - - // - // XOBDLH ... - // if (xUSPY5MXOBDLHEnableSignaller) - // { - // // - // xUSPY5Provider.DisableXOBDLHShorts(); - // xUSPY5MXOBDLHAllowShortSignals = false; - // } - - // - // XCHMACC ... - if (xUSPY5MXCHMACCEnableSignaller) - { - // - xUSPY5Provider.DisableXCHMACCShorts(); - xUSPY5MXCHMACCAllowShortSignals = false; - } - - // - // XCHMAMX ... - // if (xUSPY5MXCHMAMXEnableSignaller) - // { - // // - // xUSPY5Provider.DisableXCHMAMXShorts(); - // xUSPY5MXCHMAMXAllowShortSignals = false; - // } - - // - // XCHMAMN ... - // if (xUSPY5MXCHMAMNEnableSignaller) - // { - // // - // xUSPY5Provider.DisableXCHMAMNShorts(); - // xUSPY5MXCHMAMNAllowShortSignals = false; - // } -} - -// -// Enable All Signallers Shorts ... -// Only if they are Configured as Enable at Settings ... -void XUSPY5EnableShortSignallers() -{ - // - // XTD ... - if (xUSPY5MXTDEnableSignaller) - { - // - xUSPY5MXTDAllowShortSignals = - xUSPY5XTDAllowShortSignals - ? true - : xUSPY5MXTDAllowShortSignals; - - // - if (xUSPY5MXTDAllowShortSignals) - { - xUSPY5Provider.EnableXTDShorts(); - } - } - - // - // XTAM ... - if (xUSPY5MXTAMEnableSignaller) - { - // - xUSPY5MXTAMAllowShortSignals = - xUSPY5XTAMAllowShortSignals - ? true - : xUSPY5MXTAMAllowShortSignals; - - // - if (xUSPY5MXTAMAllowShortSignals) - { - xUSPY5Provider.EnableXTAMShorts(); - } - } - - // - // XSI ... - if (xUSPY5MXSIEnableSignaller) - { - // - xUSPY5MXSIAllowShortSignals = - xUSPY5XSIAllowShortSignals - ? true - : xUSPY5MXSIAllowShortSignals; - - // - if (xUSPY5MXSIAllowShortSignals) - { - xUSPY5Provider.EnableXSIShorts(); - } - } - - // - // XTSFI ... - if (xUSPY5MXTSFIEnableSignaller) - { - // - xUSPY5MXTSFIAllowShortSignals = - xUSPY5XTSFIAllowShortSignals - ? true - : xUSPY5MXTSFIAllowShortSignals; - - // - if (xUSPY5MXTSFIAllowShortSignals) - { - xUSPY5Provider.EnableXTSFIShorts(); - } - } - - // - // XOBDLH ... - // if (xUSPY5MXOBDLHEnableSignaller) - // { - // // - // xUSPY5MXOBDLHAllowShortSignals = - // xUSPY5XOBDLHAllowShortSignals - // ? true - // : xUSPY5MXOBDLHAllowShortSignals; - - // // - // if (xUSPY5MXOBDLHAllowShortSignals) - // { - // xUSPY5Provider.EnableXOBDLHShorts(); - // } - // } - - // - // XCHMACC ... - if (xUSPY5MXCHMACCEnableSignaller) - { - // - xUSPY5MXCHMACCAllowShortSignals = - xUSPY5XCHMACCAllowShortSignals - ? true - : xUSPY5MXCHMACCAllowShortSignals; - - // - if (xUSPY5MXCHMACCAllowShortSignals) - { - xUSPY5Provider.EnableXCHMACCShorts(); - } - } - - // - // XCHMAMX ... - // if (xUSPY5MXCHMAMXEnableSignaller) - // { - // // - // xUSPY5MXCHMAMXAllowShortSignals = - // xUSPY5XCHMAMXAllowShortSignals - // ? true - // : xUSPY5MXCHMAMXAllowShortSignals; - - // // - // if (xUSPY5MXCHMAMXAllowShortSignals) - // { - // xUSPY5Provider.EnableXCHMAMXShorts(); - // } - // } - - // - // XCHMAMN ... - // if (xUSPY5MXCHMAMNEnableSignaller) - // { - // // - // xUSPY5MXCHMAMNAllowShortSignals = - // xUSPY5XCHMAMNAllowShortSignals - // ? true - // : xUSPY5MXCHMAMNAllowShortSignals; - - // // - // if (xUSPY5MXCHMAMNAllowShortSignals) - // { - // xUSPY5Provider.EnableXCHMAMNShorts(); - // } - // } -} - -// -// -// - -// -// XTD Long Signal Checking ... -bool XUSPY5XTDHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXTDEnableSignaller || - !xUSPY5MXTDAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XTDHasLongConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Long ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXCHMAMCVale && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXTDBearishVale) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXRSICrossedOverLongExit && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXAMAStartBullish && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTDBearishVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXTMStartBullish && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBearishVale && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCHHSame) - // - || - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXAMAStartBullish && - mConditions.isXCHMASCFastCrossedOverSlow) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale && - mConditions.isXTMStartBullish && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDBearishVale && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXTMNeutural && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTDBearishVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Long ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalCrossedOverBear && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXTDBearishVale) - // - || - // - (mConditions.isXLHHHDecreased && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTMNeutural || - mConditions.isXTMEndBullish) && - ( - // - (mConditions.isXTDSignalCrossedOverBear && - mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Over Slow ... - ((mConditions.isXCHMALCTrendsDown || - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXCHLHSameHHs && - ( - // - ( - // - mConditions.isXLHHighAttachedHH - // - || - // - (mConditions.isXLHLLSameInLength && - mConditions.isXRSICrossedOverLongExit) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXLHHighAttachedHH) && - ( - // - mConditions.isXCHLHSameHHs - // - || - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Long ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Long ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Long ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - // XTD Long ... - // Resolve Guard Attacks ... - || - // - ( - // - // XTD Long ... - // isXTSCurrentUnderNearest - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - mConditions.isXTSCurrentCrossedUnderFarest - // - || - // - (mConditions.isXCHMASCOverMax && - mConditions.isXCHMAMCFastUnderSlow) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceInSignalRange) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXCHMALCFastUnderSlow) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTDBearishVale) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXCHMALCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXLHPriceOverSignal && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMAMCVale && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCLLSame) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - mConditions.isXLHPriceUnderSignal - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - mConditions.isXLHPriceInSignalRange - // - || - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXLHLLSameInLength) && - ( - // - mConditions.isXCHLHSCMCHHSame - // - || - // - mConditions.isXLHHHSameInLength - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXCHMALCVale && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - mConditions.isXLHHHSameInLength - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHHHIncreased && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - mConditions.isXLHLLIncreased - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXLHLLSameInLength && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - || - // - (mConditions.isXCHLHSameHHs && - ( - // - mConditions.isXLHLLSameInLength - // - || - // - (mConditions.isXTMNeutural || - mConditions.isXTMEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLDecreased) - // - || - // - (mConditions.isXCHMASCOverMax && - mConditions.isXLHHighAttachedHH && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) || - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish)) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength) && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXLHLLSameInLength) - // - || - // - (mConditions.isXLHLLIncreased && - mConditions.isXLHPriceInSignalRange) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - mConditions.isXCHMASCCrossedOverMin - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXCHMASCCrossedOverMin && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMAMCPeak) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXLHLLIncreased && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - (mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceOverSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXLHPriceOverSignal && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXCHMASCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax) - // - || - // - ((mConditions.isXTDBearishVale && - mConditions.isXCHMASCCrossedOverMin) && - ( - // - (mConditions.isXTMNeutural && - ( - // - mConditions.isXAMANeutural - // - || - // - mConditions.isXAMAStartBullish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXLHPriceCrossedUnderSignal && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXTDBearishVale && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXTSCurrentCrossedOverMediest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXTDBearishVale) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - || - // - (mConditions.isXAMAStartBullish && - mConditions.isXLHPriceUnderSignal) - // - ) - // - ) - // - || - // - (mConditions.isXTDBearishVale && - ( - // - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXAMAStartBullish && - mConditions.isXLHLLSameInLength) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHLLSameInLength) - // - || - // - (mConditions.isXTSCurrentMax && - mConditions.isXTDBearishVale && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBearishVale && - mConditions.isXCHMALCFastUnderSlow && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXCHMASCOverMax && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceInSignalRange && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - ((mConditions.isXTDBearishVale && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // isXTSCurrentUnderMediest - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceOverSignal) && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (mConditions.isXLHHHSameInLength && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXAMABearish && - mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXLHPriceInSignalRange) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXTDBearishVale && - ( - // - (mConditions.isXLHPriceUnderSignal && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHPriceOverSignal && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceInSignalRange && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceInSignalRange && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXLHLLIncreased) - // - || - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - ((mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceUnderSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - ) - // - ) - // - || - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXAMAEndBullish && - mConditions.isXLHHHDecreased && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceUnderSignal && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // isXTSCurrentUnderFarest - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXLHLLDecreased) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXAMAVale && - mConditions.isXAMABearish && - mConditions.isXTMStartBullish) - // - || - // - (mConditions.isXTDBearishVale && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - mConditions.isXAMABearish - // - || - // - mConditions.isXLHLLSameInLength - // - || - // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHHHSameInLength && - mConditions.isXLHPriceUnderSignal) - // - ) - // - ) - // - || - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXTDBearishVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXAMAStartBullish && - mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown) && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXTSCurrentCrossedOverNearest - // - || - // - (mConditions.isXAMAVale && - mConditions.isXLHLLIncreased && - mConditions.isXTMStartBullish && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXAMAStartBullish && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXTSCurrentCrossedUnderFarest && - ( - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXTMNeutural && - ( - // - mConditions.isXAMANeutural - // - || - // - mConditions.isXTMEndBullish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXCHMALCVale && - ( - // - mConditions.isXTDBearishVale - // - || - // - (mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - mConditions.isXCHMASCOverMax - // - || - // - (mConditions.isXTDBearishVale && - ( - // - mConditions.isXAMANeutural - // - || - // - mConditions.isXTMStartBullish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - ((mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXCHMALCTrendsDown) && - (!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow)) - // - || - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTMNeutural && - mConditions.isXLHLLIncreased) && - ( - // - mConditions.isXCHMALCVale - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMALCPeak) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXAMAStartBullish && - mConditions.isXLHPriceInSignalRange) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHLLDecreased && - mConditions.isXTMStartBullish && - mConditions.isXLHPriceCrossedOverSignal) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXAMAStartBullish && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // isXCHMAMCFastUnderSlow - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXLHLLSameInLength && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXAMANeutural && - mConditions.isXCHMASCUnderMin) - // - || - // - mConditions.isXTSCurrentCrossedOverNearest - // - ) - // - ) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceUnderSignal && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - || - // - (mConditions.isXAMAVale && - mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHMASCUnderMin) - // - || - // - ((mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverNearest) && - ( - // - (mConditions.isXLHLLDecreased && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXAMAVale && - mConditions.isXAMABearish && - mConditions.isXTMStartBullish && - mConditions.isXCHLHSCMCLLSame) - // - || - // - (mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCCrossedOverMin && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXTDBearishVale && - mConditions.isXTSCurrentUnderMediest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame) - // - || - // - ((mConditions.isXTSAllSame && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXTSCurrentMax && - ( - // - mConditions.isXLHHHDecreased - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXLHLLDecreased) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXLHHHSameInLength && - mConditions.isXLHPriceUnderSignal) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXTDBearishVale && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXAMAVale && - mConditions.isXAMABearish && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXTMStartBullish) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTSCurrentMax && - ( - // - (mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceUnderSignal) - // - || - // - (mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceInSignalRange && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXCHMASCUnderMin && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale) - // - || - // - (mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHPriceOverSignal && - mConditions.isXCHMASCCrossedOverMin && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHPriceOverSignal) && - ( - // - mConditions.isXTMStartBullish - // - || - // - ((mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXLHLLSameInLength && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // isXCHMALCFastUnderSlow - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) - // - || - // - ((mConditions.isXOBDSwingHigh && - mConditions.isXTSCurrentMax) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - || - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentMax && - ( - // - (mConditions.isXLHPriceCrossedOverSignal && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTSCurrentMax && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXLHHighAttachedHH) - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXAMAStartBullish && - mConditions.isXLHPriceCrossedOverSignal) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXCHMASCCrossedOverMax) - // - || - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMin && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax) && - ( - // - mConditions.isXTSCurrentCrossedOverNearest - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXTMStartBullish && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXTSCurrentMax && - ( - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXCHMALCVale && - mConditions.isXLHPriceOverSignal && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - || - // - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXLHPriceOverSignal && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXTDBearishVale - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - mConditions.isXLHLLSameInLength - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXLHHHSameInLength && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - mConditions.isXFICrossedOverZero - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXCHMASCOverMin && - mConditions.isXTDBullOverBear && - mConditions.isXCHMASCUnderMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHLLSameInLength) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXTSCurrentCrossedOverNearest - // - || - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - || - // - (((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) || - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish)) && - ( - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXTSCurrentMax && - ( - // - mConditions.isXTDBearishVale - // - || - // - (mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceInSignalRange) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXLHPriceOverSignal && - mConditions.isXLHLLSameInLength) && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXLHHHSameInLength && - ( - // - mConditions.isXCHLHSCMCHHSame - // - || - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHLHMCLCHHSame) - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCCrossedOverMax) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXFIOverZero && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - || - // - ((mConditions.isXCHMAMCPeak || - mConditions.isXTDBearishVale) && - ( - // - (!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHLHSameHHs) - // - || - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - mConditions.isXLHHighAttachedHH - // - || - // - mConditions.isXTSCurrentCrossedOverMediest - // - ) - // - ) - // - ) - // - ) - // - || - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHLHMCLCLLSame) && - ( - // - mConditions.isXCHLHSCMCHHSame - // - || - // - mConditions.isXLHHHSameInLength - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXLHLLIncreased && - mConditions.isXLHHighAttachedHH) - // - || - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceUnderSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // isXCHMASCTrendsDown - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXTSCurrentMax && - ( - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXLHLLDecreased && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXTMStartBullish && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // isXCHMAMCTrendsDown - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXAMAStartBullish && - ( - // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHPriceUnderSignal) - // - || - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXLHLLSameInLength) - // - || - // - (mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCUnderMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBearishVale && - ( - // - (mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceInSignalRange) - // - || - // - (mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBearishVale && - mConditions.isXLHPriceOverSignal) && - ( - // - (mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) - // - || - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXTMBearish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceUnderSignal && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTDBearishVale && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXAMANeutural && - ( - // - mConditions.isXTMNeutural - // - || - // - mConditions.isXCHLHMCLCHHSame - // - || - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXTMBullish && - mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - mConditions.isXAMAEndBearish - // - || - // - (mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceInSignalRange && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased && - mConditions.isXTMStartBullish && - mConditions.isXCHLHMCLCHHSame) && - ( - // - mConditions.isXAMANeutural - // - || - // - (mConditions.isXAMAStartBullish && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - (mConditions.isXTDBearishVale && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXCHLHMCLCHHSame && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXCHMASCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDBearishVale && - mConditions.isXCHMASCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHDecreased && - mConditions.isXAMAStartBullish && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // isXCHMALCTrendsDown - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - mConditions.isXCHMASCOverMax - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXAMANeutural && - mConditions.isXTDBearishVale && - mConditions.isXTMStartBearish && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceInSignalRange && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXLHLLIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Long ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - mConditions.isXCHLHSameHHs - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - mConditions.isXTDBearishVale - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXLHLLIncreased && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - || - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXTDBullOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - (!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXLHHHSameInLength && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) && - ( - // - (mConditions.isXCHLHSCMCLLSame && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceOverSignal) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXLHLLIncreased && - mConditions.isXTSCurrentOverFarest) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentCrossedOverNearest) && - ( - // - (mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverMediest) - // - || - // - (mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHPriceOverSignal) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMAMCFastCrossedOverSlow) - // - || - // - (mConditions.isXCHLHSameHHs && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XTD Short Signal Checking ... -bool XUSPY5XTDHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXTDEnableSignaller || - !xUSPY5MXTDAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XTDHasShortConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Short ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXLHLLIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Short ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Short ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Short ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXLHHHDecreased && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMStartBearish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHDecreased && - mConditions.isXTDBullOverBear && - mConditions.isXCHMASCTrendsUp && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Short ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDBullOverBear && - mConditions.isXCHMASCTrendsUp && - mConditions.isXTSCurrentOverFarest) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXAMANeutural || - mConditions.isXAMAEndBullish) && - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXTMStartBearish && - mConditions.isXAMAEndBullish && - mConditions.isXAMANeutural && - mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Short ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Short ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXCHMAMCTrendsUp && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Short ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTDBullOverBear && - mConditions.isXCHMASCTrendsUp && - mConditions.isXCHLHSCMCHHSame) && - ( - // - mConditions.isXTSAllSame - // - || - // - mConditions.isXTSCurrentOverFarest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTD Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Short ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTD Short ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - // XTD Shorts ... - // Resolve Guard Attacks ... - || - ( - // - // XTD Shorts ... - // isXTSCurrentOverNearest - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXLHLLIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXTSCurrentOverMediest - (mConditions.isXTSCurrentOverMediest && - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDBullOverBear && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCVale && - mConditions.isXTDBullOverBear && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXTSCurrentOverFarest - (mConditions.isXTSCurrentOverFarest && - ( - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCFastCrossedUnderSlow) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - ((mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish && - mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXTSCurrentOverMediest - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCVale && - mConditions.isXLHHHIncreased && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXTDBullOverBear && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXTDBullOverBear - (mConditions.isXTDBullOverBear && - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDSignalCrossedUnderBear) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHLHSCMCLLSame && - ( - // - (mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXAMAStartBearish && - mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin) && - ( - // - ((mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCUnderMin && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXAMAStartBearish && - mConditions.isXLHLowAttachedLL) - // - || - // - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXLHPriceCrossedUnderSignal) - // - || - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - mConditions.isXTMNeutural - // - || - // - mConditions.isXAMANeutural - // - ) - // - ) - // - || - // - (mConditions.isXLHLLSameInLength && - ( - // - (mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXCHMASCFastCrossedUnderSlow && - mConditions.isXTSCurrentCrossedUnderFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXLHPriceCrossedUnderSignal && - ( - // - ((mConditions.isXTSAllSame && - mConditions.isXLHLowAttachedLL && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXCHMASCFastOverSlow - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXLHHHSameInLength && - mConditions.isXLHLLSameInLength) && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSAllSame && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderMediest) && - ( - // - mConditions.isXTDBullOverBear - // - || - // - mConditions.isXTSCurrentCrossedUnderFarest - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceOverSignal && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXLHPriceOverSignal && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTMStartBearish && - ( - // - mConditions.isXAMANeutural - // - || - // - mConditions.isXAMAStartBearish - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXLHHHIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXTMStartBearish && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXCHMAMCFastOverSlow - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak) && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - || - // - (((mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) || - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish)) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXLHLLIncreased && - mConditions.isXLHLowAttachedLL && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXCHMASCFastCrossedUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXCHMALCFastOverSlow - // Check LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXCHMASCTrendsDown - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXLHHHSameInLength && - ( - // - (mConditions.isXLHPriceUnderSignal && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // isXCHMALCTrendsDown - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTMStartBearish && - mConditions.isXLHLowAttachedLL && - mConditions.isXAMAStartBearish && - mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - // XTD Shorts ... - // Bearish MA ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDSignalCrossedUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - mConditions.isXTSCurrentCrossedUnderFarest - // - || - // - mConditions.isXTSCurrentCrossedUnderNearest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XTAM Long Signal Checking ... -bool XUSPY5XTAMHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXTAMEnableSignaller || - !xUSPY5MXTAMAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XTAMHasLongConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Long ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - // - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTDSignalUnderBear && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHIncreased && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHLowAttachedLL) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHMAMCTrendsUp && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Long ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - || - // - // Check LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXLHHighAttachedHH) && - ( - // - mConditions.isXCHLHSameHHs - // - || - // - (mConditions.isXTDSignalUnderBear && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Long ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - // XTAM Long ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXFIUnderZero && - mConditions.isXLHHHIncreased && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - mConditions.isXCHMASCTrendsUp - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXLHHHDecreased) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDSignalCrossedUnderBear && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMALCPeak && - mConditions.isXFIUnderZero && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXFICrossedUnderZero) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXLHHHIncreased && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentUnderMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTSAllSame && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXLHLLIncreased) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale) - // - || - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXLHHHDecreased && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXTDBearishVale && - mConditions.isXTMVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentUnderMediest && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXLHPriceCrossedOverSignal) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentUnderFarest && - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame) && - ( - // - mConditions.isXTSCurrentMax - // - || - // - mConditions.isXTSCurrentUnderFarest - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentUnderMediest && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDBearishVale && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXCHMALCVale - // - || - // - (mConditions.isXCHLHSameHHs && - mConditions.isXTDSignalUnderBear && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH && - mConditions.isXCHMASCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBearishVale && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXLHHighAttachedHH) && - ( - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentUnderMediest) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale) - // - || - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) && - ( - // - mConditions.isXTSCurrentMax - // - || - // - mConditions.isXCHMASCCrossedOverMax - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentUnderNearest) - // - || - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - mConditions.isXRSICrossedOverLongExit - // - || - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLIncreased && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMAMCFastCrossedOverSlow && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTDSignalUnderBear && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - || - // - (mConditions.isXLHHighAttachedHH && - ( - // - (mConditions.isXCHLHSameHHs && - ( - // - mConditions.isXTDBearishVale - // - || - // - (mConditions.isXCHLHMCLCLLSame && - mConditions.isXLHPriceCrossedOverSignal) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCFastCrossedOverSlow && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHLHSCMCHHSame) - // - || - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXAMAStartBullish && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXRSICrossedOverLongExit && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXCHMAMCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentUnderMediest && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentUnderMediest) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXTDBullUnderBear && - mConditions.isXTSCurrentUnderFarest) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax && - mConditions.isXTMStartBullish && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTDSignalUnderBear && - mConditions.isXTDBullCrossedUnderBear) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCCrossedUnderMax) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCCrossedUnderMax) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentUnderFarest) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTSCurrentUnderMediest) - // - || - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXLHLLDecreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) && - ( - // - mConditions.isXTDBearishVale - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (mConditions.isXCHLHSameHHs && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XTAM Short Signal Checking ... -bool XUSPY5XTAMHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXTAMEnableSignaller || - !xUSPY5MXTAMAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XTAMHasShortConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Short ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXCHMASCTrendsUp && - mConditions.isXTSCurrentOverFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Short ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverFarest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Short ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTDBullCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMASCTrendsUp && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - // - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XTAM Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Short ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XTAM Short ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - // XTAM Short ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDSignalUnderBear && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXTDBullCrossedUnderBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) && - ( - // - mConditions.isXTSCurrentOverFarest - // - || - // - (mConditions.isXTSCurrentMin && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale && - mConditions.isXTDSignalOverBear) && - ( - // - mConditions.isXTDBullOverBear - // - || - // - (mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentOverFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSAllSame && - mConditions.isXLHLLDecreased) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXLHLLIncreased) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXLHLLIncreased) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXRSICrossedUnderShortExit && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMALCVale && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXTSCurrentMax - // - || - // - mConditions.isXTDSignalOverBear - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - (mConditions.isXAMABullish && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceCrossedOverSignal && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMALCVale && - ( - // - mConditions.isXCHMASCUnderMin - // - || - // - mConditions.isXCHLHMCLCLLSame - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - || - // - ((mConditions.isXCHMASCPeak && - mConditions.isXTDSignalOverBear) && - ( - // - mConditions.isXCHMASCTrendsUp - // - || - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTDBullCrossedOverBear) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCOverMax && - mConditions.isXLHHHIncreased && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTDSignalOverBear && - mConditions.isXTSCurrentOverMediest) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMASCTrendsUp && - mConditions.isXTSCurrentOverFarest) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXTSAllSame && - mConditions.isXLHHighAttachedHH) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTMNeutural && - ( - // - ((mConditions.isXAMANeutural && - mConditions.isXTSCurrentMin) && - ( - // - mConditions.isXTSCurrentCrossedUnderFarest - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - || - // - ((mConditions.isXAMABullish && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverFarest) && - ( - // - mConditions.isXTDSignalOverBear - // - || - // - (mConditions.isXTMBullish && - mConditions.isXTSCurrentMax && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // All Bearish ... - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDBullOverBear && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentOverMediest && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMASCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHLowAttachedLL) - // - || - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - ((mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentCrossedOverNearest) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameLLs) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentMin && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCCrossedUnderMax) && - ( - // - (!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTSCurrentMin && - mConditions.isXTDBullishVale && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown) && - ( - // - (mConditions.isXTSCurrentMin && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHMASCCrossedUnderMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXRSICrossedUnderShortExit && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL) && - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL && - mConditions.isXCHMASCCrossedUnderMin) && - ( - // - (mConditions.isXTMVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXRSICrossedUnderShortExit && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXAMAStartBearish && - mConditions.isXLHLowAttachedLL && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - || - // - ((mConditions.isXTSCurrentMin && - mConditions.isXLHLowAttachedLL) && - ( - // - mConditions.isXCHMAMCFastCrossedUnderSlow - // - || - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTSCurrentMax && - mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverFarest) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXTSCurrentCrossedUnderFarest && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTAM Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XSI Long Signal Checking ... -bool XUSPY5XSIHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXSIEnableSignaller || - !xUSPY5MXSIAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XSIHasLongConditions() - // - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // XSI Long ... - // Resolve Stop Outs ... - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastOverSlow && - mConditions.isXCHMALCFastOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - mConditions.isXTSCurrentUnderFarest - // - || - // - mConditions.isXTSCurrentCrossedUnderNearest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (((mConditions.isXTMVale && - mConditions.isXAMAVale) - // - || - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural)) && - ( - // - mConditions.isXTSCurrentUnderFarest - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastOverSlow && - mConditions.isXCHMALCFastOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - mConditions.isXCHMAMCVale - // - ) - // - ) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastOverSlow && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - mConditions.isXTSCurrentUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - // XSI Long ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHMAMCTrendsUp) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXTSCurrentUnderFarest && - mConditions.isXTSCurrentUnderMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale) && - ( - // - mConditions.isXTSCurrentUnderMediest - // - || - // - mConditions.isXTSCurrentUnderFarest - // - || - // - ((mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXTMBearish && - mConditions.isXAMANeutural && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTSCurrentUnderFarest && - mConditions.isXCHMASCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - ((mConditions.isXCHLHMCLCLLSame && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXLHHHDecreased && - mConditions.isXLHLLDecreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) && - ( - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish)) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXCHMAMCVale) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMASCVale) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXTSCurrentUnderFarest && - mConditions.isXTSCurrentUnderMediest) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTMBearish && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHLHSCMCLLSame && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTMBearish && - mConditions.isXCHMAMCVale && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentMin && - mConditions.isXAMAEndBearish) - // - || - // - (mConditions.isXCHLHMCLCHHSame && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale) - // - || - // - ((mConditions.isXTMVale && - mConditions.isXTMBearish && - mConditions.isXCHMASCVale) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXLHLLDecreased) - // - || - // - (mConditions.isXAMAVale && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLDecreased && - mConditions.isXCHMALCTrendsUp && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXCHMASCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastOverSlow && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMAMCVale) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCLLSame) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCLLSame) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXAMAVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCLLSame) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHHighAttachedHH && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XSI Short Signal Checking ... -bool XUSPY5XSIHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXSIEnableSignaller || - !xUSPY5MXSIAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XSIHasShortConditions() - // - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // XSI Short ... - // Resolve Stop Outs ... - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTMBullish && - mConditions.isXCHMALCVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXLHHHIncreased && - mConditions.isXCHMAMCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalOverBear && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak) && - ( - // - (mConditions.isXLHHHIncreased && - ( - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - mConditions.isXTSCurrentOverFarest - // - || - // - mConditions.isXCHMAMCFastCrossedOverSlow - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - mConditions.isXTSCurrentOverFarest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCCrossedOverMin && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTMBullish && - mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCPeak && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXTDBearishVale && - mConditions.isXLHHHIncreased && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMASCPeak && - ( - // - mConditions.isXCHMAMCPeak - // - || - // - mConditions.isXCHMALCVale - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - mConditions.isXCHMAMCFastCrossedOverSlow - // - || - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXCHMAMCFastCrossedOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXLHHHIncreased && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - // XSI Short ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - mConditions.isXCHMASCPeak - // - || - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak) && - ( - // - ((mConditions.isXTSAllSame && - mConditions.isXLHHHIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentMin && - mConditions.isXLHHHIncreased && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentOverFarest) - // - || - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale) && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame) && - ( - // - mConditions.isXTSCurrentCrossedUnderNearest - // - || - // - (mConditions.isXCHMAMCPeak && - mConditions.isXLHHHIncreased) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMASCPeak && - ( - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCPeak && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - mConditions.isXCHLHMCLCLLSame - // - || - // - mConditions.isXTSCurrentOverMediest - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHIncreased && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - mConditions.isXCHLHMCLCLLSame - // - || - // - mConditions.isXTSCurrentOverMediest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXFIOverZero && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak) && - ( - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXLHHHIncreased && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMin && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXTDBearishVale && - mConditions.isXLHHHDecreased && - mConditions.isXLHLLDecreased && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMAMCFastCrossedOverSlow && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCFastCrossedOverSlow && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XSI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XTSFI Long Signal Checking ... -bool XUSPY5XTSFIHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXTSFIEnableSignaller || - !xUSPY5MXTSFIAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XTSFIHasLongConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // XTSFI Long ... - // Resolve Stop Outs ... - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCTrendsUp) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXTMStartBullish) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Neutural States ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMASCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXFICrossedUnderZero) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDBearishVale && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMin && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) && - ( - // - mConditions.isXAMABearish - // - || - // - mConditions.isXAMANeutural - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check Bearish State ... - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - mConditions.isXTMBearish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check Bearish State ... - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - mConditions.isXTMBearish - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBearish && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - // XTSFI Long ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXLHHHIncreased && - mConditions.isXCHMASCOverMax) && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXTMStartBullish && - mConditions.isXCHLHMCLCHHSame) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMBearish && - mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax) - // - || - // - ((!mConditions.isXCHMALCTrendsUp && - !mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDSignalCrossedUnderBear && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak && - mConditions.isXLHHHIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXFIUnderZero && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) - // - || - // - (mConditions.isXFIUnderZero && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMALCTrendsUp && - !mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXTSCurrentOverFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHLHSameHHs && - mConditions.isXTMEndBullish && - mConditions.isXCHMASCOverMax) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDSignalCrossedUnderBear) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBullish && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXAMANeutural && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMAEndBullish) - // - || - // - (mConditions.isXCHMASCPeak && - mConditions.isXLHLLIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMALCTrendsUp && - !mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXFIUnderZero && - mConditions.isXFICrossedUnderZero && - mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXCHMASCOverMax && - mConditions.isXRSICrossedOverLongExit && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak) - // - || - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMVale && - mConditions.isXAMAVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMANeutural && - mConditions.isXAMAEndBearish && - mConditions.isXCHMASCOverMax) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMABearish) && - ( - // - mConditions.isXTMEndBearish - // - || - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - || - // - (mConditions.isXFIUnderZero && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXAMAVale && - ( - // - (mConditions.isXCHLHSCMCLLSame && - ( - // - mConditions.isXCHMAMCVale - // - || - // - mConditions.isXCHLHMCLCHHSame - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHMASCUnderMax && - mConditions.isXCHMASCCrossedUnderMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXCHMALCVale && - ( - // - ((mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXAMABearish) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBullish && - mConditions.isXTDBearishVale) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - mConditions.isXTMBearish - // - || - // - mConditions.isXTMNeutural - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedUnderBear && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCHHSame) - // - || - // - (mConditions.isXFIUnderZero && - mConditions.isXFICrossedUnderZero && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXCHMAMCVale) && - ( - // - (mConditions.isXAMABearish && - mConditions.isXCHMALCPeak && - mConditions.isXTMEndBullish) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedUnderBear && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalCrossedUnderBear && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale) && - ( - // - ( - mConditions.isXCHMASCUnderMin && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - mConditions.isXTDBullOverBear - // - || - // - mConditions.isXTDSignalUnderBear - // - || - // - mConditions.isXTDSignalCrossedUnderBear - // - || - // - (mConditions.isXFIUnderZero && - mConditions.isXFICrossedUnderZero) - // - ) - // - ) - // - || - // - (mConditions.isXTMNeutural && - ( - // - mConditions.isXLHPriceCrossedUnderSignal - // - || - // - (mConditions.isXAMANeutural && - ( - // - mConditions.isXTDSignalUnderBear - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXTDBullUnderBear && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Otherwise ... - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXTMStartBullish && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCTrendsUp) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXLHHHIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - mConditions.isXRSICrossedUnderShortExit - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown) && - ( - // - (mConditions.isXLHHHIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXRSICrossedUnderShortExit) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMStartBullish && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXTMNeutural) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax) - // - || - // - (mConditions.isXFIUnderZero && - mConditions.isXCHMASCOverMax && - mConditions.isXFICrossedUnderZero) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXCHLHMCLCLLSame) && - ( - // - mConditions.isXTMEndBullish - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCOverMax && - ( - // - mConditions.isXCHLHSCMCHHSame - // - || - // - (mConditions.isXTDBearishVale && - ( - // - mConditions.isXTSCurrentCrossedOverNearest - // - || - // - mConditions.isXTSCurrentCrossedUnderMediest - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHLHMCLCHHSame && - ( - // - mConditions.isXCHLHMCLCLLSame - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale && - mConditions.isXLHLLIncreased) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (mConditions.isXCHLHSameHHs && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXLHLLDecreased && - mConditions.isXCHLHSCMCHHSame) - // - || - (mConditions.isXTDSignalUnderBear && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - mConditions.isXTSCurrentCrossedOverNearest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXLHLLDecreased && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXLHHHDecreased) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // All Neutural ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXRSICrossedOverLongExit - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) && - ( - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXFIUnderZero && - mConditions.isXCHMASCUnderMin && - mConditions.isXFICrossedUnderZero && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTMEndBullish && - mConditions.isXLHHHDecreased && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - || - // - ((mConditions.isXFIUnderZero && - mConditions.isXFICrossedUnderZero) && - ( - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTSCurrentCrossedOverNearest && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) - // - || - // - mConditions.isXTDSignalCrossedOverBear - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXLHHHDecreased && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXCHLHSCMCHHSame - // - || - // - mConditions.isXTDSignalCrossedUnderBear - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalCrossedUnderBear && - ( - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - mConditions.isXCHLHMCLCLLSame - // - || - // - mConditions.isXRSICrossedOverLongExit - // - || - // - (!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHLHSCMCHHSame) && - ( - // - mConditions.isXCHLHMCLCLLSame - // - || - // - mConditions.isXCHMALCTrendsDown - // - ) - // - ) - // - || - // - ((mConditions.isXCHLHSameHHs && - mConditions.isXTDBearishVale) && - ( - // - mConditions.isXLHHHIncreased - // - || - // - mConditions.isXTSCurrentCrossedOverNearest - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXCHMAMCTrendsUp && - mConditions.isXCHMALCTrendsDown) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) && - ( - // - mConditions.isXRSICrossedOverLongExit - // - || - // - (mConditions.isXCHLHSameHHs && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXTDBullOverBear && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverNearest) - // - || - // - (mConditions.isXAMAStartBullish && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - mConditions.isXCHLHSCMCHHSame - // - || - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentUnderMediest && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // All Bearish ... - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCLLSame) && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - mConditions.isXTSCurrentCrossedOverNearest - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMALCTrendsUp && - !mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCLLSame) && - ( - // - mConditions.isXTMNeutural - // - || - // - mConditions.isXAMANeutural - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXFIUnderZero && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale) && - ( - // - mConditions.isXAMANeutural - // - || - // - (mConditions.isXTMNeutural && - ( - // - (mConditions.isXAMABearish && - mConditions.isXTDSignalUnderBear) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXLHLLIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - mConditions.isXTDBullCrossedUnderBear - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish) - // - || - // - (mConditions.isXTDBearishVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentCrossedUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTMEndBullish && - mConditions.isXAMAEndBullish && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentOverFarest) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCHHSame) - // - || - // - (!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXTMEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXTDBearishVale - // - || - // - mConditions.isXCHLHMCLCHHSame - // - ) - // - ) - // - || - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear && - mConditions.isXTSCurrentOverFarest) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMStartBullish && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXFIUnderZero && - mConditions.isXCHMASCOverMax && - mConditions.isXFICrossedUnderZero) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // All Neutural ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXFIUnderZero && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXFICrossedUnderZero) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXTMBearish && - mConditions.isXCHMAMCPeak && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXCHMASCOverMax && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XTSFI Short Signal Checking ... -bool XUSPY5XTSFIHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXTSFIEnableSignaller || - !xUSPY5MXTSFIAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XTSFIHasShortConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // XTSFI Short ... - // Resolve Stop Outs ... - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCFastCrossedOverSlow && - ( - // - (mConditions.isXAMANeutural && - ( - // - (mConditions.isXTMVale && - mConditions.isXCHMASCVale && - mConditions.isXTMNeutural) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXCHMAMCVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXFIOverZero && - mConditions.isXTDBearishVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXTSCurrentCrossedUnderFarest && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXLHHHDecreased) - // - || - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMAMCVale) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXLHHHIncreased && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // All Neutural ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCFastCrossedUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Current Over Mediest ... - (mConditions.isXTSCurrentOverMediest && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXTMStartBearish && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullCrossedUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLDecreased && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTMBullish && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXAMABullish && - ( - // - mConditions.isXTDBullOverBear - // - || - // - mConditions.isXTDBullCrossedOverBear - // - ) - // - ) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXTDBullCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXCHMAMCVale && - mConditions.isXFICrossedOverZero) && - ( - // - mConditions.isXCHMASCUnderMin - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXCHMALCTrendsDown) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - mConditions.isXAMAVale && - mConditions.isXCHMALCPeak) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXCHMAMCVale) && - ( - // - (mConditions.isXAMAStartBearish && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXAMAVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCTrendsDown) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentCrossedOverMediest) - // - || - // - (mConditions.isXCHLHSCMCLLSame && - mConditions.isXTSCurrentCrossedUnderFarest) - // - || - // - (mConditions.isXCHMASCOverMin && - mConditions.isXCHMASCUnderMax && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXLHLLIncreased && - mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish && - mConditions.isXCHMALCTrendsDown) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXFIUnderZero && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear && - mConditions.isXFICrossedUnderZero && - mConditions.isXTSCurrentUnderFarest) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameLLs) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) - // - || - // - mConditions.isXTSCurrentCrossedOverMediest - // - ) - // - ) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHLHMCLCLLSame && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXLHPriceCrossedOverSignal && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMBearish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXAMABearish && - mConditions.isXTMStartBearish && - mConditions.isXCHMALCTrendsDown) - // - || - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMASCTrendsUp && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear && - mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - ((mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - || - // - ((mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXCHMASCUnderMin && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXAMAVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameLLs) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHMALCPeak) - // - || - // - (mConditions.isXCHMASCUnderMin && - ( - // - mConditions.isXAMAVale - // - || - // - (mConditions.isXCHLHSameLLs && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - ((mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHLHMCLCHHSame) && - ( - // - mConditions.isXLHLowAttachedLL - // - || - // - mConditions.isXTSCurrentCrossedUnderNearest - // - || - // - (!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMAMCVale && - mConditions.isXCHLHSameLLs) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXLHLowAttachedLL) - // - || - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - // XTSFI Short ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXAMANeutural && - ( - // - mConditions.isXTMBullish - // - || - // - mConditions.isXTMStartBullish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDBullOverBear) - // - || - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXTDBullCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXAMANeutural && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXCHMASCUnderMin && - mConditions.isXFICrossedUnderZero) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXTDBearishVale && - mConditions.isXCHMASCUnderMin) && - ( - // - mConditions.isXTMBullish - // - || - // - mConditions.isXTMStartBullish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXCHMALCFastOverSlow && - ( - // - (mConditions.isXAMAVale && - ( - // - mConditions.isXTMNeutural - // - || - // - mConditions.isXTMEndBullish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMAStartBearish) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXLHLLIncreased) - // - || - // - (mConditions.isXLHHHDecreased && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHLHMCLCLLSame && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTMStartBearish && - ( - // - mConditions.isXCHLHMCLCHHSame - // - || - // - (!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHMASCVale && - mConditions.isXTMNeutural && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - (mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXLHHHDecreased) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - mConditions.isXCHLHSCMCLLSame - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXAMAEndBearish && - mConditions.isXFICrossedUnderZero) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - mConditions.isXTSCurrentUnderNearest) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXFIUnderZero && - mConditions.isXTSCurrentUnderFarest) - // - || - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXFIUnderZero && - mConditions.isXTSCurrentUnderFarest) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - mConditions.isXCHLHSameLLs - // - || - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXFICrossedUnderZero && - mConditions.isXTDBullCrossedUnderBear) && - ( - // - mConditions.isXCHMAMCVale - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // XTD Bearish ... - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - mConditions.isXTMNeutural - // - || - // - (mConditions.isXCHLHSCMCLLSame && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXTMStartBearish && - ( - // - mConditions.isXAMANeutural - // - || - // - mConditions.isXAMAStartBearish - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXFIOverZero && - mConditions.isXCHMALCPeak && - mConditions.isXCHMALCFastOverSlow) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXLHPriceCrossedOverSignal && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXFIOverZero && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMABullish && - mConditions.isXTMNeutural) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCVale && - mConditions.isXAMABullish && - mConditions.isXTMNeutural) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXFIOverZero) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) - // - || - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - || - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - mConditions.isXCHMALCVale - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown) && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMASCOverMax) && - ( - // - ((mConditions.isXAMAVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXAMANeutural && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) && - ( - // - mConditions.isXTMStartBearish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTMNeutural && - ( - // - (mConditions.isXAMANeutural && - ( - // - mConditions.isXCHMAMCVale - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) && - ( - // - mConditions.isXTMStartBearish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXAMABearish && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXLHHHIncreased && - mConditions.isXTMStartBearish) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMEndBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXFIOverZero && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXAMANeutural && - ( - // - mConditions.isXTMBullish - // - || - // - mConditions.isXTMStartBullish - // - ) - // - ) - // - || - // - (mConditions.isXAMAVale && - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - (mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - mConditions.isXTMVale - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXCHMASCUnderMin && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - || - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXFIOverZero && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullCrossedUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXFIOverZero && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - ((mConditions.isXCHMAMCPeak && - mConditions.isXCHMALCPeak) && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXLHPriceCrossedOverSignal && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXCHMALCVale && - ( - // - mConditions.isXAMANeutural - // - || - // - mConditions.isXAMAEndBearish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTMVale && - mConditions.isXTMEndBearish && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // All Other Wises ... - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalCrossedOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - (mConditions.isXFIOverZero && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTDBearishVale && - mConditions.isXCHMASCUnderMin) && - ( - // - mConditions.isXTDSignalOverBear - // - || - // - mConditions.isXTDSignalCrossedOverBear - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCUnderMin && - ( - // - (mConditions.isXAMAVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCCrossedUnderMin) - // - || - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXCHLHSCMCLLSame && - ( - // - (mConditions.isXAMAVale && - ( - // - mConditions.isXTMVale - // - || - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXLHPriceCrossedUnderSignal && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMAMCVale && - ( - // - (mConditions.isXTMVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMVale && - mConditions.isXAMAVale && - mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXAMAVale && - mConditions.isXCHMALCVale) - // - || - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHLLIncreased && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Other Wises ... - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - mConditions.isXRSICrossedOverLongEntry - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMASCTrendsUp && - ( - // - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMABullish && - mConditions.isXLHLLIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMAMCTrendsUp && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMAMCPeak && - ( - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - || - // - ((mConditions.isXLHHHIncreased && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXLHPriceCrossedOverSignal && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHLHSCMCLLSame && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - mConditions.isXCHLHSameLLs - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDBullCrossedUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXCHLHSCMCLLSame) && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXCHLHSCMCLLSame && - ( - // - mConditions.isXAMAVale - // - || - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - || - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - || - // - (mConditions.isXLHLLIncreased && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XTSFI Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XOBDLH Long Signal Checking ... -bool XUSPY5XOBDLHHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXOBDLHEnableSignaller || - !xUSPY5MXOBDLHAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XOBDLHHasLongConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Long ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Long ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Long ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XOBDLH Short Signal Checking ... -bool XUSPY5XOBDLHHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXOBDLHEnableSignaller || - !xUSPY5MXOBDLHAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XOBDLHHasShortConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Short ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Short ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XOBDLH Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XOBDLH Short ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XCHMACC Long Signal Checking ... -bool XUSPY5XCHMACCHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXCHMACCEnableSignaller || - !xUSPY5MXCHMACCAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XCHMACCHasLongConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXLHLLDecreased) - // - || - // - ((mConditions.isXCHMASCVale && - mConditions.isXTMBearish) && - ( - // - mConditions.isXAMABearish - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHLHMCLCHHSame) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - mConditions.isXTDSignalCrossedOverBear - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXAMAEndBullish && - !mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderFarest && - mConditions.isXTSCurrentCrossedUnderFarest) - // - || - // - (mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXLHLLIncreased && - mConditions.isXTMStartBullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) && - ( - // - mConditions.isXTSCurrentUnderFarest - // - || - // - (mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame && - !mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXTMStartBullish && - mConditions.isXTDBullCrossedOverBear && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDBearishVale && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHMASCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMin && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXCHMASCUnderMax) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish && - mConditions.isXCHMASCVale) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame) && - ( - // - mConditions.isXAMAStartBullish - // - || - // - (mConditions.isXLHLLDecreased && - mConditions.isXTDBullCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // All Neutural ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentUnderFarest) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased && - mConditions.isXTMStartBullish) - // - || - // - ((mConditions.isXAMANeutural && - mConditions.isXLHLLDecreased && - mConditions.isXCHMASCOverMin && - mConditions.isXTMStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentUnderFarest) - // - || - // - (mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverFarest) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTSCurrentCrossedOverFarest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame) && - ( - // - mConditions.isXTMStartBullish - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXTSCurrentCrossedOverFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMALCPeak && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame) - // - || - // - (mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentUnderFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXTMNeutural && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHMCLCLLSame) && - ( - // - mConditions.isXTSCurrentMax - // - || - // - mConditions.isXTSCurrentUnderFarest - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - mConditions.isXRSICrossedOverLongExit - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTDBullOverBear && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXAMAStartBullish && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXLHLLDecreased && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXLHHHDecreased && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXAMANeutural && - ( - // - mConditions.isXTMNeutural - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased && - mConditions.isXTMStartBullish) - // - ) - // - ) - // - || - // - (mConditions.isXFIUnderZero && - mConditions.isXFICrossedUnderZero) - // - || - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMax && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTDBearishVale && - mConditions.isXLHLLDecreased) - // - ) - // - ) - // - || - // - (mConditions.isXTDBearishVale && - ( - // - (mConditions.isXTSAllSame && - mConditions.isXCHMALCPeak && - mConditions.isXLHLLDecreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXLHHHDecreased && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXLHHHDecreased && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) - // - || - // - (mConditions.isXTSCurrentMin && - mConditions.isXTDBearishVale && - mConditions.isXLHPriceCrossedUnderSignal) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish && - mConditions.isXCHMAMCVale && - mConditions.isXCHMALCPeak && - mConditions.isXLHHHDecreased && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - mConditions.isXRSICrossedOverLongExit - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax) && - ( - // - (mConditions.isXLHLLIncreased && - mConditions.isXCHMASCOverMax) - // - || - // - (mConditions.isXCHLHSameHHs && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXLHHighAttachedHH && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) && - ( - // - (mConditions.isXTSCurrentMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderFarest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHDecreased && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXLHPriceCrossedOverSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentUnderMediest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHLHSameHHs && - mConditions.isXLHHHIncreased) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTDSignalOverBear && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXLHHighAttachedHH && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTDSignalCrossedOverBear) && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXLHHighAttachedHH) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBullUnderBear && - ( - // - mConditions.isXRSICrossedOverLongExit - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXLHLLIncreased && - mConditions.isXTSCurrentCrossedOverNearest) - // - || - // - (mConditions.isXCHLHSCMCHHSame && - ( - // - mConditions.isXTDBullCrossedOverBear - // - || - // - (mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCCrossedOverMax) - // - || - // - (mConditions.isXTDBullOverBear && - mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentOverNearest && - mConditions.isXTSCurrentOverMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHPriceCrossedOverSignal && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXTSCurrentCrossedUnderNearest && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - mConditions.isXRSICrossedOverLongExit - // - || - // - (mConditions.isXCHMALCPeak && - ( - // - mConditions.isXCHLHSameHHs - // - || - // - mConditions.isXLHLLIncreased - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXTDSignalCrossedOverBear && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTMStartBullish && - mConditions.isXAMAStartBullish && - mConditions.isXLHHighAttachedHH && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXCHMALCPeak && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXAMAStartBullish) && - ( - // - (mConditions.isXTSCurrentUnderFarest && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXTSCurrentMax && - ( - // - mConditions.isXTDSignalUnderBear - // - || - // - (mConditions.isXTDBullOverBear && - mConditions.isXTDSignalCrossedOverBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXAMANeutural && - mConditions.isXCHMASCOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXTDBullOverBear) && - ( - // - (mConditions.isXAMABullish && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXTDSignalCrossedOverBear) - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXAMANeutural && - mConditions.isXTSCurrentCrossedOverFarest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentUnderMediest && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTMStartBullish && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHMASCCrossedOverMax) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMAMCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame && - mConditions.isXAMAStartBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMASCOverMax && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXTSAllSame && - mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax) && - ( - // - (mConditions.isXTDBearishVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXLHHighAttachedHH) - // - || - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // All Bullish ... - ((mConditions.isXTMBullish && - mConditions.isXAMABullish) && - ( - // - mConditions.isXRSICrossedOverLongExit - // - || - // - (mConditions.isXTDSignalUnderBear && - ( - // - (mConditions.isXTSCurrentUnderNearest && - ( - // - mConditions.isXTSCurrentUnderMediest - // - || - // - mConditions.isXTSCurrentCrossedUnderNearest - // - ) - // - ) - // - || - // - (mConditions.isXTDBullUnderBear && - ( - // - (mConditions.isXCHLHSameHHs && - mConditions.isXTSCurrentMax && - mConditions.isXTMStartBullish && - mConditions.isXLHHighAttachedHH) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHMASCOverMax && - mConditions.isXCHLHSCMCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow ... - ((mConditions.isXCHMASCFastUnderSlow || - mConditions.isXCHMASCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow ... - ((mConditions.isXCHMAMCFastUnderSlow || - mConditions.isXCHMAMCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow ... - ((mConditions.isXCHMALCFastUnderSlow || - mConditions.isXCHMALCFastCrossedUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Long ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastOverSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XCHMACC Short Signal Checking ... -bool XUSPY5XCHMACCHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXCHMACCEnableSignaller || - !xUSPY5MXCHMACCAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XCHMACCHasShortConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHIncreased && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Otherwises ... - (mConditions.isXTDBullOverBear && - ( - // - ((!mConditions.isXCHMALCTrendsUp && - !mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTSCurrentCrossedOverNearest && - ( - // - (mConditions.isXLHHHDecreased && - mConditions.isXCHMASCUnderMin) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXTMStartBearish) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXLHHHIncreased && - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - mConditions.isXTSCurrentMin - // - || - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentCrossedOverFarest) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXTMBullish && - mConditions.isXAMABullish && - mConditions.isXCHMALCPeak && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCHHSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMStartBearish && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - (mConditions.isXRSICrossedUnderShortExit && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTSCurrentOverFarest && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - (mConditions.isXTSCurrentMin && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMABullish && - mConditions.isXTMStartBearish && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin) && - ( - // - mConditions.isXTSCurrentMax - // - || - // - mConditions.isXCHMASCCrossedUnderMin - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - mConditions.isXTSCurrentCrossedOverNearest - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((!mConditions.isXCHMALCTrendsUp && - !mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLLSameInLength && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXCHMASCPeak && - mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXCHMASCPeak && - mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXFIOverZero && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Under Signal ... - // Other wises ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price In Signal Range ... - // All Neutural ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMANeutural && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - || - // - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXLHLowAttachedLL && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXTDSignalCrossedUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXRSICrossedUnderShortExit && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - || - // - (mConditions.isXRSICrossedUnderShortExit && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXTDBullOverBear && - mConditions.isXTDSignalOverBear) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish && - mConditions.isXLHLowAttachedLL && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - mConditions.isXCHLHSameLLs - // - || - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Stop Outs ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - || - // - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXTDBullCrossedUnderBear) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMax && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXTSCurrentCrossedOverFarest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHDecreased && - mConditions.isXCHLHMCLCLLSame) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price In Signal Range ... - // All Neutural ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - || - // - (mConditions.isXAMANeutural && - mConditions.isXTMStartBearish && - mConditions.isXTDSignalCrossedUnderBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin && - (mConditions.isXTSAllSame || - mConditions.isXTSCurrentMin)) && - ( - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTMVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXTDBullCrossedUnderBear && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXLHHHDecreased && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverFarest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Under Signal ... - // All TM/AMA Bullish ... - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTMNeutural && - mConditions.isXAMABullish && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMBearish && - ( - // - mConditions.isXAMANeutural - // - || - // - (mConditions.isXAMABearish && - mConditions.isXTSCurrentCrossedOverNearest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXCHLHMCLCLLSame && - ( - // - (mConditions.isXAMAStartBearish && - ( - // - mConditions.isXTMStartBearish - // - || - // - mConditions.isXTSCurrentUnderMediest - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ( - mConditions.isXTSCurrentMax && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXTSCurrentMax && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXTMStartBearish) && - (mConditions.isXAMANeutural && - mConditions.isXAMAEndBullish)) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXTMStartBearish && - mConditions.isXAMANeutural && - mConditions.isXAMAEndBullish) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXTSCurrentCrossedUnderNearest) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMABullish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHMCLCLLSame) && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // Both HH and LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXFIOverZero && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXCHMAMCVale && - mConditions.isXCHLHMCLCLLSame) - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverFarest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((!mConditions.isXCHMALCTrendsUp && - !mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHLHMCLCLLSame && - mConditions.isXCHMASCCrossedUnderMin && - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - (mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale && - mConditions.isXTSCurrentMin && - mConditions.isXLHLLIncreased && - mConditions.isXLHPriceCrossedUnderSignal && - mConditions.isXTSCurrentCrossedUnderNearest) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXFIOverZero && - ( - // - (mConditions.isXTSCurrentOverFarest && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBearish) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - ((mConditions.isXCHMAMCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHDecreased && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderFarest && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // LL Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTSAllSame && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentMin && - ( - // - (mConditions.isXTMBearish && - mConditions.isXAMABearish) - // - || - // - (mConditions.isXTMNeutural && - mConditions.isXAMANeutural) - // - || - // - (mConditions.isXTMEndBearish && - mConditions.isXAMAEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL && - mConditions.isXTSCurrentCrossedUnderFarest && - mConditions.isXTSCurrentCrossedUnderNearest && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHIncreased && - mConditions.isXTSCurrentCrossedUnderFarest) && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - || - // - ((!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - ( - // - (mConditions.isXCHLHSCMCHHSame && - mConditions.isXTSCurrentOverFarest) - // - || - // - (mConditions.isXTSAllSame && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMASCUnderMin && - (mConditions.isXCHLHSameLLs || - mConditions.isXCHLHSCMCLLSame)) && - ( - // - (mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price In Signal Range ... - // All Neutural ... - ((mConditions.isXTMNeutural && - mConditions.isXAMANeutural) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXCHMASCUnderMin && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXLHHHIncreased) - // - || - // - (mConditions.isXTSCurrentCrossedOverNearest && - ( - // - ((mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCLLSame) && - ( - // - (mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXCHLHSCMCLLSame && - ( - // - (mConditions.isXTSCurrentUnderFarest && - mConditions.isXTSCurrentUnderNearest && - mConditions.isXTSCurrentUnderMediest) - // - || - // - (mConditions.isXAMAVale && - mConditions.isXCHMALCVale && - mConditions.isXTSCurrentCrossedUnderMediest) - // - ) - // - ) - // - || - // - (mConditions.isXLHLowAttachedLL && - ( - // - mConditions.isXCHLHSameLLs - // - || - // - mConditions.isXCHLHSCMCLLSame - // - || - // - (mConditions.isXCHMALCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXLHHHIncreased) && - ( - // - ((mConditions.isXTMStartBearish && - mConditions.isXAMAStartBearish) && - ( - // - mConditions.isXTDBullCrossedUnderBear - // - || - // - mConditions.isXLHPriceCrossedUnderSignal - // - || - // - (!mConditions.isXCHMASCTrendsUp && - !mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTSCurrentCrossedOverMediest && - ( - // - (mConditions.isXTMNeutural && - mConditions.isXTMEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin) && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXAMABearish && - mConditions.isXTMNeutural && - mConditions.isXTMEndBearish) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHLHSCMCLLSame) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Under Signal ... - // Otherwises ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXLHLowAttachedLL && - mConditions.isXAMAStartBearish && - mConditions.isXTDSignalCrossedUnderBear && - mConditions.isXLHPriceCrossedUnderSignal) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDSignalOverBear && - ( - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTSCurrentCrossedOverNearest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - ((!mConditions.isXCHMAMCTrendsUp && - !mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) - // - || - // - (mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL) - // - ) - // - ) - // - || - // - ((mConditions.isXTDSignalVale && - mConditions.isXTDBullishVale) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTSCurrentOverNearest && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - ((mConditions.isXFIOverZero && - mConditions.isXFICrossedOverZero) && - ( - // - (mConditions.isXTSCurrentCrossedOverNearest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - (mConditions.isXTSCurrentOverMediest && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXCHMASCUnderMin && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - || - // - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXCHMASCCrossedUnderMin) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - ((!mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - ( - // - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - ( - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price In Signal Range ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - (mConditions.isXTDBullOverBear && - ( - // - (mConditions.isXCHMALCVale && - mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHPriceCrossedUnderSignal) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Under Signal ... - // All Bearish ... - ((mConditions.isXTMBearish && - mConditions.isXAMABearish) && - ( - // - mConditions.isXRSICrossedUnderShortExit - // - || - // - (mConditions.isXTDBullCrossedUnderBear && - ( - // - (mConditions.isXTSCurrentMin && - mConditions.isXCHLHSCMCLLSame && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL) - // - ) - // - ) - // - || - // - ((mConditions.isXTDBullUnderBear && - mConditions.isXTDSignalUnderBear) && - ( - // - (mConditions.isXCHLHSameLLs && - mConditions.isXTSCurrentMin && - mConditions.isXCHMASCUnderMin && - mConditions.isXLHLowAttachedLL && - mConditions.isXTSCurrentCrossedUnderNearest) - // - || - // - ((mConditions.isXCHMALCVale && - mConditions.isXCHLHSCMCHHSame && - mConditions.isXCHMASCUnderMin) && - ( - // - (mConditions.isXTSCurrentOverMediest && - mConditions.isXTSCurrentCrossedOverMediest) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Over Signal ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Over Slow ... - ((mConditions.isXCHMASCFastOverSlow || - mConditions.isXCHMASCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Over Slow ... - ((mConditions.isXCHMAMCFastOverSlow || - mConditions.isXCHMAMCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Over Slow ... - ((mConditions.isXCHMALCFastOverSlow || - mConditions.isXCHMALCFastCrossedOverSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if SC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMASCTrendsDown && - mConditions.isXCHMASCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if MC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMAMCTrendsDown && - mConditions.isXCHMAMCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - || - // - // XCHMACC Short ... - // Resolve Guard Attacks ... - // not LL and HH Same In Length ... - // Price Free ... - // Check if LC Fast Under Slow But Trends Down ... - ((mConditions.isXCHMALCTrendsDown && - mConditions.isXCHMALCFastUnderSlow) && - ( - // - false - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XCHMAMN Long Signal Checking ... -bool XUSPY5XCHMAMNHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXCHMAMNEnableSignaller || - !xUSPY5MXCHMAMNAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XCHMAMNHasLongConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Long ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Long ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Long ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XCHMAMN Short Signal Checking ... -bool XUSPY5XCHMAMNHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXCHMAMNEnableSignaller || - !xUSPY5MXCHMAMNAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XCHMAMNHasShortConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Short ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Short ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMN Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMN Short ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XCHMAMX Long Signal Checking ... -bool XUSPY5XCHMAMXHasLongSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXCHMAMXEnableSignaller || - !xUSPY5MXCHMAMXAllowLongSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XCHMAMXHasLongConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Long ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Long ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Long ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Long ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Long ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// XCHMAMX Short Signal Checking ... -bool XUSPY5XCHMAMXHasShortSignal() -{ - // - bool result = false; - - // - // Validate Args ... - if (!xUSPY5MXCHMAMXEnableSignaller || - !xUSPY5MXCHMAMXAllowShortSignals) - { - return result; - } - - // - // Retrieve Market Condition ... - XMarketConditions mConditions = xUSPY5Provider.GetLastMarketCondition(); - - // - // Start Analysing Market based On Conditions ... - result = - // - // Base Condition: - xUSPY5Provider.XCHMAMXHasShortConditions() - // - && - // - // Exceptions: - // there some commonly Exceptions which makes our choice incorrect, - // here we are combined knownly Exceptions ... - !( - // - // for Exception we used XLH Conditions as follow ... - // - // Check Conditions if Price In Signal Range ... - (mConditions.isXLHPriceInSignalRange && - // - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Short ... - // PriceInSignalRange ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceInSignalRange ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceInSignalRange ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceInSignalRange ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Under Signal ... - ( - // - ((mConditions.isXLHPriceUnderSignal || - mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Short ... - // PriceUnderSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceUnderSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceUnderSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceUnderSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is Over Signal ... - ( - // - ((mConditions.isXLHPriceOverSignal || - mConditions.isXLHPriceCrossedOverSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Short ... - // PriceOverSignal ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceOverSignal ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceOverSignal ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceOverSignal ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - || - // - // Check Conditions if Price is not has clear state ... - ( - // - ((!mConditions.isXLHPriceOverSignal && - !mConditions.isXLHPriceUnderSignal && - !mConditions.isXLHPriceInSignalRange && - !mConditions.isXLHPriceCrossedOverSignal && - !mConditions.isXLHPriceCrossedUnderSignal) && - ( - // - // Next Step is to Check LL and HH Same Style ... - // - // XCHMAMX Short ... - // PriceFree ... - // Check if Both LL and HH Same In Length ... - ((mConditions.isXLHLLSameInLength && - mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceFree ... - // Check If LL Same In Length ... - ((mConditions.isXLHLLSameInLength && - !mConditions.isXLHHHSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceFree ... - // Check If HH is Same In Length ... - ((mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - || - // - // XCHMAMX Short ... - // PriceFree ... - // Not Same LL or HH in Lenght ... - ((!mConditions.isXLHHHSameInLength && - !mConditions.isXLHLLSameInLength) && - // - ( - false) - // - ) - // - ) - // - ) - // - ) - // - ) - // - ; - - // - return result; -} - -// -// END Signal Providers ... -// diff --git a/BKP/Main/Providers/x-saherelm.xuspy5.provider.inputs.lib.mq5 b/BKP/Main/Providers/x-saherelm.xuspy5.provider.inputs.lib.mq5 deleted file mode 100644 index 3093b8d3..00000000 --- a/BKP/Main/Providers/x-saherelm.xuspy5.provider.inputs.lib.mq5 +++ /dev/null @@ -1,283 +0,0 @@ -/////////////////////////////////////////////////////////////// -// -// SaherElm IT Center MQL5 XUSPY5 Signal Provider Library Inputs -// ----------------------------------------------------------- -// -// Maintainer: -// ------------ -// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com) -// -////////////////////////////////////////////////////// -// -// Global Properties ... -#property library -#property copyright "Copyright 2023, SaherElm IT Center" -#property link "https://www.saherelm.ir" -#property version "1.00" -#property strict - -// -// Include Logger ... -#include "../Libraries/x-saherelm.log.lib.mq5" - -// -// Include Classes ... -#include "../Classes/x-saherelm.class.lib.mq5" - -// -input group "XUSPY5 Provider"; - -// -// Commonly Used Configurations ... -input group "XUSPY5 Common"; -// -// Provider ... -input bool xUSPY5EnableProvider = true; // Enable Provider -input int xUSPY5NumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick -// -// Alerts ... -input bool xUSPY5EnableAlerts = true; // Enable Events Alert -input bool xUSPY5EnableHourlyAlerts = false; // Send Alert on each new Hour -input bool xUSPY5EnableDailyAlerts = false; // Send Alert on each new Day -input bool xUSPY5EnableWeeklyAlerts = false; // Send Alert on each new Week -input bool xUSPY5EnableMonthlyAlerts = false; // Send Alert on each new Month -// -// Reports ... -input bool xUSPY5EnableDailyReports = false; // Send Report on each new Day -input bool xUSPY5EnableWeeklyReports = false; // Send Report on each new Week -input bool xUSPY5EnableMonthlyReports = false; // Send Report on each new Month - -// -// Trader and Expert Specific Configurations ... -input group "XUSPY5 Trader"; -input int xUSPY5MagicNumber = 16940563; // Trader MagicNumber -input int xUSPY5Slippage = 10; // Trader Slippage - -// -// Trades Management Configurations ... -input group "XUSPY5 Trade Management"; -input bool xUSPY5AllowLongTrades = true; // Allow Long Trades -input bool xUSPY5AllowShortTrades = true; // Allow Short Trades - -// -// Risk Management Configurations ... -input group "XUSPY5 Risk Management"; -// -// Trade Count ... -input int xUSPY5MaxAllowedTrades = 10; // Max Allowed Trades at Same Time -input ENUM_X_CROSS_SIGNAL_METHOD xUSPY5CrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method -// -// Max Allowed Trade Age ... -input int xUSPY5MaxAllowedTradeAge = 1500; // Detect Long Time Trades -input ENUM_X_GUARD_ACTIONS xUSPY5OldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades -// -// Trade Volume Specific Configurations ... -input double xUSPY5StaticVolumeFactor = 0.0001; // Static Volume baesd on Balance -input ENUM_STATIC_VOLUME_METHODS xUSPY5StaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume -input double xUSPY5VolumeMultiplier = 0; // Volume Increase Multiplier -input double xUSPY5ApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance -input double xUSPY5MaxSupportedVolumePerTradeFactor = 0; // Max Supported Volume Per Trade Factor based on Balance -input double xUSPY5IncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance -// -// Trade Profits ... -input double xUSPY5MinRewardInPips = 3; // Minimum Reward Per Trade in Pips -input double xUSPY5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips -input double xUSPY5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades -// -// Guard Riskable Money and Profits ... -input double xUSPY5CriticalDrawDownFactor = 0.30; // Critical Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xUSPY5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown -input double xUSPY5MaxAllowedDrawDownFactor = 0.40; // Max Allowed Drawdown Factor based on Balance -input ENUM_X_GUARD_ACTIONS xUSPY5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown -input int xUSPY5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched - -// -// Account Conditions for Trading ... -input double xUSPY5BalanceFactorForOpenTrades = 0.5; // Minimum Balance for Open Trades -input double xUSPY5FreeMarginFactorForOpenTrades = 0.8; // Minimum Free Margin for Open Trades - -// -// May be Used Later as Input Params ... -bool xUSPY5UseVirtualTPSl = false; // Use Virtual TP SL -bool xUSPY5EnableSignalAlerts = false; // Send Signal Alert - -// -// Validate Inputs before Initialization ... -bool XUSPY5ValidateInputs() -{ - // - bool result = false; - - // - // Implement Other Verifications ... - - // - // Check Trading Availability ... - bool isTradeAvailable = xUSPY5AllowLongTrades || xUSPY5AllowShortTrades; - if (!isTradeAvailable) - { - LogMessage("XUSPY5 => Warning: Trading disabled ..."); - } - - // - // Chekc Number of reading items per tick ... - result = xUSPY5NumberOfItemsPerTick >= 5; - if (!result) - { - // - LogMessage("XUSPY5 invalid Number of items Reading Per Tick ..."); - - // - return result; - } - - // - // Check Max Allowed Trades Count ... - result = isTradeAvailable && xUSPY5MaxAllowedTrades >= 1; - if (!result) - { - // - LogMessage("XUSPY5 Number of Trades not valid ..."); - - // - return result; - } - - // - // Check Free Margin ... - result = - isTradeAvailable && - xUSPY5FreeMarginFactorForOpenTrades > 0 && - xUSPY5FreeMarginFactorForOpenTrades < 1; - if (!result) - { - // - LogMessage("XUSPY5 Invalid Free Margin ..."); - - // - return result; - } - - // - // Check min Balance for Open Trades ... - result = - isTradeAvailable && - xUSPY5BalanceFactorForOpenTrades > 0 && - xUSPY5BalanceFactorForOpenTrades < 1; - if (!result) - { - // - LogMessage("XUSPY5 Invalid Min Balance for Open Trades ..."); - - // - return result; - } - - // - // Check Min Reward Per Trade ... - result = xUSPY5MinRewardInPips > 0; - if (!result) - { - // - LogMessage("XUSPY5 Invalid Min Reward Per Trade ..."); - - // - return result; - } - - // - // Check Trades Volume ... - result = xUSPY5StaticVolumeFactor > 0; - if (!result) - { - // - LogMessage("XUSPY5 Invalid Static Volume ..."); - - // - return result; - } - - // - // Check Volume Multiplier ... - result = xUSPY5VolumeMultiplier >= 0; - if (!result) - { - // - LogMessage("XUSPY5 Invalid Volume Multiplier ..."); - - // - return result; - } - - // - result = - xUSPY5CriticalDrawDownFactor == 0 || (xUSPY5CriticalDrawDownFactor > 0 && - xUSPY5CriticalDrawDownFactor < 1); - if (!result) - { - // - LogMessage("XUSPY5 Invalid Critical DrawDown Factor ..."); - - // - return result; - } - - // - result = - xUSPY5MaxAllowedDrawDownFactor == 0 || (xUSPY5MaxAllowedDrawDownFactor > 0 && - xUSPY5MaxAllowedDrawDownFactor < 1); - if (!result) - { - // - LogMessage("XUSPY5 Invalid Max Allowed DrawDown Factor ..."); - - // - return result; - } - - // - // Check Guard Actions ... - // - result = - xUSPY5CriticalDrawDownFactor > 0 && - xUSPY5CriticalDrawDownFactor < 1 && - xUSPY5MaxAllowedDrawDownFactor > 0 && - xUSPY5MaxAllowedDrawDownFactor < 1; - if (!result) - { - // - LogMessage("XUSPY5 For Critical Drawdown, you have to Specify Max Drawdown also ..."); - - // - return result; - } - - // - result = xUSPY5CriticalDrawDownFactor > 0 && xUSPY5CriticalDrawDownFactor < xUSPY5MaxAllowedDrawDownFactor; - if (!result) - { - // - LogMessage("XUSPY5 Critical Drawdown must Smaller than Max Drawdown ..."); - - // - return result; - } - - // - if (xUSPY5CriticalDrawDownFactor > 0 && xUSPY5CriticalGuardAction == X_GUARD_DO_NOTHING) - { - LogMessage("XUSPY5 IMPORTANT you Specified Critical Drawdown, but there is no any Guard Action ..."); - } - - // - if (xUSPY5MaxAllowedDrawDownFactor > 0 && xUSPY5MaxAllowedGuardAction == X_GUARD_DO_NOTHING) - { - LogMessage("XUSPY5 IMPORTANT you Specified Max Allowed Drawdown, but there is no any Guard Action ..."); - } - - // - result = true; - - // - return result; -} \ No newline at end of file diff --git a/BKP/Main/Classes/x-saherelm.class.lib.mq5 b/Classes/x-saherelm.class.lib.mq5 similarity index 100% rename from BKP/Main/Classes/x-saherelm.class.lib.mq5 rename to Classes/x-saherelm.class.lib.mq5 diff --git a/BKP/Main/Classes/x-saherelm.nn.lib.mq5 b/Classes/x-saherelm.nn.lib.mq5 similarity index 100% rename from BKP/Main/Classes/x-saherelm.nn.lib.mq5 rename to Classes/x-saherelm.nn.lib.mq5 diff --git a/BKP/Main/Classes/x-saherelm.provider.lib.mq5 b/Classes/x-saherelm.provider.lib.mq5 similarity index 100% rename from BKP/Main/Classes/x-saherelm.provider.lib.mq5 rename to Classes/x-saherelm.provider.lib.mq5 diff --git a/BKP/Main/Experts/x-saherelm.xuspy5.ea.mq5 b/Experts/x-saherelm.xbtus5.ea.mq5 similarity index 69% rename from BKP/Main/Experts/x-saherelm.xuspy5.ea.mq5 rename to Experts/x-saherelm.xbtus5.ea.mq5 index 56b7b4c9..6eda82ef 100644 --- a/BKP/Main/Experts/x-saherelm.xuspy5.ea.mq5 +++ b/Experts/x-saherelm.xbtus5.ea.mq5 @@ -2,7 +2,7 @@ // // SaherElm IT Center MQL5 Expert Advisor // ---------------------------------------- -// Name: XUSPY5 +// Name: XBTUS5 // Description: this is an expert controller // advisors which provides a mechanism for use them ... // @@ -17,7 +17,7 @@ #property copyright "Copyright 2023, SaherElm IT Center" #property link "https://saherelm.ir" #property version "1.00" -#property description "SaherElm XUSPY5 EA" +#property description "SaherElm XBTUS5 EA" #property strict // @@ -28,9 +28,9 @@ input group "Commons"; // // XCTIMER inputs ... -input bool xUSPY5ShowCandleTimer = true; // Show Condle Remaining Time -input color xUSPY5CandleTimerColot = clrYellow; // Candle Timer Color -input ENUM_BASE_CORNER xUSPY5CandleTimerCorner = CORNER_RIGHT_LOWER; // Where to Show Candle Timer +input bool xBTUS5ShowCandleTimer = true; // Show Condle Remaining Time +input color xBTUS5CandleTimerColot = clrYellow; // Candle Timer Color +input ENUM_BASE_CORNER xBTUS5CandleTimerCorner = CORNER_RIGHT_LOWER; // Where to Show Candle Timer // // END Inputs ... @@ -57,8 +57,8 @@ input ENUM_BASE_CORNER xUSPY5CandleTimerCorner = CORNER_RIGHT_LOWER; // Where to #include "../Libraries/x-saherelm.draw.lib.mq5" // -// XUSPY5 Signal Provider ... -#include "../Providers/x-saherelm.xuspy5.provider.lib.mq5" +// XBTUS5 Signal Provider ... +#include "../Providers/x-saherelm.xbtus5.provider.lib.mq5" // // END Including Providers ... @@ -67,13 +67,13 @@ input ENUM_BASE_CORNER xUSPY5CandleTimerCorner = CORNER_RIGHT_LOWER; // Where to // // START Global Definitions: Variables, Properties and etc ... // -bool isXUSPY5NewHour; -bool isXUSPY5NewDay; -bool isXUSPY5NewWeek; -bool isXUSPY5NewMonth; +bool isXBTUS5NewHour; +bool isXBTUS5NewDay; +bool isXBTUS5NewWeek; +bool isXBTUS5NewMonth; // -int xUSPY5CTimerHandler = INVALID_HANDLE; +int xBTUS5CTimerHandler = INVALID_HANDLE; // // END Global Definitions: Variables, Properties and etc ... // @@ -87,7 +87,7 @@ int xUSPY5CTimerHandler = INVALID_HANDLE; int OnInit() { // - logTag = "XUSPY5EA"; + logTag = "XBTUS5EA"; drawPrefix = logTag; alertPrefix = logTag; @@ -107,17 +107,17 @@ int OnInit() } // - // Initialize XUSPY5 Provider ... - if (!XUSPY5InitSignalProviderLibrary()) + // Initialize XBTUS5 Provider ... + if (!XBTUS5InitSignalProviderLibrary()) { return INIT_PARAMETERS_INCORRECT; } // // Init XCTimer ... - if (xUSPY5ShowCandleTimer) + if (xBTUS5ShowCandleTimer) { - if (!XUSPY5CTimerInit()) + if (!XBTUS5CTimerInit()) { return INIT_FAILED; } @@ -148,15 +148,15 @@ void OnDeinit(const int reason) // Here we can handle De Initialization Reasons ... // - // De Initialize XUSPY5 Provider ... - XUSPY5DeinitSignalProviderLibrary(reason); + // De Initialize XBTUS5 Provider ... + XBTUS5DeinitSignalProviderLibrary(reason); // // De Init XDraw Library ... // OnDeinitDrawLibrary(); // - IndicatorRelease(xUSPY5CTimerHandler); + IndicatorRelease(xBTUS5CTimerHandler); } // @@ -166,15 +166,15 @@ void OnTick() // // Handle Monthly Alert ... bool isFirstMonth = xMonth == -1; - isXUSPY5NewMonth = IsNewMonth(); + isXBTUS5NewMonth = IsNewMonth(); bool canMonthlyAlert = - isXUSPY5NewMonth && - xUSPY5EnableAlerts && - xUSPY5EnableMonthlyAlerts; + isXBTUS5NewMonth && + xBTUS5EnableAlerts && + xBTUS5EnableMonthlyAlerts; bool canMonthlyReport = !isFirstMonth && canMonthlyAlert && - xUSPY5EnableMonthlyReports; + xBTUS5EnableMonthlyReports; if (canMonthlyAlert) { // @@ -185,7 +185,7 @@ void OnTick() if (canMonthlyReport) { // - string report = xUSPY5Reporter.GenerateReportString(XREPORT_MONTHLY); + string report = xBTUS5Reporter.GenerateReportString(XREPORT_MONTHLY); // message = "Last Month Report:\n" + report; @@ -193,7 +193,7 @@ void OnTick() // // Reset Report ... - xUSPY5Reporter.Reset(XREPORT_MONTHLY); + xBTUS5Reporter.Reset(XREPORT_MONTHLY); // SendAlert(message); @@ -202,15 +202,15 @@ void OnTick() // // Handle Weekly Alert ... bool isFirstWeek = xDayOfWeek == -1; - isXUSPY5NewWeek = IsNewWeek(); + isXBTUS5NewWeek = IsNewWeek(); bool canWeeklyAlert = - isXUSPY5NewWeek && - xUSPY5EnableAlerts && - xUSPY5EnableWeeklyAlerts; + isXBTUS5NewWeek && + xBTUS5EnableAlerts && + xBTUS5EnableWeeklyAlerts; bool canWeeklyReport = !isFirstWeek && canWeeklyAlert && - xUSPY5EnableWeeklyReports; + xBTUS5EnableWeeklyReports; if (canWeeklyAlert) { // @@ -221,7 +221,7 @@ void OnTick() if (canWeeklyReport) { // - string report = xUSPY5Reporter.GenerateReportString(XREPORT_WEEKLY); + string report = xBTUS5Reporter.GenerateReportString(XREPORT_WEEKLY); // message = "Last Week Report:\n" + report; @@ -229,7 +229,7 @@ void OnTick() // // Reset Report ... - xUSPY5Reporter.Reset(XREPORT_WEEKLY); + xBTUS5Reporter.Reset(XREPORT_WEEKLY); // SendAlert(message); @@ -238,15 +238,15 @@ void OnTick() // // Handle Daily Alert ... bool isFirstDay = xDay == -1; - isXUSPY5NewDay = IsNewDay(); + isXBTUS5NewDay = IsNewDay(); bool canDailyAlert = - isXUSPY5NewDay && - xUSPY5EnableAlerts && - xUSPY5EnableDailyAlerts; + isXBTUS5NewDay && + xBTUS5EnableAlerts && + xBTUS5EnableDailyAlerts; bool canDailyReport = !isFirstDay && canDailyAlert && - xUSPY5EnableDailyReports; + xBTUS5EnableDailyReports; if (canDailyAlert) { // @@ -257,7 +257,7 @@ void OnTick() if (canDailyReport) { // - string report = xUSPY5Reporter.GenerateReportString(XREPORT_DAILY); + string report = xBTUS5Reporter.GenerateReportString(XREPORT_DAILY); // message = "Last Week Report:\n" + report; @@ -265,7 +265,7 @@ void OnTick() // // Reset Report ... - xUSPY5Reporter.Reset(XREPORT_DAILY); + xBTUS5Reporter.Reset(XREPORT_DAILY); // SendAlert(message); @@ -274,11 +274,11 @@ void OnTick() // // Handle Hourly Alert ... bool isFirstHour = xHour == -1; - isXUSPY5NewHour = IsNewHour(); + isXBTUS5NewHour = IsNewHour(); bool canHourlyAlert = - isXUSPY5NewHour && - xUSPY5EnableAlerts && - xUSPY5EnableHourlyAlerts; + isXBTUS5NewHour && + xBTUS5EnableAlerts && + xBTUS5EnableHourlyAlerts; if (canHourlyAlert) { // @@ -290,33 +290,33 @@ void OnTick() // // Prevent Going Forward if user Disable it ... - if (xUSPY5EnableProvider) + if (xBTUS5EnableProvider) { // - // Handle Processing on XUSPY5 Signal Provider ... - XUSPY5SignalProviderDoControlState(); + // Handle Processing on XBTUS5 Signal Provider ... + XBTUS5SignalProviderDoControlState(); } // // Check Can Ignore Tick or not .. - bool canIgnoreTick = xUSPY5IsTestMode + bool canIgnoreTick = xBTUS5IsTestMode ? !IsNewCandle() - : !IsNewCandle() && xUSPY5WaitUntilNextCandle; + : !IsNewCandle() && xBTUS5WaitUntilNextCandle; if (canIgnoreTick) { return; } // - xUSPY5WaitUntilNextCandle = false; + xBTUS5WaitUntilNextCandle = false; // // Prevent Going Forward if user Disable it ... - if (xUSPY5EnableProvider) + if (xBTUS5EnableProvider) { // - // Handle Processing on XUSPY5 Signal Provider ... - XUSPY5SignalProviderHandleTick(); + // Handle Processing on XBTUS5 Signal Provider ... + XBTUS5SignalProviderHandleTick(); } } @@ -327,11 +327,11 @@ void OnTrade() // // Prevent Going Forward if user Disable it ... - if (xUSPY5EnableProvider) + if (xBTUS5EnableProvider) { // - // Handle Processing Trades on XUSPY5 Signal Provider ... - XUSPY5SignalProviderHandleTrade(); + // Handle Processing Trades on XBTUS5 Signal Provider ... + XBTUS5SignalProviderHandleTrade(); } } @@ -354,8 +354,8 @@ bool ValidateInputs() // Validate Args ... // - // Validate XUSPY5 Provider Inputs ... - result = XUSPY5ValidateInputs(); + // Validate XBTUS5 Provider Inputs ... + result = XBTUS5ValidateInputs(); if (!result) { return false; @@ -370,23 +370,23 @@ bool ValidateInputs() return result; } -bool XUSPY5CTimerInit() +bool XBTUS5CTimerInit() { // bool result = true; // - xUSPY5CTimerHandler = iCustom( + xBTUS5CTimerHandler = iCustom( _Symbol, _Period, "x-saherelm.xctimer.indicator", // // Inputs ... - xUSPY5CandleTimerColot, - xUSPY5CandleTimerCorner); + xBTUS5CandleTimerColot, + xBTUS5CandleTimerCorner); // - if (xUSPY5CTimerHandler == INVALID_HANDLE) + if (xBTUS5CTimerHandler == INVALID_HANDLE) { result = false; } diff --git a/BKP/Main/Helpers/x-saherelm.xama.indicator.helper.lib.mq5 b/Helpers/x-saherelm.xama.indicator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xama.indicator.helper.lib.mq5 rename to Helpers/x-saherelm.xama.indicator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xchlh.oscillator.helper.lib.mq5 b/Helpers/x-saherelm.xchlh.oscillator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xchlh.oscillator.helper.lib.mq5 rename to Helpers/x-saherelm.xchlh.oscillator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xchma.oscillator.helper.lib.mq5 b/Helpers/x-saherelm.xchma.oscillator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xchma.oscillator.helper.lib.mq5 rename to Helpers/x-saherelm.xchma.oscillator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xfi.oscillator.helper.lib.mq5 b/Helpers/x-saherelm.xfi.oscillator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xfi.oscillator.helper.lib.mq5 rename to Helpers/x-saherelm.xfi.oscillator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xlh.indicator.helper.lib.mq5 b/Helpers/x-saherelm.xlh.indicator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xlh.indicator.helper.lib.mq5 rename to Helpers/x-saherelm.xlh.indicator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xobd.indicator.helper.lib.mq5 b/Helpers/x-saherelm.xobd.indicator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xobd.indicator.helper.lib.mq5 rename to Helpers/x-saherelm.xobd.indicator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xrsi.oscillator.helper.lib.mq5 b/Helpers/x-saherelm.xrsi.oscillator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xrsi.oscillator.helper.lib.mq5 rename to Helpers/x-saherelm.xrsi.oscillator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xtd.oscillator.helper.lib.mq5 b/Helpers/x-saherelm.xtd.oscillator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xtd.oscillator.helper.lib.mq5 rename to Helpers/x-saherelm.xtd.oscillator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xtm.indicator.helper.lib.mq5 b/Helpers/x-saherelm.xtm.indicator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xtm.indicator.helper.lib.mq5 rename to Helpers/x-saherelm.xtm.indicator.helper.lib.mq5 diff --git a/BKP/Main/Helpers/x-saherelm.xts.oscillator.helper.lib.mq5 b/Helpers/x-saherelm.xts.oscillator.helper.lib.mq5 similarity index 100% rename from BKP/Main/Helpers/x-saherelm.xts.oscillator.helper.lib.mq5 rename to Helpers/x-saherelm.xts.oscillator.helper.lib.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xama.indicator.mq5 b/Indicators/x-saherelm.xama.indicator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xama.indicator.mq5 rename to Indicators/x-saherelm.xama.indicator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xchlh.oscillator.mq5 b/Indicators/x-saherelm.xchlh.oscillator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xchlh.oscillator.mq5 rename to Indicators/x-saherelm.xchlh.oscillator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xchma.oscillator.mq5 b/Indicators/x-saherelm.xchma.oscillator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xchma.oscillator.mq5 rename to Indicators/x-saherelm.xchma.oscillator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xctimer.indicator.mq5 b/Indicators/x-saherelm.xctimer.indicator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xctimer.indicator.mq5 rename to Indicators/x-saherelm.xctimer.indicator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xfi.oscillator.mq5 b/Indicators/x-saherelm.xfi.oscillator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xfi.oscillator.mq5 rename to Indicators/x-saherelm.xfi.oscillator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xlh.indicator.mq5 b/Indicators/x-saherelm.xlh.indicator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xlh.indicator.mq5 rename to Indicators/x-saherelm.xlh.indicator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xobd.indicator.mq5 b/Indicators/x-saherelm.xobd.indicator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xobd.indicator.mq5 rename to Indicators/x-saherelm.xobd.indicator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xrsi.oscillator.mq5 b/Indicators/x-saherelm.xrsi.oscillator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xrsi.oscillator.mq5 rename to Indicators/x-saherelm.xrsi.oscillator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xtd.oscillator.mq5 b/Indicators/x-saherelm.xtd.oscillator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xtd.oscillator.mq5 rename to Indicators/x-saherelm.xtd.oscillator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xtm.indicator.mq5 b/Indicators/x-saherelm.xtm.indicator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xtm.indicator.mq5 rename to Indicators/x-saherelm.xtm.indicator.mq5 diff --git a/BKP/Main/Indicators/x-saherelm.xts.oscillator.mq5 b/Indicators/x-saherelm.xts.oscillator.mq5 similarity index 100% rename from BKP/Main/Indicators/x-saherelm.xts.oscillator.mq5 rename to Indicators/x-saherelm.xts.oscillator.mq5 diff --git a/BKP/Main/Libraries/x-saherelm.alert.lib.mq5 b/Libraries/x-saherelm.alert.lib.mq5 similarity index 100% rename from BKP/Main/Libraries/x-saherelm.alert.lib.mq5 rename to Libraries/x-saherelm.alert.lib.mq5 diff --git a/BKP/Main/Libraries/x-saherelm.common.lib.mq5 b/Libraries/x-saherelm.common.lib.mq5 similarity index 100% rename from BKP/Main/Libraries/x-saherelm.common.lib.mq5 rename to Libraries/x-saherelm.common.lib.mq5 diff --git a/BKP/Main/Libraries/x-saherelm.draw.lib.mq5 b/Libraries/x-saherelm.draw.lib.mq5 similarity index 100% rename from BKP/Main/Libraries/x-saherelm.draw.lib.mq5 rename to Libraries/x-saherelm.draw.lib.mq5 diff --git a/BKP/Main/Libraries/x-saherelm.http.lib.mq5 b/Libraries/x-saherelm.http.lib.mq5 similarity index 100% rename from BKP/Main/Libraries/x-saherelm.http.lib.mq5 rename to Libraries/x-saherelm.http.lib.mq5 diff --git a/BKP/Main/Libraries/x-saherelm.log.lib.mq5 b/Libraries/x-saherelm.log.lib.mq5 similarity index 100% rename from BKP/Main/Libraries/x-saherelm.log.lib.mq5 rename to Libraries/x-saherelm.log.lib.mq5 diff --git a/BKP/Main/Libraries/x-saherelm.models.lib.mq5 b/Libraries/x-saherelm.models.lib.mq5 similarity index 100% rename from BKP/Main/Libraries/x-saherelm.models.lib.mq5 rename to Libraries/x-saherelm.models.lib.mq5 diff --git a/Providers/x-saherelm.xbtus5.provider.indicators.lib.mq5 b/Providers/x-saherelm.xbtus5.provider.indicators.lib.mq5 new file mode 100644 index 00000000..a08f2c3a --- /dev/null +++ b/Providers/x-saherelm.xbtus5.provider.indicators.lib.mq5 @@ -0,0 +1,6436 @@ +/////////////////////////////////////////////////////////////////// +// +// SaherElm IT Center MQL5 XBTUS5 Signal Provider Indicators Library +// ---------------------------------------------------------------- +// +// Maintainer: +// ------------ +// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com) +// +////////////////////////////////////////////////////// +// +// Global Properties ... +#property library +#property copyright "Copyright 2023, SaherElm IT Center" +#property link "https://www.saherelm.ir" +#property version "1.00" +#property strict + +// +// Include Provider Inputs ... +#include "x-saherelm.xbtus5.provider.inputs.lib.mq5" + +// +// Include Provider Class ... +#include "../Classes/x-saherelm.provider.lib.mq5" + +// +// Signallers ... +input group "XBTUS5 Signallers"; + +// +// XTD ... +input group "XBTUS5 XTD Signaller"; +input bool xBTUS5XTDEnableSignaller = true; // Enable Signaller +input bool xBTUS5XTDAllowLongSignals = true; // Enable Long Signals +input bool xBTUS5XTDAllowShortSignals = true; // Enable Short Signals + +// +// XTAM ... +input group "XBTUS5 XTAM Signaller"; +input bool xBTUS5XTAMEnableSignaller = true; // Enable Signaller +input bool xBTUS5XTAMAllowLongSignals = true; // Enable Long Signals +input bool xBTUS5XTAMAllowShortSignals = true; // Enable Short Signals + +// +// XSI ... +input group "XBTUS5 XSI Signaller"; +input bool xBTUS5XSIEnableSignaller = true; // Enable Signaller +input bool xBTUS5XSIAllowLongSignals = true; // Enable Long Signals +input bool xBTUS5XSIAllowShortSignals = true; // Enable Short Signals + +// +// XTSFI ... +input group "XBTUS5 XTSFI Signaller"; +input bool xBTUS5XTSFIEnableSignaller = true; // Enable Signaller +input bool xBTUS5XTSFIAllowLongSignals = true; // Enable Long Signals +input bool xBTUS5XTSFIAllowShortSignals = true; // Enable Short Signals + +// +// XOBDLH ... +// input group "XBTUS5 XOBDLH Signaller"; +// input bool xBTUS5XOBDLHEnableSignaller = true; // Enable Signaller +// input bool xBTUS5XOBDLHAllowLongSignals = true; // Enable Long Signals +// input bool xBTUS5XOBDLHAllowShortSignals = true; // Enable Short Signals + +// +// XCHMACC ... +input group "XBTUS5 XCHMACC Signaller"; +input bool xBTUS5XCHMACCEnableSignaller = true; // Enable Signaller +input bool xBTUS5XCHMACCAllowLongSignals = true; // Enable Long Signals +input bool xBTUS5XCHMACCAllowShortSignals = true; // Enable Short Signals + +// +// XCHMAMX ... +// input group "XBTUS5 XCHMAMX Signaller"; +// input bool xBTUS5XCHMAMXEnableSignaller = true; // Enable Signaller +// input bool xBTUS5XCHMAMXAllowLongSignals = true; // Enable Long Signals +// input bool xBTUS5XCHMAMXAllowShortSignals = true; // Enable Short Signals + +// +// XCHMAMN ... +input group "XBTUS5 XCHMAMN Signaller"; +// input bool xBTUS5XCHMAMNEnableSignaller = true; // Enable Signaller +// input bool xBTUS5XCHMAMNAllowLongSignals = true; // Enable Long Signals +// input bool xBTUS5XCHMAMNAllowShortSignals = true; // Enable Short Signals + +// +// Check in Test Mode or not ... +bool xBTUS5IsTestMode = false; + +// +// Detect max Input Length of Indicators ... +int xBTUS5MaxLengthOfInputs = 0; + +// +// Detect Calculated Bars ... +int xBTUS5CalculatedBars = 0; + +// +// Check prevent Double Signalling on Same Candle ... +bool xBTUS5WaitUntilNextCandle = false; + +// +// Signaller Variables ... +// +// XTD ... +bool xBTUS5MXTDEnableSignaller = xBTUS5XTDEnableSignaller; +bool xBTUS5MXTDAllowLongSignals = xBTUS5XTDAllowLongSignals; +bool xBTUS5MXTDAllowShortSignals = xBTUS5XTDAllowShortSignals; + +// +// XTAM ... +bool xBTUS5MXTAMEnableSignaller = xBTUS5XTAMEnableSignaller; +bool xBTUS5MXTAMAllowLongSignals = xBTUS5XTAMAllowLongSignals; +bool xBTUS5MXTAMAllowShortSignals = xBTUS5XTAMAllowShortSignals; + +// +// XSI ... +bool xBTUS5MXSIEnableSignaller = xBTUS5XSIEnableSignaller; +bool xBTUS5MXSIAllowLongSignals = xBTUS5XSIAllowLongSignals; +bool xBTUS5MXSIAllowShortSignals = xBTUS5XSIAllowShortSignals; + +// +// XTSFI ... +bool xBTUS5MXTSFIEnableSignaller = xBTUS5XTSFIEnableSignaller; +bool xBTUS5MXTSFIAllowLongSignals = xBTUS5XTSFIAllowLongSignals; +bool xBTUS5MXTSFIAllowShortSignals = xBTUS5XTSFIAllowShortSignals; + +// +// XOBDLH ... +bool xBTUS5MXOBDLHEnableSignaller = false; // xBTUS5XOBDLHEnableSignaller; +bool xBTUS5MXOBDLHAllowLongSignals = false; // xBTUS5XOBDLHAllowLongSignals; +bool xBTUS5MXOBDLHAllowShortSignals = false; // xBTUS5XOBDLHAllowShortSignals; + +// +// XCHMACC ... +bool xBTUS5MXCHMACCEnableSignaller = xBTUS5XCHMACCEnableSignaller; +bool xBTUS5MXCHMACCAllowLongSignals = xBTUS5XCHMACCAllowLongSignals; +bool xBTUS5MXCHMACCAllowShortSignals = xBTUS5XCHMACCAllowShortSignals; + +// +// XCHMAMX ... +bool xBTUS5MXCHMAMXEnableSignaller = false; // xBTUS5XCHMAMXEnableSignaller; +bool xBTUS5MXCHMAMXAllowLongSignals = false; // xBTUS5XCHMAMXAllowLongSignals; +bool xBTUS5MXCHMAMXAllowShortSignals = false; // xBTUS5XCHMAMXAllowShortSignals; + +// +// XCHMAMN ... +bool xBTUS5MXCHMAMNEnableSignaller = false; // xBTUS5XCHMAMNEnableSignaller; +bool xBTUS5MXCHMAMNAllowLongSignals = false; // xBTUS5XCHMAMNAllowLongSignals; +bool xBTUS5MXCHMAMNAllowShortSignals = false; // xBTUS5XCHMAMNAllowShortSignals; + +// +XCProvider *xBTUS5Provider; + +// +// Validate Indicators Inputs ... +bool XBTUS5ValidateIndicatorsInputs() +{ + // + bool result = false; + + // + // XTM ... + result = XTMValidateInputs(); + if (!result) + { + return result; + } + + // + // XAMA ... + result = XAMAValidateInputs(); + if (!result) + { + return result; + } + + // + // XTD ... + result = XTDValidateInputs(); + if (!result) + { + return result; + } + + // + // XFI ... + result = XFIValidateInputs(); + if (!result) + { + return result; + } + + // + // XTS ... + result = XTSValidateInputs(); + if (!result) + { + return result; + } + + // + // XOBD ... + result = XOBDValidateInputs(); + if (!result) + { + return result; + } + + // + // XLH ... + result = XLHValidateInputs(); + if (!result) + { + return result; + } + + // + // XRSI ... + result = XRSIValidateInputs(); + if (!result) + { + return result; + } + + // + // XCHLH ... + result = XCHLHValidateInputs(); + if (!result) + { + return result; + } + + // + // XCHMA ... + result = XCHMAValidateInputs(); + if (!result) + { + return result; + } + + // + // Make an Instance Of XCProvider Class for Use ... + xBTUS5Provider = new XCProvider( + // + // Commons ... + _Symbol, + _Period, + // + // Signallers ... + // + // XTD ... + xBTUS5MXTDEnableSignaller, + xBTUS5MXTDAllowLongSignals, + xBTUS5MXTDAllowShortSignals, + // + // XTAM ... + xBTUS5MXTAMEnableSignaller, + xBTUS5MXTAMAllowLongSignals, + xBTUS5MXTAMAllowShortSignals, + // + // XSI ... + xBTUS5MXSIEnableSignaller, + xBTUS5MXSIAllowLongSignals, + xBTUS5MXSIAllowShortSignals, + // + // XTSFI ... + xBTUS5MXTSFIEnableSignaller, + xBTUS5MXTSFIAllowLongSignals, + xBTUS5MXTSFIAllowShortSignals, + // + // XOBDLH ... + xBTUS5MXOBDLHEnableSignaller, + xBTUS5MXOBDLHAllowLongSignals, + xBTUS5MXOBDLHAllowShortSignals, + // + // XCHMACC ... + xBTUS5MXCHMACCEnableSignaller, + xBTUS5MXCHMACCAllowLongSignals, + xBTUS5MXCHMACCAllowShortSignals, + // + // XCHMAMX ... + xBTUS5MXCHMAMXEnableSignaller, + xBTUS5MXCHMAMXAllowLongSignals, + xBTUS5MXCHMAMXAllowShortSignals, + // + // XCHMAMN ... + xBTUS5MXCHMAMNEnableSignaller, + xBTUS5MXCHMAMNAllowLongSignals, + xBTUS5MXCHMAMNAllowShortSignals + // + ); + + // + result = true; + + // + return result; +} + +// +// Init Indicators ... +bool XBTUS5InitIndicators() +{ + // + bool result = false; + + // + // Make it Enable when we need to Log Market Conditions ... + xBTUS5IsTestMode = IsRunningOnTestMode(); + + // + // Check and Calculate Max Length in Inputs ... + // + + // + // XTM ... + xBTUS5MaxLengthOfInputs = MathMax( + xTMMaPeriod, + xBTUS5NumberOfItemsPerTick); + + // + // XAMA ... + xBTUS5MaxLengthOfInputs = MathMax( + xAMALength, + xBTUS5NumberOfItemsPerTick); + xBTUS5MaxLengthOfInputs = MathMax( + xAMAFastEMA, + xBTUS5NumberOfItemsPerTick); + xBTUS5MaxLengthOfInputs = MathMax( + xAMASlowEMA, + xBTUS5NumberOfItemsPerTick); + + // + // XLH ... + xBTUS5MaxLengthOfInputs = MathMax( + xLHLength, + xBTUS5NumberOfItemsPerTick); + + // + // XTD ... + xBTUS5MaxLengthOfInputs = MathMax( + xTDLength, + xBTUS5MaxLengthOfInputs); + + // + // XFI ... + xBTUS5MaxLengthOfInputs = MathMax( + xFILength, + xBTUS5MaxLengthOfInputs); + + // + // XRSI ... + xBTUS5MaxLengthOfInputs = MathMax( + xRSILength, + xBTUS5MaxLengthOfInputs); + + // + // XOBD ... + xBTUS5MaxLengthOfInputs = MathMax( + xOBDLength, + xBTUS5MaxLengthOfInputs); + + // + // XCHLH ... + xBTUS5MaxLengthOfInputs = MathMax( + xCHLHLcLength, + xBTUS5MaxLengthOfInputs); + xBTUS5MaxLengthOfInputs = MathMax( + xCHLHMcLength, + xBTUS5MaxLengthOfInputs); + xBTUS5MaxLengthOfInputs = MathMax( + xCHLHScLength, + xBTUS5MaxLengthOfInputs); + + // + // XCHMA ... + xBTUS5MaxLengthOfInputs = MathMax( + xCHMAScFastLength, + xBTUS5MaxLengthOfInputs); + xBTUS5MaxLengthOfInputs = MathMax( + xCHMAScSlowLength, + xBTUS5MaxLengthOfInputs); + xBTUS5MaxLengthOfInputs = MathMax( + xCHMAMcFastLength, + xBTUS5MaxLengthOfInputs); + xBTUS5MaxLengthOfInputs = MathMax( + xCHMAMcSlowLength, + xBTUS5MaxLengthOfInputs); + xBTUS5MaxLengthOfInputs = MathMax( + xCHMALcFastLength, + xBTUS5MaxLengthOfInputs); + xBTUS5MaxLengthOfInputs = MathMax( + xCHMALcSlowLength, + xBTUS5MaxLengthOfInputs); + + // + // Validate Indicators Inputs before Initialization ... + result = XBTUS5ValidateIndicatorsInputs(); + if (!result) + { + return result; + } + + // + // Validate Signallers ... + + // + // XTD ... + bool isXTDEnable = + xBTUS5XTDEnableSignaller && + (xBTUS5XTDAllowLongSignals || + xBTUS5XTDAllowShortSignals); + + // + // XTAM ... + bool isXTAMEnable = + xBTUS5XTAMEnableSignaller && + (xBTUS5XTAMAllowLongSignals || + xBTUS5XTAMAllowShortSignals); + + // + // XSI ... + bool isXSIEnable = + xBTUS5XSIEnableSignaller && + (xBTUS5XSIAllowLongSignals || + xBTUS5XSIAllowShortSignals); + + // + // XTSFI ... + bool isXTSFIEnable = + xBTUS5XTSFIEnableSignaller && + (xBTUS5XTSFIAllowLongSignals || + xBTUS5XTSFIAllowShortSignals); + + // + // XOBDLH ... + bool isXOBDLHEnable = false; + // xBTUS5XOBDLHEnableSignaller && + // (xBTUS5XOBDLHAllowLongSignals || + // xBTUS5XOBDLHAllowShortSignals); + + // + // XCHMACC ... + bool isXCHMACCEnable = + xBTUS5XCHMACCEnableSignaller && + (xBTUS5XCHMACCAllowLongSignals || + xBTUS5XCHMACCAllowShortSignals); + + // + // XCHMAMX ... + bool isXCHMAMXEnable = false; + // xBTUS5XCHMAMXEnableSignaller && + // (xBTUS5XCHMAMXAllowLongSignals || + // xBTUS5XCHMAMXAllowShortSignals); + + // + // XCHMAMN ... + bool isXCHMAMNEnable = false; + // xBTUS5XCHMAMNEnableSignaller && + // (xBTUS5XCHMAMNAllowLongSignals || + // xBTUS5XCHMAMNAllowShortSignals); + + // + bool hasSignaller = + // + isXTDEnable || + isXTAMEnable || + isXSIEnable || + isXTSFIEnable || + isXOBDLHEnable || + isXCHMACCEnable || + isXCHMAMXEnable || + isXCHMAMNEnable + // + ; + result = hasSignaller; + if (!result) + { + // + LogMessage("XBTUS5 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 XBTUS5ReleaseIndicators() +{ + // + // Release Handlers ... + XTMReleaseHandlers(); + XAMAReleaseHandlers(); + XLHReleaseHandlers(); + XTDReleaseHandlers(); + XFIReleaseHandlers(); + XTSReleaseHandlers(); + XRSIReleaseHandlers(); + XOBDReleaseHandlers(); + XCHMAReleaseHandlers(); + XCHLHReleaseHandlers(); +} + +// +// Handle Reading Buffers ... +void XBTUS5HandleReadingBuffers() +{ + // + // Reading Calculated Bars for a Simple Handler ... + xBTUS5CalculatedBars = BarsCalculated(xTMHandler); + + // + // Read Indicators Buffers ... + XTMReadBuffers(xBTUS5NumberOfItemsPerTick); + XAMAReadBuffers(xBTUS5NumberOfItemsPerTick); + XLHReadBuffers(xBTUS5NumberOfItemsPerTick); + XTDReadBuffers(xBTUS5NumberOfItemsPerTick); + XFIReadBuffers(xBTUS5NumberOfItemsPerTick); + XTSReadBuffers(xBTUS5NumberOfItemsPerTick); + XRSIReadBuffers(xBTUS5NumberOfItemsPerTick); + XOBDReadBuffers(xBTUS5NumberOfItemsPerTick); + XCHMAReadBuffers(xBTUS5NumberOfItemsPerTick); + XCHLHReadBuffers(xBTUS5NumberOfItemsPerTick); + + // + xBTUS5Provider.ReadConditions(); +} + +// +// +// START Combination Functions ... +// +// + +// +// Can Open Long Trade ... +// this is a Function will Check all market Conditions and get all +// Strategy requirement Verifications for Long Signals ... +bool XBTUS5CanOpenLongTrade( + XProvidedSignal &info // Retrieve Signal Additional Info on this Object +) +{ + // + bool result = false; + + // + info.tp = 0; + info.sl = 0; + ArrayResize( + info.signallers, + 0); + + // + bool hasSignal = XBTUS5HasLongSignal(info); + + // + result = + // + hasSignal + // + ; + + // + if (result) + { + xBTUS5Provider.ClearConditions(); + } + + // + return result; +} + +// +// Can Close Long Trade ... +// this is a Function will Check all market Conditions and get all +// Strategy requirement Verifications for Long Signals ... +bool XBTUS5CanCloseLongTrade() +{ + // + 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 XBTUS5CanOpenShortTrade( + XProvidedSignal &info // Retrieve Signal Additional Info on this Object +) +{ + // + bool result = false; + + // + info.tp = 0; + info.sl = 0; + ArrayResize( + info.signallers, + 0); + + // + bool hasSignal = XBTUS5HasShortSignal(info); + + // + result = + // + hasSignal + // + ; + + // + if (result) + { + xBTUS5Provider.ClearConditions(); + } + + // + return result; +} + +// +// Can Close Short Trade ... +// this is a Function will Check all market Conditions and get all +// Strategy requirement Verifications for Short Signals ... +bool XBTUS5CanCloseShortTrade() +{ + // + bool result = false; + + // + return result; +} + +// +// +// END Combination Functions ... +// +// + +// +// +// START Combination Signaling ... +// +// + +// +// Check Market Conditions by Combination of Power of All tools for LONGs ... +bool XBTUS5HasLongSignal( + XProvidedSignal &info // Retrieve Signal Additional Info on this Object +) +{ + // + bool result = false; + + // + // XTD ... + bool isXTDHasSignal = XBTUS5XTDHasLongSignal(); + if (isXTDHasSignal) + { + // + Add( + EnumToString(XTD), + info.signallers); + } + + // + // XTAM ... + bool isXTAMHasSignal = XBTUS5XTAMHasLongSignal(); + if (isXTAMHasSignal) + { + // + Add( + EnumToString(XTAM), + info.signallers); + } + + // + // XSI ... + bool isXSIHasSignal = XBTUS5XSIHasLongSignal(); + if (isXSIHasSignal) + { + // + Add( + EnumToString(XSI), + info.signallers); + } + + // + // XTSFI ... + bool isXTSFIHasSignal = XBTUS5XTSFIHasLongSignal(); + if (isXTSFIHasSignal) + { + // + Add( + EnumToString(XTSFI), + info.signallers); + } + + // + // XOBD XLH ... + bool isXOBDLHHasSignal = XBTUS5XOBDLHHasLongSignal(); + if (isXOBDLHHasSignal) + { + // + Add( + EnumToString(XOBDLH), + info.signallers); + } + + // + // XCHMA Cycles Cross ... + bool isXCHMACCHasSignal = XBTUS5XCHMACCHasLongSignal(); + if (isXCHMACCHasSignal) + { + // + Add( + EnumToString(XCHMACC), + info.signallers); + } + + // + // XCHMA Cycles Min ... + bool isXCHMAMNHasSignal = XBTUS5XCHMAMNHasLongSignal(); + if (isXCHMAMNHasSignal) + { + // + Add( + EnumToString(XCHMAMN), + info.signallers); + } + + // + // XCHMA Cycles Max + bool isXCHMAMXHasSignal = XBTUS5XCHMAMXHasLongSignal(); + if (isXCHMAMXHasSignal) + { + // + Add( + EnumToString(XCHMAMX), + info.signallers); + } + + // + result = + // + isXTDHasSignal + // + || + // + isXTAMHasSignal + // + || + // + isXSIHasSignal + // + || + // + isXTSFIHasSignal + // + || + // + isXOBDLHHasSignal + // + || + // + isXCHMACCHasSignal + // + || + // + isXCHMAMNHasSignal + // + || + // + isXCHMAMXHasSignal + // + ; + + // + if (result) + { + // + // Only Log Signals Time Market Conditions if is in Testing Mode ... + if (xBTUS5IsTestMode || xBTUS5EnableSignalAlerts) + { + // + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + string message = xBTUS5Provider.GenerateConditionsString(mConditions); + + // + LogMessage( + "Long Signal Provided by: \n" + + info.signallers[ArraySize(info.signallers) - 1] + "\n" + + "Pusher: " + (string)ArraySize(info.signallers) + "\n" + + "Market Conditions: " + message); + } + } + + // + return result; +} + +// +// Check Market Conditions by Combination of Power of All tools for SHORTs ... +bool XBTUS5HasShortSignal( + XProvidedSignal &info // Retrieve Signal Additional Info on this Object +) +{ + // + bool result = false; + + // + // XTD ... + bool isXTDHasSignal = XBTUS5XTDHasShortSignal(); + if (isXTDHasSignal) + { + // + Add( + EnumToString(XTD), + info.signallers); + } + + // + // XTAM ... + bool isXTAMHasSignal = XBTUS5XTAMHasShortSignal(); + if (isXTAMHasSignal) + { + // + Add( + EnumToString(XTAM), + info.signallers); + } + + // + // XSI ... + bool isXSIHasSignal = XBTUS5XSIHasShortSignal(); + if (isXSIHasSignal) + { + // + Add( + EnumToString(XSI), + info.signallers); + } + + // + // XTSFI ... + bool isXTSFIHasSignal = XBTUS5XTSFIHasShortSignal(); + if (isXTSFIHasSignal) + { + // + Add( + EnumToString(XTSFI), + info.signallers); + } + + // + // XOBD XLH ... + bool isXOBDLHHasSignal = XBTUS5XOBDLHHasShortSignal(); + if (isXOBDLHHasSignal) + { + // + Add( + EnumToString(XOBDLH), + info.signallers); + } + + // + // XCHMA Cycles Cross ... + bool isXCHMACCHasSignal = XBTUS5XCHMACCHasShortSignal(); + if (isXCHMACCHasSignal) + { + // + Add( + EnumToString(XCHMACC), + info.signallers); + } + + // + // XCHMA Cycles Min ... + bool isXCHMAMNHasSignal = XBTUS5XCHMAMNHasShortSignal(); + if (isXCHMAMNHasSignal) + { + // + Add( + EnumToString(XCHMAMN), + info.signallers); + } + + // + // XCHMA Cycles Max + bool isXCHMAMXHasSignal = XBTUS5XCHMAMXHasShortSignal(); + if (isXCHMAMXHasSignal) + { + // + Add( + EnumToString(XCHMAMX), + info.signallers); + } + + // + result = + // + isXTDHasSignal + // + || + // + isXTAMHasSignal + // + || + // + isXSIHasSignal + // + || + // + isXTSFIHasSignal + // + || + // + isXOBDLHHasSignal + // + || + // + isXCHMACCHasSignal + // + || + // + isXCHMAMNHasSignal + // + || + // + isXCHMAMXHasSignal + // + ; + + // + if (result) + { + // + // Only Log Signals Time Market Conditions if is in Testing Mode ... + if (xBTUS5IsTestMode || xBTUS5EnableSignalAlerts) + { + // + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + string message = xBTUS5Provider.GenerateConditionsString(mConditions); + + // + LogMessage( + "Short Signal Provided by: \n" + + info.signallers[ArraySize(info.signallers) - 1] + "\n" + + "Pusher: " + (string)ArraySize(info.signallers) + "\n" + + "Market Conditions: " + message); + } + } + + // + return result; +} + +// +// +// END Combination Signaling ... +// +// + +// +// START Signal Providers ... +// + +// +// Disbale All Signallers Longs ... +void XBTUS5DisableLongSignallers() +{ + // + // XTD ... + if (xBTUS5MXTDEnableSignaller) + { + // + xBTUS5Provider.DisbaleXTDLongs(); + xBTUS5MXTDAllowLongSignals = false; + } + + // + // XTAM ... + if (xBTUS5MXTAMEnableSignaller) + { + // + xBTUS5Provider.DisbaleXTAMLongs(); + xBTUS5MXTAMAllowLongSignals = false; + } + + // + // XSI ... + if (xBTUS5MXSIEnableSignaller) + { + // + xBTUS5Provider.DisbaleXSILongs(); + xBTUS5MXSIAllowLongSignals = false; + } + + // + // XTSFI ... + if (xBTUS5MXTSFIEnableSignaller) + { + // + xBTUS5Provider.DisbaleXTSFILongs(); + xBTUS5MXTSFIAllowLongSignals = false; + } + + // + // XOBDLH ... + // if (xBTUS5MXOBDLHEnableSignaller) + // { + // // + // xBTUS5Provider.DisbaleXOBDLHLongs(); + // xBTUS5MXOBDLHAllowLongSignals = false; + // } + + // + // XCHMACC ... + if (xBTUS5MXCHMACCEnableSignaller) + { + // + xBTUS5Provider.DisbaleXCHMACCLongs(); + xBTUS5MXCHMACCAllowLongSignals = false; + } + + // + // XCHMAMX ... + // if (xBTUS5MXCHMAMXEnableSignaller) + // { + // // + // xBTUS5Provider.DisbaleXCHMAMXLongs(); + // xBTUS5MXCHMAMXAllowLongSignals = false; + // } + + // + // XCHMAMN ... + // if (xBTUS5MXCHMAMNEnableSignaller) + // { + // // + // xBTUS5Provider.DisbaleXCHMAMNLongs(); + // xBTUS5MXCHMAMNAllowLongSignals = false; + // } +} + +// +// Enable All Signallers Longs ... +// Only if they are Configured as Enable at Settings ... +void XBTUS5EnableLongSignallers() +{ + // + // XTD ... + if (xBTUS5MXTDEnableSignaller) + { + // + xBTUS5MXTDAllowLongSignals = + xBTUS5XTDAllowLongSignals + ? true + : xBTUS5MXTDAllowLongSignals; + + // + if (xBTUS5MXTDAllowLongSignals) + { + xBTUS5Provider.EnableXTDLongs(); + } + } + + // + // XTAM ... + if (xBTUS5MXTAMEnableSignaller) + { + // + xBTUS5MXTAMAllowLongSignals = + xBTUS5XTAMAllowLongSignals + ? true + : xBTUS5MXTAMAllowLongSignals; + + // + if (xBTUS5MXTAMAllowLongSignals) + { + xBTUS5Provider.EnableXTAMLongs(); + } + } + + // + // XSI ... + if (xBTUS5MXSIEnableSignaller) + { + // + xBTUS5MXSIAllowLongSignals = + xBTUS5XSIAllowLongSignals + ? true + : xBTUS5MXSIAllowLongSignals; + + // + if (xBTUS5MXSIAllowLongSignals) + { + xBTUS5Provider.EnableXSILongs(); + } + } + + // + // XTSFI ... + if (xBTUS5MXTSFIEnableSignaller) + { + // + xBTUS5MXTSFIAllowLongSignals = + xBTUS5XTSFIAllowLongSignals + ? true + : xBTUS5MXTSFIAllowLongSignals; + + // + if (xBTUS5MXTSFIAllowLongSignals) + { + xBTUS5Provider.EnableXTSFILongs(); + } + } + + // + // XOBDLH ... + // if (xBTUS5MXOBDLHEnableSignaller) + // { + // // + // xBTUS5MXOBDLHAllowLongSignals = + // xBTUS5XOBDLHAllowLongSignals + // ? true + // : xBTUS5MXOBDLHAllowLongSignals; + + // // + // if (xBTUS5MXOBDLHAllowLongSignals) + // { + // xBTUS5Provider.EnableXOBDLHLongs(); + // } + // } + + // + // XCHMACC ... + if (xBTUS5MXCHMACCEnableSignaller) + { + // + xBTUS5MXCHMACCAllowLongSignals = + xBTUS5XCHMACCAllowLongSignals + ? true + : xBTUS5MXCHMACCAllowLongSignals; + + // + if (xBTUS5MXCHMACCAllowLongSignals) + { + xBTUS5Provider.EnableXCHMACCLongs(); + } + } + + // + // XCHMAMX ... + // if (xBTUS5MXCHMAMXEnableSignaller) + // { + // // + // xBTUS5MXCHMAMXAllowLongSignals = + // xBTUS5XCHMAMXAllowLongSignals + // ? true + // : xBTUS5MXCHMAMXAllowLongSignals; + + // // + // if (xBTUS5MXCHMAMXAllowLongSignals) + // { + // xBTUS5Provider.EnableXCHMAMXLongs(); + // } + // } + + // + // XCHMAMN ... + // if (xBTUS5MXCHMAMNEnableSignaller) + // { + // // + // xBTUS5MXCHMAMNAllowLongSignals = + // xBTUS5XCHMAMNAllowLongSignals + // ? true + // : xBTUS5MXCHMAMNAllowLongSignals; + + // // + // if (xBTUS5MXCHMAMNAllowLongSignals) + // { + // xBTUS5Provider.EnableXCHMAMNLongs(); + // } + // } +} + +// +// Disable All Signallers Shorts ... +void XBTUS5DisableShortSignallers() +{ + // + // XTD ... + if (xBTUS5MXTDEnableSignaller) + { + // + xBTUS5Provider.DisableXTDShorts(); + xBTUS5MXTDAllowShortSignals = false; + } + + // + // XTAM ... + if (xBTUS5MXTAMEnableSignaller) + { + // + xBTUS5Provider.DisableXTAMShorts(); + xBTUS5MXTAMAllowShortSignals = false; + } + + // + // XSI ... + if (xBTUS5MXSIEnableSignaller) + { + // + xBTUS5Provider.DisableXSIShorts(); + xBTUS5MXSIAllowShortSignals = false; + } + + // + // XTSFI ... + if (xBTUS5MXTSFIEnableSignaller) + { + // + xBTUS5Provider.DisableXTSFIShorts(); + xBTUS5MXTSFIAllowShortSignals = false; + } + + // + // XOBDLH ... + // if (xBTUS5MXOBDLHEnableSignaller) + // { + // // + // xBTUS5Provider.DisableXOBDLHShorts(); + // xBTUS5MXOBDLHAllowShortSignals = false; + // } + + // + // XCHMACC ... + if (xBTUS5MXCHMACCEnableSignaller) + { + // + xBTUS5Provider.DisableXCHMACCShorts(); + xBTUS5MXCHMACCAllowShortSignals = false; + } + + // + // XCHMAMX ... + // if (xBTUS5MXCHMAMXEnableSignaller) + // { + // // + // xBTUS5Provider.DisableXCHMAMXShorts(); + // xBTUS5MXCHMAMXAllowShortSignals = false; + // } + + // + // XCHMAMN ... + // if (xBTUS5MXCHMAMNEnableSignaller) + // { + // // + // xBTUS5Provider.DisableXCHMAMNShorts(); + // xBTUS5MXCHMAMNAllowShortSignals = false; + // } +} + +// +// Enable All Signallers Shorts ... +// Only if they are Configured as Enable at Settings ... +void XBTUS5EnableShortSignallers() +{ + // + // XTD ... + if (xBTUS5MXTDEnableSignaller) + { + // + xBTUS5MXTDAllowShortSignals = + xBTUS5XTDAllowShortSignals + ? true + : xBTUS5MXTDAllowShortSignals; + + // + if (xBTUS5MXTDAllowShortSignals) + { + xBTUS5Provider.EnableXTDShorts(); + } + } + + // + // XTAM ... + if (xBTUS5MXTAMEnableSignaller) + { + // + xBTUS5MXTAMAllowShortSignals = + xBTUS5XTAMAllowShortSignals + ? true + : xBTUS5MXTAMAllowShortSignals; + + // + if (xBTUS5MXTAMAllowShortSignals) + { + xBTUS5Provider.EnableXTAMShorts(); + } + } + + // + // XSI ... + if (xBTUS5MXSIEnableSignaller) + { + // + xBTUS5MXSIAllowShortSignals = + xBTUS5XSIAllowShortSignals + ? true + : xBTUS5MXSIAllowShortSignals; + + // + if (xBTUS5MXSIAllowShortSignals) + { + xBTUS5Provider.EnableXSIShorts(); + } + } + + // + // XTSFI ... + if (xBTUS5MXTSFIEnableSignaller) + { + // + xBTUS5MXTSFIAllowShortSignals = + xBTUS5XTSFIAllowShortSignals + ? true + : xBTUS5MXTSFIAllowShortSignals; + + // + if (xBTUS5MXTSFIAllowShortSignals) + { + xBTUS5Provider.EnableXTSFIShorts(); + } + } + + // + // XOBDLH ... + // if (xBTUS5MXOBDLHEnableSignaller) + // { + // // + // xBTUS5MXOBDLHAllowShortSignals = + // xBTUS5XOBDLHAllowShortSignals + // ? true + // : xBTUS5MXOBDLHAllowShortSignals; + + // // + // if (xBTUS5MXOBDLHAllowShortSignals) + // { + // xBTUS5Provider.EnableXOBDLHShorts(); + // } + // } + + // + // XCHMACC ... + if (xBTUS5MXCHMACCEnableSignaller) + { + // + xBTUS5MXCHMACCAllowShortSignals = + xBTUS5XCHMACCAllowShortSignals + ? true + : xBTUS5MXCHMACCAllowShortSignals; + + // + if (xBTUS5MXCHMACCAllowShortSignals) + { + xBTUS5Provider.EnableXCHMACCShorts(); + } + } + + // + // XCHMAMX ... + // if (xBTUS5MXCHMAMXEnableSignaller) + // { + // // + // xBTUS5MXCHMAMXAllowShortSignals = + // xBTUS5XCHMAMXAllowShortSignals + // ? true + // : xBTUS5MXCHMAMXAllowShortSignals; + + // // + // if (xBTUS5MXCHMAMXAllowShortSignals) + // { + // xBTUS5Provider.EnableXCHMAMXShorts(); + // } + // } + + // + // XCHMAMN ... + // if (xBTUS5MXCHMAMNEnableSignaller) + // { + // // + // xBTUS5MXCHMAMNAllowShortSignals = + // xBTUS5XCHMAMNAllowShortSignals + // ? true + // : xBTUS5MXCHMAMNAllowShortSignals; + + // // + // if (xBTUS5MXCHMAMNAllowShortSignals) + // { + // xBTUS5Provider.EnableXCHMAMNShorts(); + // } + // } +} + +// +// +// + +// +// XTD Long Signal Checking ... +bool XBTUS5XTDHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXTDEnableSignaller || + !xBTUS5MXTDAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XTDHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XTD Short Signal Checking ... +bool XBTUS5XTDHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXTDEnableSignaller || + !xBTUS5MXTDAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XTDHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTD Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTD Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XTAM Long Signal Checking ... +bool XBTUS5XTAMHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXTAMEnableSignaller || + !xBTUS5MXTAMAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XTAMHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XTAM Short Signal Checking ... +bool XBTUS5XTAMHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXTAMEnableSignaller || + !xBTUS5MXTAMAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XTAMHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTAM Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTAM Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XSI Long Signal Checking ... +bool XBTUS5XSIHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXSIEnableSignaller || + !xBTUS5MXSIAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XSIHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XSI Short Signal Checking ... +bool XBTUS5XSIHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXSIEnableSignaller || + !xBTUS5MXSIAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XSIHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XSI Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XSI Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XTSFI Long Signal Checking ... +bool XBTUS5XTSFIHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXTSFIEnableSignaller || + !xBTUS5MXTSFIAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XTSFIHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XTSFI Short Signal Checking ... +bool XBTUS5XTSFIHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXTSFIEnableSignaller || + !xBTUS5MXTSFIAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XTSFIHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XTSFI Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XTSFI Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XOBDLH Long Signal Checking ... +bool XBTUS5XOBDLHHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXOBDLHEnableSignaller || + !xBTUS5MXOBDLHAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XOBDLHHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XOBDLH Short Signal Checking ... +bool XBTUS5XOBDLHHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXOBDLHEnableSignaller || + !xBTUS5MXOBDLHAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XOBDLHHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XOBDLH Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XOBDLH Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XCHMACC Long Signal Checking ... +bool XBTUS5XCHMACCHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXCHMACCEnableSignaller || + !xBTUS5MXCHMACCAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XCHMACCHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XCHMACC Short Signal Checking ... +bool XBTUS5XCHMACCHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXCHMACCEnableSignaller || + !xBTUS5MXCHMACCAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XCHMACCHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMACC Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMACC Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XCHMAMN Long Signal Checking ... +bool XBTUS5XCHMAMNHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXCHMAMNEnableSignaller || + !xBTUS5MXCHMAMNAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XCHMAMNHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XCHMAMN Short Signal Checking ... +bool XBTUS5XCHMAMNHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXCHMAMNEnableSignaller || + !xBTUS5MXCHMAMNAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XCHMAMNHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMN Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMN Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XCHMAMX Long Signal Checking ... +bool XBTUS5XCHMAMXHasLongSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXCHMAMXEnableSignaller || + !xBTUS5MXCHMAMXAllowLongSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XCHMAMXHasLongConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Long ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Long ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Long ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Long ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Long ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// XCHMAMX Short Signal Checking ... +bool XBTUS5XCHMAMXHasShortSignal() +{ + // + bool result = false; + + // + // Validate Args ... + if (!xBTUS5MXCHMAMXEnableSignaller || + !xBTUS5MXCHMAMXAllowShortSignals) + { + return result; + } + + // + // Retrieve Market Condition ... + XMarketConditions mConditions = xBTUS5Provider.GetLastMarketCondition(); + + // + // Start Analysing Market based On Conditions ... + result = + // + // Base Condition: + xBTUS5Provider.XCHMAMXHasShortConditions() + // + && + // + // Exceptions: + // there some commonly Exceptions which makes our choice incorrect, + // here we are combined knownly Exceptions ... + !( + // + // for Exception we used XLH Conditions as follow ... + // + // Check Conditions if Price In Signal Range ... + (mConditions.isXLHPriceInSignalRange && + // + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Short ... + // PriceInSignalRange ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceInSignalRange ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceInSignalRange ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceInSignalRange ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Under Signal ... + ( + // + ((mConditions.isXLHPriceUnderSignal || + mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Short ... + // PriceUnderSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceUnderSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceUnderSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceUnderSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is Over Signal ... + ( + // + ((mConditions.isXLHPriceOverSignal || + mConditions.isXLHPriceCrossedOverSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Short ... + // PriceOverSignal ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceOverSignal ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceOverSignal ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceOverSignal ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + || + // + // Check Conditions if Price is not has clear state ... + ( + // + ((!mConditions.isXLHPriceOverSignal && + !mConditions.isXLHPriceUnderSignal && + !mConditions.isXLHPriceInSignalRange && + !mConditions.isXLHPriceCrossedOverSignal && + !mConditions.isXLHPriceCrossedUnderSignal) && + ( + // + // Next Step is to Check LL and HH Same Style ... + // + // XCHMAMX Short ... + // PriceFree ... + // Check if Both LL and HH Same In Length ... + ((mConditions.isXLHLLSameInLength && + mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceFree ... + // Check If LL Same In Length ... + ((mConditions.isXLHLLSameInLength && + !mConditions.isXLHHHSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceFree ... + // Check If HH is Same In Length ... + ((mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + || + // + // XCHMAMX Short ... + // PriceFree ... + // Not Same LL or HH in Lenght ... + ((!mConditions.isXLHHHSameInLength && + !mConditions.isXLHLLSameInLength) && + // + ( + false) + // + ) + // + ) + // + ) + // + ) + // + ) + // + ; + + // + return result; +} + +// +// END Signal Providers ... +// diff --git a/Providers/x-saherelm.xbtus5.provider.inputs.lib.mq5 b/Providers/x-saherelm.xbtus5.provider.inputs.lib.mq5 new file mode 100644 index 00000000..b6b8f1a1 --- /dev/null +++ b/Providers/x-saherelm.xbtus5.provider.inputs.lib.mq5 @@ -0,0 +1,283 @@ +/////////////////////////////////////////////////////////////// +// +// SaherElm IT Center MQL5 XBTUS5 Signal Provider Library Inputs +// ----------------------------------------------------------- +// +// Maintainer: +// ------------ +// Hadi Khazaee Asl (hadi_khazaee_asl@yahoo.com) +// +////////////////////////////////////////////////////// +// +// Global Properties ... +#property library +#property copyright "Copyright 2023, SaherElm IT Center" +#property link "https://www.saherelm.ir" +#property version "1.00" +#property strict + +// +// Include Logger ... +#include "../Libraries/x-saherelm.log.lib.mq5" + +// +// Include Classes ... +#include "../Classes/x-saherelm.class.lib.mq5" + +// +input group "XBTUS5 Provider"; + +// +// Commonly Used Configurations ... +input group "XBTUS5 Common"; +// +// Provider ... +input bool xBTUS5EnableProvider = true; // Enable Provider +input int xBTUS5NumberOfItemsPerTick = 30; // Number Of items Readed In Each Tick +// +// Alerts ... +input bool xBTUS5EnableAlerts = true; // Enable Events Alert +input bool xBTUS5EnableHourlyAlerts = false; // Send Alert on each new Hour +input bool xBTUS5EnableDailyAlerts = false; // Send Alert on each new Day +input bool xBTUS5EnableWeeklyAlerts = false; // Send Alert on each new Week +input bool xBTUS5EnableMonthlyAlerts = false; // Send Alert on each new Month +// +// Reports ... +input bool xBTUS5EnableDailyReports = false; // Send Report on each new Day +input bool xBTUS5EnableWeeklyReports = false; // Send Report on each new Week +input bool xBTUS5EnableMonthlyReports = false; // Send Report on each new Month + +// +// Trader and Expert Specific Configurations ... +input group "XBTUS5 Trader"; +input int xBTUS5MagicNumber = 16940563; // Trader MagicNumber +input int xBTUS5Slippage = 10; // Trader Slippage + +// +// Trades Management Configurations ... +input group "XBTUS5 Trade Management"; +input bool xBTUS5AllowLongTrades = true; // Allow Long Trades +input bool xBTUS5AllowShortTrades = true; // Allow Short Trades + +// +// Risk Management Configurations ... +input group "XBTUS5 Risk Management"; +// +// Trade Count ... +input int xBTUS5MaxAllowedTrades = 10; // Max Allowed Trades at Same Time +input ENUM_X_CROSS_SIGNAL_METHOD xBTUS5CrossSignalsMethod = X_CROSS_SIGNAL_REGULAR; // Handle Cross Signals Method +// +// Max Allowed Trade Age ... +input int xBTUS5MaxAllowedTradeAge = 1500; // Detect Long Time Trades +input ENUM_X_GUARD_ACTIONS xBTUS5OldTradesAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // What to do with Old Trades +// +// Trade Volume Specific Configurations ... +input double xBTUS5StaticVolumeFactor = 0.0001; // Static Volume baesd on Balance +input ENUM_STATIC_VOLUME_METHODS xBTUS5StaticVolumeMethod = X_STATIC_VOLUME_BASED_ON_BALANCE; // How to Calculate Static Volume +input double xBTUS5VolumeMultiplier = 0; // Volume Increase Multiplier +input double xBTUS5ApplyVolumeMultiplierFactor = 0; // Apply Volume Multiplier Rate based on Balance +input double xBTUS5MaxSupportedVolumePerTradeFactor = 0; // Max Supported Volume Per Trade Factor based on Balance +input double xBTUS5IncreasedMaxSupportedVolumeRate = 0; // Increase Max Supported Volume based on Balance +// +// Trade Profits ... +input double xBTUS5MinRewardInPips = 60; // Minimum Reward Per Trade in Pips +input double xBTUS5RiskFreeStepInPips = 0; // Make Trades Risk Free Steps in Pips +input double xBTUS5RiskFreeRate = 0; // Volume Multiplier for Risk Free Trades +// +// Guard Riskable Money and Profits ... +input double xBTUS5CriticalDrawDownFactor = 0.30; // Critical Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xBTUS5CriticalGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_1; // Specify Guard Action on Critical Drawdown +input double xBTUS5MaxAllowedDrawDownFactor = 0.40; // Max Allowed Drawdown Factor based on Balance +input ENUM_X_GUARD_ACTIONS xBTUS5MaxAllowedGuardAction = X_GUARD_PARTIAL_CLOSE_MAX_IN_DD_5; // Specify Guard Action on Max Allowed Drawdown +input int xBTUS5GuardStopoutFiredAfterTouches = 5; // Guard Stopout all Trades if Max Allowed Drawdown touched + +// +// Account Conditions for Trading ... +input double xBTUS5BalanceFactorForOpenTrades = 0.5; // Minimum Balance for Open Trades +input double xBTUS5FreeMarginFactorForOpenTrades = 0.8; // Minimum Free Margin for Open Trades + +// +// May be Used Later as Input Params ... +bool xBTUS5UseVirtualTPSl = false; // Use Virtual TP SL +bool xBTUS5EnableSignalAlerts = false; // Send Signal Alert + +// +// Validate Inputs before Initialization ... +bool XBTUS5ValidateInputs() +{ + // + bool result = false; + + // + // Implement Other Verifications ... + + // + // Check Trading Availability ... + bool isTradeAvailable = xBTUS5AllowLongTrades || xBTUS5AllowShortTrades; + if (!isTradeAvailable) + { + LogMessage("XBTUS5 => Warning: Trading disabled ..."); + } + + // + // Chekc Number of reading items per tick ... + result = xBTUS5NumberOfItemsPerTick >= 5; + if (!result) + { + // + LogMessage("XBTUS5 invalid Number of items Reading Per Tick ..."); + + // + return result; + } + + // + // Check Max Allowed Trades Count ... + result = isTradeAvailable && xBTUS5MaxAllowedTrades >= 1; + if (!result) + { + // + LogMessage("XBTUS5 Number of Trades not valid ..."); + + // + return result; + } + + // + // Check Free Margin ... + result = + isTradeAvailable && + xBTUS5FreeMarginFactorForOpenTrades > 0 && + xBTUS5FreeMarginFactorForOpenTrades < 1; + if (!result) + { + // + LogMessage("XBTUS5 Invalid Free Margin ..."); + + // + return result; + } + + // + // Check min Balance for Open Trades ... + result = + isTradeAvailable && + xBTUS5BalanceFactorForOpenTrades > 0 && + xBTUS5BalanceFactorForOpenTrades < 1; + if (!result) + { + // + LogMessage("XBTUS5 Invalid Min Balance for Open Trades ..."); + + // + return result; + } + + // + // Check Min Reward Per Trade ... + result = xBTUS5MinRewardInPips > 0; + if (!result) + { + // + LogMessage("XBTUS5 Invalid Min Reward Per Trade ..."); + + // + return result; + } + + // + // Check Trades Volume ... + result = xBTUS5StaticVolumeFactor > 0; + if (!result) + { + // + LogMessage("XBTUS5 Invalid Static Volume ..."); + + // + return result; + } + + // + // Check Volume Multiplier ... + result = xBTUS5VolumeMultiplier >= 0; + if (!result) + { + // + LogMessage("XBTUS5 Invalid Volume Multiplier ..."); + + // + return result; + } + + // + result = + xBTUS5CriticalDrawDownFactor == 0 || (xBTUS5CriticalDrawDownFactor > 0 && + xBTUS5CriticalDrawDownFactor < 1); + if (!result) + { + // + LogMessage("XBTUS5 Invalid Critical DrawDown Factor ..."); + + // + return result; + } + + // + result = + xBTUS5MaxAllowedDrawDownFactor == 0 || (xBTUS5MaxAllowedDrawDownFactor > 0 && + xBTUS5MaxAllowedDrawDownFactor < 1); + if (!result) + { + // + LogMessage("XBTUS5 Invalid Max Allowed DrawDown Factor ..."); + + // + return result; + } + + // + // Check Guard Actions ... + // + result = + xBTUS5CriticalDrawDownFactor > 0 && + xBTUS5CriticalDrawDownFactor < 1 && + xBTUS5MaxAllowedDrawDownFactor > 0 && + xBTUS5MaxAllowedDrawDownFactor < 1; + if (!result) + { + // + LogMessage("XBTUS5 For Critical Drawdown, you have to Specify Max Drawdown also ..."); + + // + return result; + } + + // + result = xBTUS5CriticalDrawDownFactor > 0 && xBTUS5CriticalDrawDownFactor < xBTUS5MaxAllowedDrawDownFactor; + if (!result) + { + // + LogMessage("XBTUS5 Critical Drawdown must Smaller than Max Drawdown ..."); + + // + return result; + } + + // + if (xBTUS5CriticalDrawDownFactor > 0 && xBTUS5CriticalGuardAction == X_GUARD_DO_NOTHING) + { + LogMessage("XBTUS5 IMPORTANT you Specified Critical Drawdown, but there is no any Guard Action ..."); + } + + // + if (xBTUS5MaxAllowedDrawDownFactor > 0 && xBTUS5MaxAllowedGuardAction == X_GUARD_DO_NOTHING) + { + LogMessage("XBTUS5 IMPORTANT you Specified Max Allowed Drawdown, but there is no any Guard Action ..."); + } + + // + result = true; + + // + return result; +} \ No newline at end of file diff --git a/BKP/Main/Providers/x-saherelm.xuspy5.provider.lib.mq5 b/Providers/x-saherelm.xbtus5.provider.lib.mq5 similarity index 62% rename from BKP/Main/Providers/x-saherelm.xuspy5.provider.lib.mq5 rename to Providers/x-saherelm.xbtus5.provider.lib.mq5 index 797bf5d2..f1d90450 100644 --- a/BKP/Main/Providers/x-saherelm.xuspy5.provider.lib.mq5 +++ b/Providers/x-saherelm.xbtus5.provider.lib.mq5 @@ -1,9 +1,9 @@ //////////////////////////////////////////////////////////// // -// SaherElm IT Center MQL5 XUSPY5 Signal Provider Library +// SaherElm IT Center MQL5 XBTUS5 Signal Provider Library // -------------------------------------------------------- -// Name: XUSPY5SignalProvider -// Description: XUSPY5 based signal provider ... +// Name: XBTUS5SignalProvider +// Description: XBTUS5 based signal provider ... // // // Maintainer: @@ -19,13 +19,13 @@ #property version "1.00" #property strict -#define XUSPY5ProviderName "XUSPY5" +#define XBTUS5ProviderName "XBTUS5" // // START Inputs ... // -#include "x-saherelm.xuspy5.provider.inputs.lib.mq5"; +#include "x-saherelm.xbtus5.provider.inputs.lib.mq5"; // // END Inputs ... @@ -56,42 +56,42 @@ // // -XCGuard *xUSPY5Guard; -XCTrade *xUSPY5Trader; -XCReporter *xUSPY5Reporter; -XCCollector *xUSPY5Collector; -XCAccountInfo *xUSPY5AccountInfo; -XCVolumeManager *xUSPY5VolumeManager; +XCGuard *xBTUS5Guard; +XCTrade *xBTUS5Trader; +XCReporter *xBTUS5Reporter; +XCCollector *xBTUS5Collector; +XCAccountInfo *xBTUS5AccountInfo; +XCVolumeManager *xBTUS5VolumeManager; // -#include "x-saherelm.xuspy5.provider.indicators.lib.mq5" +#include "x-saherelm.xbtus5.provider.indicators.lib.mq5" // // Controlling Variables ... -bool xUSPY5MEnableProvider = false; -bool xUSPY5MAllowLongTrades = false; -bool xUSPY5MAllowShortTrades = false; +bool xBTUS5MEnableProvider = false; +bool xBTUS5MAllowLongTrades = false; +bool xBTUS5MAllowShortTrades = false; // -double xUSPY5Deposit = 0; -double xUSPY5Balance = 0; -double xUSPY5MinReward = 0; -double xUSPY5FreeMargin = 0; -double xUSPY5BalanceForOpenTrades = 0; -double xUSPY5FreeMarginForOpenTrades = 0; +double xBTUS5Deposit = 0; +double xBTUS5Balance = 0; +double xBTUS5MinReward = 0; +double xBTUS5FreeMargin = 0; +double xBTUS5BalanceForOpenTrades = 0; +double xBTUS5FreeMarginForOpenTrades = 0; // // Guard ... -double xUSPY5CriticalDrawDown = 0; -double xUSPY5MaxAllowedDrawDown = 0; +double xBTUS5CriticalDrawDown = 0; +double xBTUS5MaxAllowedDrawDown = 0; // -double xUSPY5MaxDrawUp = 0; -double xUSPY5MaxDrawDown = 0; +double xBTUS5MaxDrawUp = 0; +double xBTUS5MaxDrawDown = 0; // int NOT_ENOUGH_MONEY_ERROR = 4756; -const string XUSPY5_SUPPORT_ID = "SP"; +const string XBTUS5_SUPPORT_ID = "SP"; // // END Global Definitions: Variables, Properties and etc ... @@ -103,26 +103,26 @@ const string XUSPY5_SUPPORT_ID = "SP"; // // Initial Library if required ... -bool XUSPY5InitSignalProviderLibrary() +bool XBTUS5InitSignalProviderLibrary() { // bool result = false; // - if (!xUSPY5EnableProvider) + if (!xBTUS5EnableProvider) { return result; } // // Controlling Variables ... - xUSPY5MEnableProvider = xUSPY5EnableProvider; - xUSPY5MAllowLongTrades = xUSPY5AllowLongTrades; - xUSPY5MAllowShortTrades = xUSPY5AllowShortTrades; + xBTUS5MEnableProvider = xBTUS5EnableProvider; + xBTUS5MAllowLongTrades = xBTUS5AllowLongTrades; + xBTUS5MAllowShortTrades = xBTUS5AllowShortTrades; // // Validate Inputs ... - result = XUSPY5ValidateInputs(); + result = XBTUS5ValidateInputs(); if (!result) { return result; @@ -130,113 +130,113 @@ bool XUSPY5InitSignalProviderLibrary() // // Init Indicators ... - result = XUSPY5InitIndicators(); + result = XBTUS5InitIndicators(); if (!result) { return result; } // - xUSPY5Reporter = new XCReporter(); - xUSPY5Collector = new XCCollector(); - xUSPY5AccountInfo = new XCAccountInfo(); + xBTUS5Reporter = new XCReporter(); + xBTUS5Collector = new XCCollector(); + xBTUS5AccountInfo = new XCAccountInfo(); // // Calculate Account Deposit ... - xUSPY5Deposit = xUSPY5AccountInfo.GetInitialBalance(); + xBTUS5Deposit = xBTUS5AccountInfo.GetInitialBalance(); // // Prepare Min Reward ... - if (xUSPY5MinRewardInPips > 0) + if (xBTUS5MinRewardInPips > 0) { - xUSPY5MinReward = PipsToPrice(xUSPY5MinRewardInPips); + xBTUS5MinReward = PipsToPrice(xBTUS5MinRewardInPips); } // // Calculate Min Balance for Trades ... - if (xUSPY5BalanceFactorForOpenTrades > 0) + if (xBTUS5BalanceFactorForOpenTrades > 0) { - xUSPY5BalanceForOpenTrades = xUSPY5BalanceFactorForOpenTrades * xUSPY5Deposit; + xBTUS5BalanceForOpenTrades = xBTUS5BalanceFactorForOpenTrades * xBTUS5Deposit; } // // Claculate Min Free Marging for Trades ... - if (xUSPY5FreeMarginFactorForOpenTrades > 0) + if (xBTUS5FreeMarginFactorForOpenTrades > 0) { - xUSPY5FreeMarginForOpenTrades = xUSPY5FreeMarginFactorForOpenTrades * xUSPY5Deposit; + xBTUS5FreeMarginForOpenTrades = xBTUS5FreeMarginFactorForOpenTrades * xBTUS5Deposit; } // // Calculate Init Time Critical DrawDown Value ... - if (xUSPY5CriticalDrawDownFactor > 0) + if (xBTUS5CriticalDrawDownFactor > 0) { - xUSPY5CriticalDrawDown = xUSPY5CriticalDrawDownFactor * xUSPY5Deposit; + xBTUS5CriticalDrawDown = xBTUS5CriticalDrawDownFactor * xBTUS5Deposit; } // // Calculate Init Time Max Allowed DrawDown Value ... - if (xUSPY5MaxAllowedDrawDownFactor > 0) + if (xBTUS5MaxAllowedDrawDownFactor > 0) { - xUSPY5MaxAllowedDrawDown = xUSPY5MaxAllowedDrawDownFactor * xUSPY5Deposit; + xBTUS5MaxAllowedDrawDown = xBTUS5MaxAllowedDrawDownFactor * xBTUS5Deposit; } // // Instant Volume Manager ... - xUSPY5VolumeManager = new XCVolumeManager( - xUSPY5StaticVolumeFactor, - xUSPY5StaticVolumeMethod, - xUSPY5VolumeMultiplier, - xUSPY5ApplyVolumeMultiplierFactor, - xUSPY5MaxSupportedVolumePerTradeFactor, - xUSPY5IncreasedMaxSupportedVolumeRate); + xBTUS5VolumeManager = new XCVolumeManager( + xBTUS5StaticVolumeFactor, + xBTUS5StaticVolumeMethod, + xBTUS5VolumeMultiplier, + xBTUS5ApplyVolumeMultiplierFactor, + xBTUS5MaxSupportedVolumePerTradeFactor, + xBTUS5IncreasedMaxSupportedVolumeRate); // // Make XCTrader instance ... - xUSPY5Trader = new XCTrade( - XUSPY5ProviderName, + xBTUS5Trader = new XCTrade( + XBTUS5ProviderName, _Symbol, - xUSPY5Slippage, - xUSPY5MagicNumber, - xUSPY5UseVirtualTPSl, - xUSPY5MaxAllowedTrades, - xUSPY5FreeMarginForOpenTrades, - xUSPY5BalanceForOpenTrades); + xBTUS5Slippage, + xBTUS5MagicNumber, + xBTUS5UseVirtualTPSl, + xBTUS5MaxAllowedTrades, + xBTUS5FreeMarginForOpenTrades, + xBTUS5BalanceForOpenTrades); // // Instantiate Account Guard ... - xUSPY5Guard = new XCGuard( + xBTUS5Guard = new XCGuard( // // Old Trades ... - xUSPY5MaxAllowedTradeAge, - xUSPY5OldTradesAction, + xBTUS5MaxAllowedTradeAge, + xBTUS5OldTradesAction, // // Critical DrawDown ... - xUSPY5CriticalDrawDownFactor, - xUSPY5CriticalGuardAction, + xBTUS5CriticalDrawDownFactor, + xBTUS5CriticalGuardAction, // // Max Allowed DrawDown ... - xUSPY5MaxAllowedDrawDownFactor, - xUSPY5MaxAllowedGuardAction, - xUSPY5GuardStopoutFiredAfterTouches, + xBTUS5MaxAllowedDrawDownFactor, + xBTUS5MaxAllowedGuardAction, + xBTUS5GuardStopoutFiredAfterTouches, // - // xUSPY5GuardSupportMethod + // xBTUS5GuardSupportMethod X_SUPPORT_DO_NOTHING // ); // // Reset Calculations Buffers and Variables ... - XUSPY5ResetCollectors(); + XBTUS5ResetCollectors(); // - XUSPY5UpdateReports(); + XBTUS5UpdateReports(); // result = true; // // Logging State ... - XUSPY5IssueInitializationSucceedAlert(); + XBTUS5IssueInitializationSucceedAlert(); // return result; @@ -244,65 +244,65 @@ bool XUSPY5InitSignalProviderLibrary() // // DeInitial Library if required ... -void XUSPY5DeinitSignalProviderLibrary(const int reason) +void XBTUS5DeinitSignalProviderLibrary(const int reason) { // // Release Handlers ... - XUSPY5ReleaseIndicators(); + XBTUS5ReleaseIndicators(); // // Logging State ... - XUSPY5IssueDeinitializationSucceedAlert(); + XBTUS5IssueDeinitializationSucceedAlert(); } // // this is a Globally Function which do all of // checkings and positions handling ... -void XUSPY5SignalProviderHandleTick() +void XBTUS5SignalProviderHandleTick() { // // Check Provider is Enable or Not ... - if (!xUSPY5MEnableProvider) + if (!xBTUS5MEnableProvider) { return; } // - XUSPY5SignalProviderDoControlState(); + XBTUS5SignalProviderDoControlState(); // // Reading Indicator Buffers ... - XUSPY5HandleReadingBuffers(); - if (xUSPY5CalculatedBars < xUSPY5MaxLengthOfInputs) + XBTUS5HandleReadingBuffers(); + if (xBTUS5CalculatedBars < xBTUS5MaxLengthOfInputs) { return; } // // Handle Open Trades ... - XUSPY5HandleOpenTrades(); + XBTUS5HandleOpenTrades(); // // Handle Close Trades ... - XUSPY5HandleCloseTrades(); + XBTUS5HandleCloseTrades(); // // DrawDown and DrawUp ... - XUSPY5HandleCalculateDrawDownUp(); + XBTUS5HandleCalculateDrawDownUp(); } // // Do Control Checks here ... -void XUSPY5SignalProviderDoControlState() +void XBTUS5SignalProviderDoControlState() { // // Update account Balance ... - xUSPY5Balance = xUSPY5AccountInfo.GetBalance(); - xUSPY5FreeMargin = xUSPY5AccountInfo.GetFreeMargin(); + xBTUS5Balance = xBTUS5AccountInfo.GetBalance(); + xBTUS5FreeMargin = xBTUS5AccountInfo.GetFreeMargin(); // // Check Provider is Enable or Not ... - if (!xUSPY5MEnableProvider) + if (!xBTUS5MEnableProvider) { return; } @@ -312,10 +312,10 @@ void XUSPY5SignalProviderDoControlState() // TODO: add Guard Result here ... string guardMessage = ""; XGuardHandlerResult guardHandlerResult; - bool isGuarded = xUSPY5Guard.Guard( + bool isGuarded = xBTUS5Guard.Guard( guardHandlerResult, guardMessage, - xUSPY5Trader, + xBTUS5Trader, _Period); if (isGuarded) { @@ -331,7 +331,7 @@ void XUSPY5SignalProviderDoControlState() XSignal iSignal = guardHandlerResult.criticals[i]; // - XUSPY5OnGuard( + XBTUS5OnGuard( iSignal, X_GUARDED_CRITICAL, guardMessage); @@ -350,7 +350,7 @@ void XUSPY5SignalProviderDoControlState() XSignal iSignal = guardHandlerResult.maxes[i]; // - XUSPY5OnGuard( + XBTUS5OnGuard( iSignal, X_GUARDED_MAX, guardMessage, @@ -370,7 +370,7 @@ void XUSPY5SignalProviderDoControlState() XSignal iSignal = guardHandlerResult.olds[i]; // - XUSPY5OnGuard( + XBTUS5OnGuard( iSignal, X_GUARDED_OLD, guardMessage); @@ -381,9 +381,9 @@ void XUSPY5SignalProviderDoControlState() // // Signal Protection ... XSignal protectSupports[]; - bool isSupported = xUSPY5Guard.ProtectSignals( + bool isSupported = xBTUS5Guard.ProtectSignals( protectSupports, - xUSPY5Trader); + xBTUS5Trader); if (isSupported) { // @@ -393,7 +393,7 @@ void XUSPY5SignalProviderDoControlState() // // Handling Signals ... XTraderHandlerResult signalHandlerResult; - xUSPY5Trader.HandleSignals( + xBTUS5Trader.HandleSignals( signalHandlerResult, false // Ignore Risk Free Trdaes ); @@ -408,7 +408,7 @@ void XUSPY5SignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.sl[i]; - XUSPY5OnSL(iSignal); + XBTUS5OnSL(iSignal); } } @@ -422,7 +422,7 @@ void XUSPY5SignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.tp[i]; - XUSPY5OnTP(iSignal); + XBTUS5OnTP(iSignal); } } @@ -436,18 +436,18 @@ void XUSPY5SignalProviderDoControlState() { // XSignal iSignal = signalHandlerResult.rf[i]; - XUSPY5OnRF(iSignal); + XBTUS5OnRF(iSignal); } } } // // Handle Trades when OnTrade Event Hnadler Calls ... -void XUSPY5SignalProviderHandleTrade() +void XBTUS5SignalProviderHandleTrade() { // // Check Provider Enabled ... - if (!xUSPY5MEnableProvider) + if (!xBTUS5MEnableProvider) { return; } @@ -455,7 +455,7 @@ void XUSPY5SignalProviderHandleTrade() // // Handle OnTrade Event ... XOnTradeHandlerResult result = {}; - xUSPY5Trader.HandleOnTradeEvent( + xBTUS5Trader.HandleOnTradeEvent( result); // @@ -463,27 +463,27 @@ void XUSPY5SignalProviderHandleTrade() if (result.hasNewDeal) { // - XDeal last = xUSPY5Trader.GetLastDeal(); + XDeal last = xBTUS5Trader.GetLastDeal(); // if (last.reason == DEAL_REASON_SL) { - xUSPY5Reporter.AddTradeSLInReports(); + xBTUS5Reporter.AddTradeSLInReports(); } else if (last.reason == DEAL_REASON_TP) { - xUSPY5Reporter.AddTradeTPInReports(); + xBTUS5Reporter.AddTradeTPInReports(); } } } // // Handle Open Trades ... -void XUSPY5HandleOpenTrades() +void XBTUS5HandleOpenTrades() { // // Check Can Trade ... - bool canTrade = xUSPY5MAllowLongTrades || xUSPY5MAllowShortTrades; + bool canTrade = xBTUS5MAllowLongTrades || xBTUS5MAllowShortTrades; if (!canTrade) { return; @@ -491,8 +491,8 @@ void XUSPY5HandleOpenTrades() // // Check Max Open Trades ... - int openSignals = xUSPY5Trader.Count(); - bool canOpenPositions = openSignals < xUSPY5MaxAllowedTrades; + int openSignals = xBTUS5Trader.Count(); + bool canOpenPositions = openSignals < xBTUS5MaxAllowedTrades; if (!canOpenPositions) { return; @@ -502,8 +502,8 @@ void XUSPY5HandleOpenTrades() // Check Signals Exists ... XProvidedSignal longSignalInfo; XProvidedSignal shortSignalInfo; - bool hasLongSignal = XUSPY5CanOpenLongTrade(longSignalInfo); - bool hasShortSignal = XUSPY5CanOpenShortTrade(shortSignalInfo); + bool hasLongSignal = XBTUS5CanOpenLongTrade(longSignalInfo); + bool hasShortSignal = XBTUS5CanOpenShortTrade(shortSignalInfo); if (!hasLongSignal && !hasShortSignal) { return; @@ -511,20 +511,20 @@ void XUSPY5HandleOpenTrades() // // Update Reports ... - XUSPY5UpdateReports(); + XBTUS5UpdateReports(); // - xUSPY5WaitUntilNextCandle = true; + xBTUS5WaitUntilNextCandle = true; // // Open Long Trades ... if ( // hasLongSignal && - xUSPY5MAllowLongTrades) + xBTUS5MAllowLongTrades) { // - bool isOpened = XUSPY5OpenLongPosition(longSignalInfo); + bool isOpened = XBTUS5OpenLongPosition(longSignalInfo); } // @@ -532,29 +532,29 @@ void XUSPY5HandleOpenTrades() if ( // hasShortSignal && - xUSPY5MAllowShortTrades) + xBTUS5MAllowShortTrades) { // - bool isOpened = XUSPY5OpenShortPosition(shortSignalInfo); + bool isOpened = XBTUS5OpenShortPosition(shortSignalInfo); } } // // Handle Close Trades ... -void XUSPY5HandleCloseTrades() +void XBTUS5HandleCloseTrades() { // // Force Close Long Trades ... bool isClosedLongTrades = false; - bool canCloseLongTrades = XUSPY5CanCloseLongTrade(); - if (xUSPY5MAllowLongTrades && canCloseLongTrades) + bool canCloseLongTrades = XBTUS5CanCloseLongTrade(); + if (xBTUS5MAllowLongTrades && canCloseLongTrades) { // ENUM_X_SIGNAL_TYPE type = X_SIGNAL_LONG; // XSignal closed[]; - xUSPY5Trader.CloseSignals( + xBTUS5Trader.CloseSignals( closed, type); @@ -568,7 +568,7 @@ void XUSPY5HandleCloseTrades() { // XSignal iSignal = closed[i]; - XUSPY5OnFC(iSignal); + XBTUS5OnFC(iSignal); } } } @@ -576,15 +576,15 @@ void XUSPY5HandleCloseTrades() // // Force Close Short Trades ... bool isClosedShortTrades = false; - bool canCloseShortTrades = XUSPY5CanCloseShortTrade(); - if (xUSPY5MAllowShortTrades && canCloseShortTrades) + bool canCloseShortTrades = XBTUS5CanCloseShortTrade(); + if (xBTUS5MAllowShortTrades && canCloseShortTrades) { // ENUM_X_SIGNAL_TYPE type = X_SIGNAL_SHORT; // XSignal closed[]; - xUSPY5Trader.CloseSignals( + xBTUS5Trader.CloseSignals( closed, type); @@ -598,7 +598,7 @@ void XUSPY5HandleCloseTrades() { // XSignal iSignal = closed[i]; - XUSPY5OnFC(iSignal); + XBTUS5OnFC(iSignal); } } } @@ -606,7 +606,7 @@ void XUSPY5HandleCloseTrades() // // Open Long Position ... -bool XUSPY5OpenLongPosition( +bool XBTUS5OpenLongPosition( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -619,14 +619,14 @@ bool XUSPY5OpenLongPosition( double sl = info.sl > 0 ? info.sl : 0; // entry - (200 * _Point); // info.sl > 0 ? info.sl : 0; - double tp = info.tp > 0 ? info.tp : entry + xUSPY5MinReward; - double riskFreeRate = xUSPY5RiskFreeRate; - double riskFreeStep = xUSPY5RiskFreeStepInPips; - double volume = XUSPY5CalculateVolume(ArraySize(info.signallers)); + double tp = info.tp > 0 ? info.tp : entry + xBTUS5MinReward; + double riskFreeRate = xBTUS5RiskFreeRate; + double riskFreeStep = xBTUS5RiskFreeStepInPips; + double volume = XBTUS5CalculateVolume(ArraySize(info.signallers)); // XSignal signal = {}; - signal = xUSPY5Trader.GenerateSignal( + signal = xBTUS5Trader.GenerateSignal( X_SIGNAL_LONG, tp, sl, @@ -635,20 +635,20 @@ bool XUSPY5OpenLongPosition( riskFreeRate); bool isValidSignal = IsValid( signal, - xUSPY5MagicNumber); + xBTUS5MagicNumber); if (!isValidSignal) { return result; } // - int signalsCount = xUSPY5Trader.Count(); + int signalsCount = xBTUS5Trader.Count(); bool isCross = signalsCount >= 1; if (isCross) { // // Handle Cross Signals ... - XUSPY5HnadleCrossSignal(signal); + XBTUS5HnadleCrossSignal(signal); } // @@ -661,7 +661,7 @@ bool XUSPY5OpenLongPosition( ( // isCross && - xUSPY5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING + xBTUS5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING // ); if (!canExecuteSignal) @@ -671,7 +671,7 @@ bool XUSPY5OpenLongPosition( // // Execute Signal ... - ENUM_EXECUTION_SIGNAL_RESULT executionResult = xUSPY5Trader.ExecuteSignal( + ENUM_EXECUTION_SIGNAL_RESULT executionResult = xBTUS5Trader.ExecuteSignal( signal, false, // Ignore Number of Trades ... true // Check Account Conditions ... @@ -688,16 +688,16 @@ bool XUSPY5OpenLongPosition( ); // - XSignal tSignal = xUSPY5Trader.GetSignal(signal.ticket); + XSignal tSignal = xBTUS5Trader.GetSignal(signal.ticket); // - XUSPY5OnSignal( + XBTUS5OnSignal( tSignal, providers); } else { - XUSPY5IssueSignalExecutionError(executionResult); + XBTUS5IssueSignalExecutionError(executionResult); } // @@ -706,7 +706,7 @@ bool XUSPY5OpenLongPosition( // // Open Short Position ... -bool XUSPY5OpenShortPosition( +bool XBTUS5OpenShortPosition( XProvidedSignal &info // Retrieve Signal Additional Info on this Object ) { @@ -719,14 +719,14 @@ bool XUSPY5OpenShortPosition( double sl = info.sl > 0 ? info.sl : 0; // entry + (200 * _Point); // info.sl > 0 ? info.sl : 0; - double tp = info.tp > 0 ? info.tp : entry - xUSPY5MinReward; - double riskFreeRate = xUSPY5RiskFreeRate; - double riskFreeStep = xUSPY5RiskFreeStepInPips; - double volume = XUSPY5CalculateVolume(ArraySize(info.signallers)); + double tp = info.tp > 0 ? info.tp : entry - xBTUS5MinReward; + double riskFreeRate = xBTUS5RiskFreeRate; + double riskFreeStep = xBTUS5RiskFreeStepInPips; + double volume = XBTUS5CalculateVolume(ArraySize(info.signallers)); // XSignal signal = {}; - signal = xUSPY5Trader.GenerateSignal( + signal = xBTUS5Trader.GenerateSignal( X_SIGNAL_SHORT, tp, sl, @@ -735,20 +735,20 @@ bool XUSPY5OpenShortPosition( riskFreeRate); bool isValidSignal = IsValid( signal, - xUSPY5MagicNumber); + xBTUS5MagicNumber); if (!isValidSignal) { return result; } // - int signalsCount = xUSPY5Trader.Count(); + int signalsCount = xBTUS5Trader.Count(); bool isCross = signalsCount >= 1; if (isCross) { // // Handle Cross Signals ... - XUSPY5HnadleCrossSignal(signal); + XBTUS5HnadleCrossSignal(signal); } // @@ -761,7 +761,7 @@ bool XUSPY5OpenShortPosition( ( // isCross && - xUSPY5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING + xBTUS5CrossSignalsMethod != X_CROSS_SIGNAL_DO_NOTHING // ); if (!canExecuteSignal) @@ -771,7 +771,7 @@ bool XUSPY5OpenShortPosition( // // Execute Signal ... - ENUM_EXECUTION_SIGNAL_RESULT executionResult = xUSPY5Trader.ExecuteSignal( + ENUM_EXECUTION_SIGNAL_RESULT executionResult = xBTUS5Trader.ExecuteSignal( signal, false, // Ignore Number of Trades ... true // Check Account Conditions ... @@ -786,16 +786,16 @@ bool XUSPY5OpenShortPosition( ); // - XSignal tSignal = xUSPY5Trader.GetSignal(signal.ticket); + XSignal tSignal = xBTUS5Trader.GetSignal(signal.ticket); // - XUSPY5OnSignal( + XBTUS5OnSignal( tSignal, providers); } else { - XUSPY5IssueSignalExecutionError(executionResult); + XBTUS5IssueSignalExecutionError(executionResult); } // @@ -804,20 +804,20 @@ bool XUSPY5OpenShortPosition( // // Apply Cross Signal Actions ... -void XUSPY5HnadleCrossSignal( +void XBTUS5HnadleCrossSignal( XSignal &signal // Specified Signal ... ) { // // Check Cross Signal Handling Enabled ... - if (xUSPY5CrossSignalsMethod == X_CROSS_SIGNAL_DO_NOTHING) + if (xBTUS5CrossSignalsMethod == X_CROSS_SIGNAL_DO_NOTHING) { return; } // // First We have to Change Cross Signals Comment ... - string comment = xUSPY5Trader.GenerateSignalComment( + string comment = xBTUS5Trader.GenerateSignalComment( signal, true); @@ -826,21 +826,21 @@ void XUSPY5HnadleCrossSignal( // // If Every thing is Regular, prevent any changes here ... - if (xUSPY5CrossSignalsMethod == X_CROSS_SIGNAL_REGULAR) + if (xBTUS5CrossSignalsMethod == X_CROSS_SIGNAL_REGULAR) { return; } // // Retrieve Max in Drawdown Signal ... - XSignal maxInDDSignal = xUSPY5Trader.GetMaxInDrawdownSignal(); + XSignal maxInDDSignal = xBTUS5Trader.GetMaxInDrawdownSignal(); // // Validate Signal ... bool isValidSignal = maxInDDSignal.ticket > 0 && maxInDDSignal.symbol == signal.symbol && - IsValid(maxInDDSignal, xUSPY5MagicNumber); + IsValid(maxInDDSignal, xBTUS5MagicNumber); if (!isValidSignal) { return; @@ -856,14 +856,14 @@ void XUSPY5HnadleCrossSignal( isDirectional ? ( // - xUSPY5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR || - xUSPY5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR_INDIRECTION_IMPORTANT + xBTUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR || + xBTUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_REGULAR_INDIRECTION_IMPORTANT // ) : ( // - xUSPY5CrossSignalsMethod == X_CROSS_SIGNAL_INDIRECTION_REGULAR || - xUSPY5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_IMPORTANT_INDIRECTION_REGULAR + xBTUS5CrossSignalsMethod == X_CROSS_SIGNAL_INDIRECTION_REGULAR || + xBTUS5CrossSignalsMethod == X_CROSS_SIGNAL_DIRECTION_IMPORTANT_INDIRECTION_REGULAR // ); if (isRegular) @@ -882,11 +882,11 @@ void XUSPY5HnadleCrossSignal( // // Calculate Usefull data ... -void XUSPY5HandleCalculateDrawDownUp() +void XBTUS5HandleCalculateDrawDownUp() { // XSignal signals[]; - xUSPY5Trader.GetSignals(signals); + xBTUS5Trader.GetSignals(signals); int signalsCount = ArraySize(signals); if (signalsCount <= 0) { @@ -897,7 +897,7 @@ void XUSPY5HandleCalculateDrawDownUp() double profit = 0; double volume = 0; XCollector collector = {}; - double maxAllowedVolume = xUSPY5VolumeManager.GetMaxAllowedVolume(); + double maxAllowedVolume = xBTUS5VolumeManager.GetMaxAllowedVolume(); for (int i = 0; i < signalsCount; i++) { // @@ -918,11 +918,11 @@ void XUSPY5HandleCalculateDrawDownUp() if (profit < 0) { // - xUSPY5MaxDrawDown = - xUSPY5MaxDrawDown == 0 || - xUSPY5MaxDrawDown > MathAbs(profit) + xBTUS5MaxDrawDown = + xBTUS5MaxDrawDown == 0 || + xBTUS5MaxDrawDown > MathAbs(profit) ? MathAbs(profit) - : xUSPY5MaxDrawDown; + : xBTUS5MaxDrawDown; // // Update Buffers ... @@ -933,29 +933,29 @@ void XUSPY5HandleCalculateDrawDownUp() // collector.time = time; collector.volume = volume; - collector.maxDrawDown = xUSPY5MaxDrawDown; + collector.maxDrawDown = xBTUS5MaxDrawDown; collector.maxAllowedVolume = maxAllowedVolume; - collector.minBalanceForOpenTrade = xUSPY5Trader.GetMinBalanceForOpenTrades(); + collector.minBalanceForOpenTrade = xBTUS5Trader.GetMinBalanceForOpenTrades(); } else { // - xUSPY5MaxDrawUp = - xUSPY5MaxDrawUp == 0 || - xUSPY5MaxDrawUp < profit + xBTUS5MaxDrawUp = + xBTUS5MaxDrawUp == 0 || + xBTUS5MaxDrawUp < profit ? profit - : xUSPY5MaxDrawUp; + : xBTUS5MaxDrawUp; } // // Update Collector ... - xUSPY5Collector.Add(collector); + xBTUS5Collector.Add(collector); // // Update Reports ... - xUSPY5Reporter.UpdateMaxDrawUpInReports(xUSPY5MaxDrawUp); - xUSPY5Reporter.UpdateMaxDrawDownInReports(xUSPY5MaxDrawDown); - xUSPY5Reporter.UpdateMaxSameTimeTradesInReports(signalsCount); + xBTUS5Reporter.UpdateMaxDrawUpInReports(xBTUS5MaxDrawUp); + xBTUS5Reporter.UpdateMaxDrawDownInReports(xBTUS5MaxDrawDown); + xBTUS5Reporter.UpdateMaxSameTimeTradesInReports(signalsCount); } // @@ -964,116 +964,116 @@ void XUSPY5HandleCalculateDrawDownUp() // // Runs When a Signal Successfully Executed ... -void XUSPY5OnSignal( +void XBTUS5OnSignal( XSignal &signal, // Specified Signal string &providers[] // Signal Providers ) { // // Issue Propper Alert ... - XUSPY5IssueSignalExecutionAlert( + XBTUS5IssueSignalExecutionAlert( signal, providers); // // Add Signal To Supports on Guard ... - xUSPY5Guard.AddSupport(signal); + xBTUS5Guard.AddSupport(signal); // // Update Reports ... - xUSPY5Reporter.AddSignalToReports( + xBTUS5Reporter.AddSignalToReports( signal, providers); } // // Runs when a Position Got Take Profit ... -void XUSPY5OnTP( +void XBTUS5OnTP( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XUSPY5IssueTPAlert(signal); + XBTUS5IssueTPAlert(signal); // // Remove Signal From Guard Protector ... - xUSPY5Guard.Remove(signal.ticket); - xUSPY5Guard.RemoveSupport(signal.ticket); + xBTUS5Guard.Remove(signal.ticket); + xBTUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xUSPY5Reporter.AddTradeTPInReports(); - XUSPY5UpdateReports(); + xBTUS5Reporter.AddTradeTPInReports(); + XBTUS5UpdateReports(); } // // Runs when a Position Got Stop Loss ... -void XUSPY5OnSL( +void XBTUS5OnSL( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XUSPY5IssueSLAlert(signal); + XBTUS5IssueSLAlert(signal); // // Remove Signal From Guard Protector ... - xUSPY5Guard.Remove(signal.ticket); - xUSPY5Guard.RemoveSupport(signal.ticket); + xBTUS5Guard.Remove(signal.ticket); + xBTUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xUSPY5Reporter.AddTradeSLInReports(); - XUSPY5UpdateReports(); + xBTUS5Reporter.AddTradeSLInReports(); + XBTUS5UpdateReports(); } // // Runs when a Position Risk Free ... -void XUSPY5OnRF( +void XBTUS5OnRF( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XUSPY5IssueRFAlert(signal); + XBTUS5IssueRFAlert(signal); // // Remove Signal From Guard Protector ... // since RiskFree Signals has SL ... - xUSPY5Guard.Remove(signal.ticket); - xUSPY5Guard.RemoveSupport(signal.ticket); + xBTUS5Guard.Remove(signal.ticket); + xBTUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xUSPY5Reporter.AddTradeSLInReports(); - XUSPY5UpdateReports(); + xBTUS5Reporter.AddTradeSLInReports(); + XBTUS5UpdateReports(); } // // Runs when a Position Force Closed ... -void XUSPY5OnFC( +void XBTUS5OnFC( XSignal &signal // Specified Signal ) { // // Issue Propper Alert ... - XUSPY5IssueFCAlert(signal); + XBTUS5IssueFCAlert(signal); // // Remove Signal From Guard Protector ... - xUSPY5Guard.Remove(signal.ticket); - xUSPY5Guard.RemoveSupport(signal.ticket); + xBTUS5Guard.Remove(signal.ticket); + xBTUS5Guard.RemoveSupport(signal.ticket); // // Update Reports ... - xUSPY5Reporter.AddTradeSLInReports(); - XUSPY5UpdateReports(); + xBTUS5Reporter.AddTradeSLInReports(); + XBTUS5UpdateReports(); } // // Runs when a Position Guarded ... -void XUSPY5OnGuard( +void XBTUS5OnGuard( XSignal &signal, // Specified Signal ENUM_X_GUARD_REASONS reason, // Reason of Guard Applied string message, // Guard Returned Message @@ -1088,17 +1088,17 @@ void XUSPY5OnGuard( LogMessage(message); // - xUSPY5MEnableProvider = false; + xBTUS5MEnableProvider = false; } // // Issue Propper Alert ... - XUSPY5IssueGuardAlert(signal, reason, isStopOut); + XBTUS5IssueGuardAlert(signal, reason, isStopOut); // // Update Reports ... - xUSPY5Reporter.AddTradeSLInReports(); - XUSPY5UpdateReports(); + xBTUS5Reporter.AddTradeSLInReports(); + XBTUS5UpdateReports(); } // @@ -1119,16 +1119,16 @@ void XUSPY5OnGuard( // // Calculating Volume for Tradings ... -double XUSPY5CalculateVolume( +double XBTUS5CalculateVolume( double forceMultiplier = 0 // some times we get more than one signal at the same time, here we increase volume using this ... ) { // // Check Open Trades ... - int openSignals = xUSPY5Trader.Count(); + int openSignals = xBTUS5Trader.Count(); // - double result = xUSPY5VolumeManager.CalculateVolume( + double result = xBTUS5VolumeManager.CalculateVolume( openSignals, _Symbol); @@ -1153,20 +1153,20 @@ double XUSPY5CalculateVolume( // // Update Report Info ... -void XUSPY5UpdateReports() +void XBTUS5UpdateReports() { // - double staticVolume = xUSPY5VolumeManager.GetStaticVolume(); - string staticVolumeCalculationMethod = EnumToString(xUSPY5StaticVolumeMethod); - double maxAllowedVolume = xUSPY5VolumeManager.GetMaxAllowedVolume(); - double volumeIncreaseMultiplier = xUSPY5VolumeManager.GetVolumeMultiplier(); - double balanceGowingToApplyMultiplier = xUSPY5VolumeManager.GetIncreaseMultiplierBalance(); + double staticVolume = xBTUS5VolumeManager.GetStaticVolume(); + string staticVolumeCalculationMethod = EnumToString(xBTUS5StaticVolumeMethod); + double maxAllowedVolume = xBTUS5VolumeManager.GetMaxAllowedVolume(); + double volumeIncreaseMultiplier = xBTUS5VolumeManager.GetVolumeMultiplier(); + double balanceGowingToApplyMultiplier = xBTUS5VolumeManager.GetIncreaseMultiplierBalance(); - double balanceGrowingToIncreaseMaxAllowedVolume = xUSPY5VolumeManager.GetIncreaseMaxAllowedVolumeBalance(); + double balanceGrowingToIncreaseMaxAllowedVolume = xBTUS5VolumeManager.GetIncreaseMaxAllowedVolumeBalance(); // // Update Reports Volume Info ... - xUSPY5Reporter.UpdateReportsVolumeInfo( + xBTUS5Reporter.UpdateReportsVolumeInfo( staticVolume, staticVolumeCalculationMethod, maxAllowedVolume, @@ -1176,24 +1176,24 @@ void XUSPY5UpdateReports() // // Calculate Max Allowed Drawdown ... - double minBalanceForTradeBasedOnBalance = xUSPY5Trader.GetMinBalanceForOpenTrades(); - xUSPY5Reporter.UpdateMinBalanceForOpenTradesInReports(minBalanceForTradeBasedOnBalance); + double minBalanceForTradeBasedOnBalance = xBTUS5Trader.GetMinBalanceForOpenTrades(); + xBTUS5Reporter.UpdateMinBalanceForOpenTradesInReports(minBalanceForTradeBasedOnBalance); } // -// Reset XUSPY5 Info Buffers ... -void XUSPY5ResetCollectors() +// Reset XBTUS5 Info Buffers ... +void XBTUS5ResetCollectors() { // // Reset Calculations Buffers and Variables ... - xUSPY5MaxDrawUp = 0; - xUSPY5MaxDrawDown = 0; + xBTUS5MaxDrawUp = 0; + xBTUS5MaxDrawDown = 0; // - xUSPY5Trader.Reset(); - xUSPY5Reporter.Reset(); - xUSPY5Collector.Reset(); - xUSPY5VolumeManager.ResetForceVolumeMultiplier(); + xBTUS5Trader.Reset(); + xBTUS5Reporter.Reset(); + xBTUS5Collector.Reset(); + xBTUS5VolumeManager.ResetForceVolumeMultiplier(); } // @@ -1206,7 +1206,7 @@ void XUSPY5ResetCollectors() // // Send Alert ... -void XUSPY5IssueAlert(string message) +void XBTUS5IssueAlert(string message) { // // Validate Args ... @@ -1216,7 +1216,7 @@ void XUSPY5IssueAlert(string message) } // - if (xUSPY5EnableAlerts) + if (xBTUS5EnableAlerts) { SendAlert(message); } @@ -1228,7 +1228,7 @@ void XUSPY5IssueAlert(string message) // // Send Take Profit Alert on Specific Signal ... -void XUSPY5IssueTPAlert( +void XBTUS5IssueTPAlert( XSignal &signal // Specified Signal ) { @@ -1236,15 +1236,15 @@ void XUSPY5IssueTPAlert( string message = ""; // - message = xUSPY5Trader.GenerateSignalTPComment(signal); + message = xBTUS5Trader.GenerateSignalTPComment(signal); // - XUSPY5IssueAlert(message); + XBTUS5IssueAlert(message); } // // Send Stop Loss Alert on Specific Signal ... -void XUSPY5IssueSLAlert( +void XBTUS5IssueSLAlert( XSignal &signal // Specified Signal ) { @@ -1252,15 +1252,15 @@ void XUSPY5IssueSLAlert( string message = ""; // - message = xUSPY5Trader.GenerateSignalSLComment(signal); + message = xBTUS5Trader.GenerateSignalSLComment(signal); // - XUSPY5IssueAlert(message); + XBTUS5IssueAlert(message); } // // Send Force Close Alert on Specific Signal ... -void XUSPY5IssueFCAlert( +void XBTUS5IssueFCAlert( XSignal &signal // Specified Signal ) { @@ -1268,15 +1268,15 @@ void XUSPY5IssueFCAlert( string message = ""; // - message = xUSPY5Trader.GenerateSignalForceCloseComment(signal); + message = xBTUS5Trader.GenerateSignalForceCloseComment(signal); // - XUSPY5IssueAlert(message); + XBTUS5IssueAlert(message); } // // Send Risk Free Alert on Specific Signal ... -void XUSPY5IssueRFAlert( +void XBTUS5IssueRFAlert( XSignal &signal // Specified Signal ) { @@ -1284,15 +1284,15 @@ void XUSPY5IssueRFAlert( string message = ""; // - message = xUSPY5Trader.GenerateSignalRFComment(signal, 0); + message = xBTUS5Trader.GenerateSignalRFComment(signal, 0); // - XUSPY5IssueAlert(message); + XBTUS5IssueAlert(message); } // // Send Guard Alert on Specific Signal ... -void XUSPY5IssueGuardAlert( +void XBTUS5IssueGuardAlert( XSignal &signal, // Specified Signal ENUM_X_GUARD_REASONS reason, // Specified Guard Reason bool isStopOut = false // Specified StopOut Fired or not @@ -1302,41 +1302,41 @@ void XUSPY5IssueGuardAlert( string message = ""; // - message = xUSPY5Guard.GenerateGuardedSignalComment( + message = xBTUS5Guard.GenerateGuardedSignalComment( signal, reason); // - XUSPY5IssueAlert(message); + XBTUS5IssueAlert(message); } // // Send Initialization Succeed Alert ... -void XUSPY5IssueInitializationSucceedAlert() +void XBTUS5IssueInitializationSucceedAlert() { // - string message = "Initializion of (" + XUSPY5ProviderName + " Provider" + " _ " + _Symbol + " _ " + EnumToString(_Period) + ") Succeeded ..."; - XUSPY5IssueAlert(message); + string message = "Initializion of (" + XBTUS5ProviderName + " Provider" + " _ " + _Symbol + " _ " + EnumToString(_Period) + ") Succeeded ..."; + XBTUS5IssueAlert(message); } // // Send De Initialization Succeed Alert ... -void XUSPY5IssueDeinitializationSucceedAlert() +void XBTUS5IssueDeinitializationSucceedAlert() { // - string message = "De Initializion of (" + XUSPY5ProviderName + " Provider" + ") Succeeded ..."; - XUSPY5IssueAlert(message); + string message = "De Initializion of (" + XBTUS5ProviderName + " Provider" + ") Succeeded ..."; + XBTUS5IssueAlert(message); } // // Send Signal Successfully Execution Alert ... -void XUSPY5IssueSignalExecutionAlert( +void XBTUS5IssueSignalExecutionAlert( XSignal &signal, // Specified Signal string &providers[] // Signal Providers ) { // - string message = xUSPY5Trader.ToString(signal); + string message = xBTUS5Trader.ToString(signal); // string providersMsg = ToString(providers); @@ -1346,12 +1346,12 @@ void XUSPY5IssueSignalExecutionAlert( } // - XUSPY5IssueAlert(message); + XBTUS5IssueAlert(message); } // // Send Signal Execution Alert ... -void XUSPY5IssueSignalExecutionError(int error) +void XBTUS5IssueSignalExecutionError(int error) { // string message = GetSignalExecutionError(error); @@ -1361,7 +1361,7 @@ void XUSPY5IssueSignalExecutionError(int error) } // - XUSPY5IssueAlert(message); + XBTUS5IssueAlert(message); } //